/* AIFER · páginas legales y 404 (agente 6). Usa tokens de base.css. */

/* Cabecera simple: logo sobre negro y el trazo como filo inferior */
.legal-cabecera { background: var(--noche); color: var(--blanco); }
.legal-cabecera__fila {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s-4);
  min-height: var(--header-h);
}
.legal-cabecera__logo { display: inline-flex; align-items: center; min-height: 44px; border-radius: var(--r-campo); }
.legal-cabecera__logo img { height: 2.6rem; width: auto; }
.legal-cabecera__volver {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: var(--t-small); font-weight: 600; color: var(--blanco);
  text-decoration: underline; text-decoration-color: var(--menta);
}
.legal-cabecera__volver:hover { color: var(--menta); }
.legal-cabecera .trazo-linea { height: 3px; border-radius: 0; }

/* Cuerpo */
.legal { padding-block: clamp(2.5rem, 1.5rem + 4vw, 5rem) var(--banda-y); }
.legal__rejilla { display: grid; gap: var(--s-7); }
.legal__titulo { margin-bottom: var(--s-4); }
.legal__fecha { font-size: var(--t-small); color: var(--grafito-suave); }

/* Nota de borrador: QUITAR antes de publicar (buscar "legal-borrador") */
.legal-borrador {
  margin-top: var(--s-5); padding: var(--s-4) var(--s-5);
  border: 1px solid #e6cf7a; border-radius: var(--r-panel);
  background: #fff2c4; color: #4d3800; font-size: var(--t-small);
}
.legal-borrador strong { display: block; font-size: var(--t-base); }

/* Datos del titular pendientes: visibles y fáciles de buscar ("[") */
.dato-pendiente {
  padding: 0 .25em; border-radius: 3px;
  background: #fff2c4; color: #4d3800; font-weight: 600;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}

/* Índice de la página */
.legal-indice { font-size: var(--t-small); }
.legal-indice h2 { font-size: var(--t-small); font-weight: 650; color: var(--grafito-suave); margin-bottom: var(--s-2); }
.legal-indice ol { padding-left: 1.25em; display: grid; gap: var(--s-1); }
.legal-indice a { display: inline-block; padding-block: .3rem; color: var(--grafito); text-decoration-color: var(--linea-clara); }
.legal-indice a:hover { color: var(--pino); text-decoration-color: currentColor; }

/* Texto legal */
.legal-texto { max-width: 65ch; }
.legal-texto h2 {
  font-family: var(--f-texto); font-size: var(--t-3); font-weight: 650; line-height: 1.2; letter-spacing: -0.01em;
  margin-top: var(--s-8); margin-bottom: var(--s-4); padding-top: var(--s-5);
  border-top: 1px solid var(--linea-clara);
}
.legal-texto > section:first-of-type h2, .legal-texto .legal-resumen + section h2 { margin-top: var(--s-6); }
.legal-texto h3 { font-size: 1.0625rem; font-weight: 650; margin-top: var(--s-5); margin-bottom: var(--s-2); }
.legal-texto ul, .legal-texto ol { padding-left: 1.25em; margin-block: .9em; }
.legal-texto li + li { margin-top: .4em; }
.legal-texto p + ul, .legal-texto ul + p { margin-top: .9em; }
.legal-texto a:not(.boton) { color: var(--pino); font-weight: 600; overflow-wrap: anywhere; }

/* Ficha de datos (titular, resumen de privacidad) */
.legal-ficha {
  margin-block: var(--s-5); padding: var(--s-5);
  background: var(--papel); border: 1px solid var(--linea-clara); border-radius: var(--r-panel);
  display: grid; gap: var(--s-3);
}
.legal-ficha div { display: grid; gap: var(--s-1); }
.legal-ficha dt { font-size: var(--t-micro); font-weight: 650; color: var(--grafito-suave); }
.legal-ficha dd { overflow-wrap: anywhere; }

.legal-resumen { margin-top: var(--s-6); }
.legal-resumen > h2 { margin-top: 0; padding-top: 0; border-top: 0; }

@media (min-width: 52rem) {
  .legal-ficha div { grid-template-columns: 11rem 1fr; gap: var(--s-4); }
}

@media (min-width: 64rem) {
  .legal__rejilla { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--s-9); align-items: start; }
  .legal__cabeza { grid-column: 1 / -1; }
  .legal-indice { position: sticky; top: var(--s-6); }
}

/* Pie */
.legal-pie { background: var(--noche); color: var(--gris-oscuro); padding-block: var(--s-7); font-size: var(--t-small); }
.legal-pie__fila { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-4) var(--s-6); align-items: center; }
.legal-pie ul { display: flex; flex-wrap: wrap; gap: 0 var(--s-5); }
.legal-pie a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blanco); text-decoration-color: var(--linea-oscura); }
.legal-pie a:hover, .legal-pie a[aria-current="page"] { text-decoration-color: var(--menta); }
.legal-pie a[aria-current="page"] { color: var(--menta); }

/* 404 */
.pagina-error { background: var(--noche); color: var(--blanco); min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.pagina-error main { flex: 1; display: flex; align-items: center; padding-block: var(--s-8) var(--banda-y); }
.error__titulo { font-size: var(--t-mega); line-height: 1.02; max-width: 11ch; margin-block: var(--s-6) var(--s-5); }
.error__texto { color: var(--gris-oscuro); max-width: 34em; }
.error__acciones { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: var(--s-6); }

/* El trazo cortado: una conexión que no llega a su destino */
.error__trazo { display: flex; align-items: center; gap: var(--s-4); width: min(100%, 22rem); }
.error__trazo span { height: 6px; border-radius: var(--r-pill); }
.error__trazo span:nth-child(1) { flex: 3; background: linear-gradient(90deg, var(--lima), var(--menta)); }
.error__trazo span:nth-child(2) { flex: 0 0 6px; background: var(--menta); }
.error__trazo span:nth-child(3) { flex: 0 0 6px; background: var(--cian); opacity: .55; }
.error__trazo span:nth-child(4) { flex: 1.2; background: var(--cian); opacity: .3; }
