/* ═══════════════════════════════════════════════════════════════════════════
   Leyes · AYA — el sistema de Reset (fondo de noche, azul de enlaces) con el
   oro de AYA para la marca y la acción. Dos temas: el oscuro es la casa; el
   claro es un gris frío de papel de oficina, no crema.
   Lo memorable es UNO: el número del artículo y su línea de tiempo.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --fondo: #050A10;
  --capa: #0B141E;
  --capa-2: #101C29;
  --tinta: #EDF2F7;
  --tinta-2: #A7B4C0;
  --tinta-3: #7D8B98;
  --borde: rgba(170, 198, 220, .16);
  --borde-fuerte: rgba(170, 198, 220, .32);
  --oro: #DEBB6A;
  --oro-tinta: #DEBB6A;
  --sobre-oro: #191204;
  --azul: #6CC0F2;
  --mas: #6FD3A8;
  --mas-fondo: rgba(111, 211, 168, .14);
  --menos: #F0907E;
  --menos-fondo: rgba(240, 144, 126, .13);
  --mark: rgba(222, 187, 106, .28);

  --t-micro: .8125rem;
  --t-chica: .9375rem;
  --t-cuerpo: 1.0625rem;
  --t-ley: 1.125rem;
  --t-h2: 1.375rem;
  --t-h1: clamp(1.75rem, 4.2vw, 2.6rem);
  --t-num: clamp(2.6rem, 9vw, 4.75rem);
  --medida: 68ch;
  --ancho: 1120px;
  --radio: 14px;
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root:not([data-tema="oscuro"]) {
    --fondo: #F5F7FA;
    --capa: #FFFFFF;
    --capa-2: #EDF1F5;
    --tinta: #0E1A26;
    --tinta-2: #44525F;
    --tinta-3: #66737F;
    --borde: rgba(14, 26, 38, .12);
    --borde-fuerte: rgba(14, 26, 38, .26);
    --oro: #DEBB6A;
    --oro-tinta: #7A5C14;
    --azul: #0B64A0;
    --mas: #0B6E4A;
    --mas-fondo: rgba(18, 140, 94, .13);
    --menos: #A63A26;
    --menos-fondo: rgba(196, 72, 48, .11);
    --mark: rgba(222, 187, 106, .45);
    color-scheme: light;
  }
}

:root[data-tema="claro"] {
  --fondo: #F5F7FA;
  --capa: #FFFFFF;
  --capa-2: #EDF1F5;
  --tinta: #0E1A26;
  --tinta-2: #44525F;
  --tinta-3: #66737F;
  --borde: rgba(14, 26, 38, .12);
  --borde-fuerte: rgba(14, 26, 38, .26);
  --oro: #DEBB6A;
  --oro-tinta: #7A5C14;
  --azul: #0B64A0;
  --mas: #0B6E4A;
  --mas-fondo: rgba(18, 140, 94, .13);
  --menos: #A63A26;
  --menos-fondo: rgba(196, 72, 48, .11);
  --mark: rgba(222, 187, 106, .45);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--tinta);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: var(--t-cuerpo);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3 {
  font-family: "Sora", "Inter", sans-serif;
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0;
  text-wrap: balance;
}
p { margin: 0; text-wrap: pretty; }
a { color: var(--azul); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--oro); outline-offset: 3px; border-radius: 4px; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar {
  position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 16px; border-radius: 8px;
  background: var(--oro); color: var(--sobre-oro); font-weight: 600; transform: translateY(-160%);
}
.saltar:focus { transform: none; }

/* ── Botones ─────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 10px 18px; border-radius: 999px; border: 0;
  font: 600 var(--t-chica)/1.2 "Sora", "Inter", sans-serif; text-decoration: none; cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.btn:active { transform: translateY(1px); }
.btn-oro { background: var(--oro); color: var(--sobre-oro); }
.btn-oro:hover { background: #E8C97E; }
.btn-claro { background: var(--capa-2); color: var(--tinta); box-shadow: inset 0 0 0 1px var(--borde); }
.btn-claro:hover { box-shadow: inset 0 0 0 1px var(--borde-fuerte); }
.btn-claro.activo { box-shadow: inset 0 0 0 2px var(--oro); }

/* ── Encabezado ──────────────────────────────────────────────────────────── */
.barra {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in srgb, var(--fondo) 88%, transparent);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--borde);
}
.barra-in {
  max-width: var(--ancho); margin: 0 auto; padding: 10px 16px;
  display: flex; align-items: center; gap: 12px; min-height: 64px;
}
.reset img { height: 26px; width: auto; display: block; }
.reset { display: none; }
.logo-claro { display: none !important; }
:root[data-tema="claro"] .logo-oscuro { display: none !important; }
:root[data-tema="claro"] .logo-claro { display: block !important; }
@media (prefers-color-scheme: light) {
  :root:not([data-tema="oscuro"]) .logo-oscuro { display: none !important; }
  :root:not([data-tema="oscuro"]) .logo-claro { display: block !important; }
}
.sello {
  display: flex; align-items: center; gap: 9px; text-decoration: none; color: var(--tinta);
  font: 700 1.125rem/1 "Sora", sans-serif; letter-spacing: -.02em;
}
.sello img { border-radius: 7px; }
.busca-mini { flex: 1; min-width: 0; }
.busca-mini input {
  width: 100%; min-height: 40px; padding: 8px 14px; border-radius: 999px;
  border: 1px solid var(--borde); background: var(--capa); color: var(--tinta); font: inherit; font-size: var(--t-chica);
}
.busca-mini input::placeholder { color: var(--tinta-3); }
.tema {
  flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--borde);
  background: transparent; color: var(--tinta-2); display: grid; place-items: center; cursor: pointer; margin-left: auto;
}
.busca-mini + .tema { margin-left: 0; }
.tema:hover { color: var(--oro-tinta); border-color: var(--borde-fuerte); }
.barra-app { display: none; }
@media (min-width: 760px) {
  .reset { display: block; padding-right: 14px; border-right: 1px solid var(--borde); }
  .barra-app { display: inline-flex; }
  .busca-mini { max-width: 380px; margin-left: auto; }
  .busca-mini + .tema { margin-left: 0; }
}

/* ── Migas ───────────────────────────────────────────────────────────────── */
.migas { max-width: var(--ancho); margin: 0 auto; padding: 14px 16px 0; }
.migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: var(--t-micro); color: var(--tinta-3); }
.migas li + li::before { content: "/"; margin: 0 8px; color: var(--borde-fuerte); }
.migas a, .migas span { color: var(--tinta-2); text-decoration: none; display: inline-block; padding: 8px 0; }
.migas span { color: var(--tinta-3); }
.migas ol { align-items: center; }
body.articulo .migas, body.historial .migas { max-width: calc(var(--medida) + 64px); }
.migas a:hover { color: var(--tinta); text-decoration: underline; }

/* ── Lienzo ──────────────────────────────────────────────────────────────── */
.lienzo { max-width: var(--ancho); margin: 0 auto; padding: 28px 16px 8px; }
@media (min-width: 900px) { .lienzo { padding: 40px 32px 8px; } .migas { padding: 18px 32px 0; } .barra-in { padding: 10px 32px; } }
.bloque { padding-top: 40px; }
.bloque h2, h2.sub { font-size: var(--t-h2); margin-bottom: 14px; }
h2.sub { margin-top: 32px; }
.entrada { font-size: 1.1875rem; color: var(--tinta-2); max-width: 58ch; margin-top: 14px; line-height: 1.5; }
.nota-bloque { color: var(--tinta-2); max-width: var(--medida); margin-bottom: 16px; font-size: var(--t-chica); }
.aviso {
  max-width: var(--medida); margin: 16px 0; padding: 12px 16px; border-radius: 10px;
  background: var(--capa-2); border-left: 3px solid var(--oro); color: var(--tinta-2); font-size: var(--t-chica);
}
.enlace-fuerte { font-weight: 600; }

/* ── Portada ─────────────────────────────────────────────────────────────── */
.portada-cabeza { padding-top: 40px; padding-bottom: 8px; }
@media (min-width: 900px) { .portada-cabeza { padding-top: 76px; } }
.portada-cabeza h1 { font-size: clamp(2.2rem, 6.4vw, 4.1rem); font-weight: 800; letter-spacing: -.04em; max-width: 15ch; }
.busca-grande { display: flex; gap: 8px; margin-top: 26px; max-width: 720px; flex-wrap: wrap; }
.busca-grande input {
  flex: 1 1 260px; min-width: 0; min-height: 56px; padding: 12px 20px; border-radius: 999px;
  border: 1px solid var(--borde-fuerte); background: var(--capa); color: var(--tinta); font: inherit; font-size: 1.0625rem;
}
.busca-grande input:focus { border-color: var(--oro); outline: none; box-shadow: 0 0 0 3px var(--mark); }
.busca-grande .btn { min-height: 56px; padding: 0 26px; }
.atajos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; max-width: 760px; }
.atajos a {
  padding: 7px 14px; border-radius: 999px; background: var(--capa-2); color: var(--tinta-2);
  font-size: var(--t-chica); text-decoration: none; box-shadow: inset 0 0 0 1px var(--borde);
}
.atajos a:hover { color: var(--tinta); box-shadow: inset 0 0 0 1px var(--borde-fuerte); }

.lista-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 32px; }
@media (min-width: 760px) { .lista-docs { grid-template-columns: 1fr 1fr; } }
.lista-docs li { padding: 12px 0; border-top: 1px solid var(--borde); display: flex; flex-direction: column; gap: 2px; }
.lista-docs a { color: var(--tinta); text-decoration: none; font-weight: 500; }
.lista-docs a:hover { color: var(--oro-tinta); text-decoration: underline; }
.lista-docs span { color: var(--tinta-3); font-size: var(--t-micro); }
.lista-docs.compacta { max-width: 820px; }

.estados { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 16px; }
@media (min-width: 640px) { .estados { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .estados { grid-template-columns: repeat(4, 1fr); } }
.estados a { display: block; padding: 10px 0; color: var(--tinta); text-decoration: none; border-top: 1px solid var(--borde); }
.estados a:hover { color: var(--oro-tinta); }

.cambios { list-style: none; margin: 0 0 14px; padding: 0; max-width: 860px; }
.cambios li { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 12px 0; border-top: 1px solid var(--borde); }
@media (min-width: 760px) { .cambios li { grid-template-columns: 1fr 150px 290px; align-items: baseline; gap: 16px; } }
.cambios a { color: var(--tinta); font-weight: 500; text-decoration: none; }
.cambios a:hover { text-decoration: underline; }
.cambios span { color: var(--tinta-3); font-size: var(--t-chica); }
.cambios .cuenta { color: var(--mas); }

/* ── Entidad ─────────────────────────────────────────────────────────────── */
.lienzo > h1 { font-size: var(--t-h1); }
.fichas { list-style: none; margin: 22px 0 0; padding: 0; max-width: 860px; }
.fichas li { padding: 16px 0; border-top: 1px solid var(--borde); }
.fichas a { font: 600 1.1875rem/1.3 "Sora", sans-serif; color: var(--tinta); text-decoration: none; letter-spacing: -.01em; }
.fichas a:hover { color: var(--oro-tinta); }
.fichas p { color: var(--tinta-3); font-size: var(--t-chica); margin-top: 4px; }

/* ── Documento ───────────────────────────────────────────────────────────── */
.doc-lugar { color: var(--oro-tinta); font-weight: 600; font-size: var(--t-chica); margin-bottom: 8px; }
.doc-cabeza h1 { font-size: var(--t-h1); max-width: 26ch; }
.datos { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 20px 0 0; }
.datos div { display: flex; flex-direction: column; }
.datos dt { font-size: var(--t-micro); color: var(--tinta-3); }
.datos dd { margin: 0; font-weight: 500; }
.doc-fuente { margin-top: 14px; color: var(--tinta-2); font-size: var(--t-chica); max-width: var(--medida); }
.ir { display: flex; align-items: center; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
.ir label { font-weight: 600; font-family: "Sora", sans-serif; }
.ir input {
  width: 120px; min-height: 44px; padding: 8px 14px; border-radius: 10px; border: 1px solid var(--borde-fuerte);
  background: var(--capa); color: var(--tinta); font: inherit;
}
.registro { list-style: none; margin: 0; padding: 0; max-width: 820px; border-left: 2px solid var(--borde-fuerte); }
.registro li { position: relative; padding: 2px 0 16px 20px; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.registro li::before { content: ""; position: absolute; left: -6px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--fondo); box-shadow: inset 0 0 0 2px var(--oro); }
.registro li:first-child::before { background: var(--oro); }
.registro time { font-weight: 600; font-family: "Sora", sans-serif; font-size: var(--t-chica); }
.registro span { color: var(--tinta-2); font-size: var(--t-chica); }
.indice-sec { margin-bottom: 22px; }
.indice-sec h3 { font-size: 1rem; font-weight: 600; color: var(--tinta-2); margin-bottom: 10px; letter-spacing: -.005em; }
.chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.chips a, .chips .retirado, .leyenda-chips a, .leyenda-chips span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 36px; padding: 4px 10px;
  border-radius: 8px; background: var(--capa); color: var(--tinta); text-decoration: none;
  font: 500 var(--t-chica)/1 "Inter", sans-serif; font-variant-numeric: tabular-nums; box-shadow: inset 0 0 0 1px var(--borde);
}
.chips a:hover { box-shadow: inset 0 0 0 1px var(--oro); color: var(--oro-tinta); }
.chips a.cambio, .leyenda-chips a.cambio { box-shadow: inset 0 0 0 1px var(--borde), inset 0 -3px 0 var(--oro); }
.chips a.nuevo, .leyenda-chips a.nuevo { box-shadow: inset 0 0 0 1px var(--mas); color: var(--mas); }
.chips .retirado, .leyenda-chips .retirado { color: var(--tinta-3); text-decoration: line-through; box-shadow: inset 0 0 0 1px var(--borde); background: transparent; }
.leyenda-chips { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; color: var(--tinta-3); font-size: var(--t-micro); }

/* ── Artículo: el número es el héroe ─────────────────────────────────────── */
.art { max-width: calc(var(--medida) + 64px); }
.art-cabeza { margin-bottom: 26px; }
.art-cabeza h1 { display: flex; flex-direction: column; gap: 10px; }
.art-num {
  font: 800 var(--t-num)/.95 "Sora", sans-serif; letter-spacing: -.045em; color: var(--oro-tinta);
  font-variant-numeric: lining-nums;
}
.art-num-chico { font-size: clamp(1.8rem, 5vw, 2.6rem); }
.art-doc { font: 600 clamp(1.05rem, 2.4vw, 1.3rem)/1.3 "Sora", sans-serif; letter-spacing: -.01em; }
.art-doc a { color: var(--tinta); text-decoration: none; }
.art-doc a:hover { text-decoration: underline; }
.art-sec { margin-top: 10px; color: var(--tinta-3); font-size: var(--t-chica); }
.art-texto { font-size: var(--t-ley); line-height: 1.78; max-width: var(--medida); hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.art-texto p + p { margin-top: .85em; }
.art-texto .nota {
  display: inline; font-size: .8em; color: var(--tinta-3); white-space: normal;
  padding: 1px 7px; border-radius: 6px; background: var(--capa-2); margin: 0 2px;
}
.anexo { font-size: var(--t-cuerpo); }

.acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; align-items: center; }
.confirmacion { color: var(--mas); font-size: var(--t-chica); }

/* La línea de tiempo: cada corte de AYA es una marca; la encendida es la que ves. */
.historia { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--borde); max-width: var(--medida); }
.historia h2 { font-size: var(--t-h2); margin-bottom: 18px; }
.historia > p { color: var(--tinta-2); margin-top: 16px; }
.tiempo { list-style: none; margin: 0; padding: 0; display: flex; position: relative; }
.tiempo::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: var(--borde-fuerte); }
.tiempo li { flex: 1; position: relative; padding-top: 24px; min-width: 0; }
.tiempo li::before {
  content: ""; position: absolute; top: 0; left: 0; width: 16px; height: 16px; border-radius: 50%;
  background: var(--fondo); box-shadow: inset 0 0 0 2px var(--tinta-3);
}
.tiempo li.cambio::before { box-shadow: inset 0 0 0 2px var(--oro); background: var(--fondo); }
.tiempo li.activa::before { background: var(--oro); box-shadow: 0 0 0 5px var(--mark); }
.tiempo li.ausente { opacity: .45; }
.tiempo time { display: block; font: 600 var(--t-chica)/1.2 "Sora", sans-serif; padding-right: 6px; }
.tiempo time small { display: block; font: 500 var(--t-micro)/1.3 "Inter", sans-serif; color: var(--tinta-3); }
.tiempo span { display: block; font-size: var(--t-micro); color: var(--tinta-3); margin-top: 2px; }
.tiempo li.cambio span { color: var(--oro-tinta); }

.vecinos { display: flex; justify-content: space-between; gap: 12px; margin-top: 36px; max-width: var(--medida); }
.vecinos a {
  display: flex; flex-direction: column; padding: 12px 16px; border-radius: var(--radio); text-decoration: none;
  color: var(--tinta); background: var(--capa); box-shadow: inset 0 0 0 1px var(--borde); font-weight: 600; min-width: 0;
}
.vecinos a[rel="next"] { text-align: right; margin-left: auto; }
.vecinos a:hover { box-shadow: inset 0 0 0 1px var(--oro); }
.vecinos a span { font-weight: 400; font-size: var(--t-micro); color: var(--tinta-3); }

.llevar {
  margin-top: 36px; max-width: var(--medida); padding: 18px 20px; border-radius: var(--radio);
  background: var(--capa-2); display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
}
.llevar p { color: var(--tinta-2); }
.llevar strong { color: var(--tinta); }
@media (min-width: 700px) { .llevar { flex-direction: row; align-items: center; justify-content: space-between; } .llevar .btn { flex: none; } }
.fuente-art { margin-top: 26px; color: var(--tinta-3); font-size: var(--t-micro); max-width: var(--medida); }

/* ── Historial ───────────────────────────────────────────────────────────── */
.historial .tiempo { margin: 4px 0 26px; max-width: var(--medida); }
.comparar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 22px; }
.comparar label, .filtros label { display: flex; flex-direction: column; gap: 4px; font-size: var(--t-micro); color: var(--tinta-3); }
.comparar select, .filtros select {
  min-height: 44px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--borde-fuerte);
  background: var(--capa); color: var(--tinta); font: inherit; font-size: var(--t-chica);
}
.dif-cabeza { max-width: var(--medida); display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; color: var(--tinta-2); }
.leyenda { display: flex; flex-wrap: wrap; gap: 10px; font-size: var(--t-chica); }
.leyenda-fuente { font-size: var(--t-micro); color: var(--tinta-3); }
.vista { display: flex; flex-wrap: wrap; gap: 8px; }
.dif ins { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; text-decoration-color: var(--mas); background: var(--mas-fondo); color: inherit; border-radius: 3px; padding: 0 1px; }
.dif del { text-decoration: line-through; text-decoration-color: var(--menos); text-decoration-thickness: 2px; background: var(--menos-fondo); color: var(--tinta-2); border-radius: 3px; padding: 0 1px; }
.leyenda ins { text-decoration: underline; text-decoration-color: var(--mas); text-decoration-thickness: 2px; background: var(--mas-fondo); padding: 2px 8px; border-radius: 6px; }
.leyenda del { text-decoration: line-through; text-decoration-color: var(--menos); text-decoration-thickness: 2px; background: var(--menos-fondo); padding: 2px 8px; border-radius: 6px; }
.dif.solo-nuevo del { display: none; }
.dif.solo-nuevo ins { background: none; text-decoration: none; }

/* ── Búsqueda ────────────────────────────────────────────────────────────── */
.buscar .busca-grande { margin-top: 4px; }
.filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-top: 16px; }
.filtro-doc { margin-top: 14px; color: var(--tinta-2); }
.resultados { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.resultados li { padding: 16px 0; border-top: 1px solid var(--borde); }
.resultados a { text-decoration: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.r-num { font: 700 1.125rem/1.2 "Sora", sans-serif; color: var(--oro-tinta); letter-spacing: -.01em; }
.r-doc { color: var(--tinta); font-weight: 500; }
.resultados a:hover .r-doc { text-decoration: underline; }
.resultados p { color: var(--tinta-2); margin-top: 6px; font-size: var(--t-chica); line-height: 1.6; }
mark { background: var(--mark); color: inherit; border-radius: 3px; padding: 0 2px; }
.paginas { display: flex; gap: 18px; margin: 18px 0; font-weight: 600; }

/* ── Novedades ───────────────────────────────────────────────────────────── */
.cortes { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.cortes a { padding: 7px 14px; border-radius: 999px; background: var(--capa-2); color: var(--tinta-2); text-decoration: none; font-size: var(--t-chica); }
.cortes a[aria-current] { background: var(--oro); color: var(--sobre-oro); font-weight: 600; }
.nov-doc { padding: 22px 0 6px; border-top: 1px solid var(--borde); margin-top: 18px; }
.nov-doc h2 { font-size: 1.1875rem; margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.nov-doc h2 a { color: var(--tinta); text-decoration: none; }
.nov-doc h2 a:hover { text-decoration: underline; }
.nov-doc h2 span { font: 400 var(--t-chica) "Inter", sans-serif; color: var(--tinta-3); letter-spacing: 0; }

/* ── Vacío / 404 ─────────────────────────────────────────────────────────── */
.vacio h1 { font-size: var(--t-h1); }
.vacio > p { margin-top: 12px; color: var(--tinta-2); }

/* ── Pie ─────────────────────────────────────────────────────────────────── */
.pie { margin-top: 72px; border-top: 1px solid var(--borde); background: var(--capa); }
.pie-in { max-width: var(--ancho); margin: 0 auto; padding: 36px 16px 48px; display: grid; gap: 32px; }
@media (min-width: 900px) { .pie-in { grid-template-columns: 1.1fr 1fr; padding: 48px 32px 56px; gap: 56px; } }
.pie-app { display: flex; gap: 16px; align-items: flex-start; }
.pie-app img { border-radius: 14px; flex: none; }
.pie-app > div { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pie-titulo { font: 700 1.25rem/1.25 "Sora", sans-serif; letter-spacing: -.02em; }
.pie-app p:not(.pie-titulo) { color: var(--tinta-2); font-size: var(--t-chica); }
.pie-legal p { color: var(--tinta-3); font-size: var(--t-micro); line-height: 1.6; }
.pie-legal strong { color: var(--tinta-2); }
.pie-legal nav { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; font-size: var(--t-chica); }
.pie-legal nav a { color: var(--tinta-2); }

/* ── Aviso de la app (móvil, se puede cerrar y se recuerda) ──────────────── */
.aviso-app {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50;
  display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 12px; border-radius: 16px;
  background: var(--capa); box-shadow: 0 0 0 1px var(--borde-fuerte), 0 18px 40px -18px rgba(0,0,0,.6);
}
.aviso-app[hidden] { display: none; }
.aviso-app img { border-radius: 9px; flex: none; }
.aviso-app p { flex: 1; font-size: var(--t-micro); line-height: 1.35; color: var(--tinta-2); }
.aviso-app strong { color: var(--tinta); }
.aviso-app .btn { min-height: 40px; padding: 8px 14px; flex: none; }
.aviso-app .cerrar { flex: none; width: 36px; height: 36px; border: 0; background: transparent; color: var(--tinta-3); font-size: 1.4rem; cursor: pointer; border-radius: 50%; }
@media (min-width: 760px) { .aviso-app { display: none !important; } }
body.con-aviso { padding-bottom: 84px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

@media print {
  .barra, .migas, .acciones, .vecinos, .llevar, .pie, .aviso-app, .historia, .ir { display: none !important; }
  body { background: #fff; color: #000; }
  .art-num { color: #000; }
}
