/* ==========================================================================
   LEGAL — páginas de texto largo (aviso legal, privacidad, cookies, 404)
   ========================================================================== */

.legal {
  padding-top: calc(var(--cabecera-alto) + clamp(3rem, 8vw, 5rem));
  padding-bottom: var(--seccion);
}
.legal__contenido {
  max-width: 44rem;
}
.legal h1 {
  font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem);
  margin-bottom: 0.75rem;
}
.legal__fecha {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--texto-tenue);
  margin-bottom: 3rem;
}
.legal h2 {
  font-size: 1.375rem;
  margin: 3rem 0 1rem;
}
.legal h3 {
  font-size: 1.0625rem;
  margin: 2rem 0 0.75rem;
}
.legal p,
.legal li {
  color: var(--texto-suave);
}
.legal p + p {
  margin-top: 1rem;
}
.legal ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 1rem 0;
}
.legal li + li {
  margin-top: 0.5rem;
}
.legal a {
  color: var(--texto);
  text-decoration: underline;
  text-decoration-color: rgba(34, 224, 232, 0.45);
  text-underline-offset: 3px;
}
.legal strong {
  color: var(--texto);
  font-weight: 600;
}

.tabla-datos {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: var(--t-sm);
}
.tabla-datos th,
.tabla-datos td {
  text-align: left;
  vertical-align: top;
  padding: 0.75rem 1rem 0.75rem 0;
  border-bottom: 1px solid var(--borde);
}
.tabla-datos th {
  width: 38%;
  font-weight: 500;
  color: var(--texto);
}
.tabla-datos td {
  color: var(--texto-suave);
}
.tabla-scroll {
  overflow-x: auto;
}

.volver {
  margin-top: 3.5rem;
}

/* 404 */
.error404 {
  min-height: 70vh;
  display: grid;
  align-content: center;
}
.error404 .terminal {
  max-width: 34rem;
  margin: 2rem 0 2.5rem;
}
