/* ==========================================================================
   GUARDIO — Impressum (guardio.me/impressum)
   Se carga DESPUÉS de /assets/css/styles.css y reutiliza sus design tokens.
   Ninguna variable ni color nuevo: todo sale del design system de la landing.
   Mismo patrón que /guia/guia.css.
   ========================================================================== */

/* ---------- Contenedor de lectura (línea de texto ≤ ~72ch) ---------- */
.legal-wrap {
  width: 100%;
  max-width: 780px;
  margin-inline: auto;
  padding-inline: clamp(1.1rem, 5vw, 2.25rem);
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

/* ---------- Cabecera ---------- */
.legal-hero { padding: clamp(2.25rem, 6vw, 4rem) 0 clamp(1rem, 2.5vw, 1.5rem); }

.legal-hero h1 {
  font-size: clamp(1.9rem, 1.2rem + 3vw, 2.9rem);
  letter-spacing: -0.03em;
}

.legal-hero .lead {
  margin-top: 1rem;
  font-size: clamp(1.02rem, 1rem + 0.3vw, 1.12rem);
  color: var(--body);
  max-width: 62ch;
}

/* ---------- Bloques ---------- */
.legal-bloque {
  padding-top: clamp(1.4rem, 3vw, 2rem);
  border-top: 1px solid var(--line);
  margin-top: clamp(1.4rem, 3vw, 2rem);
}

.legal-bloque h2 {
  font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem);
  color: var(--ink);
  letter-spacing: -0.015em;
  margin-bottom: 0.7rem;
}

.legal-bloque p {
  color: var(--body);
  margin-bottom: 0.75rem;
  max-width: 68ch;
}

.legal-bloque p:last-child { margin-bottom: 0; }

/* Bloque destacado (aviso sobre el servicio) */
.legal-bloque--nota {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(1.1rem, 3vw, 1.5rem);
  border-top-width: 1px;
}

/* ---------- Datos del titular ---------- */
.legal-datos {
  font-style: normal;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.75;
  background: var(--surface-alt);
  border-radius: var(--radius-sm);
  padding: 1rem 1.15rem;
  max-width: 34ch;
}

/* ---------- Lista de contacto ---------- */
.legal-lista {
  display: grid;
  grid-template-columns: minmax(6.5rem, auto) 1fr;
  gap: 0.4rem 1.1rem;
  align-items: baseline;
  margin: 0;
}

.legal-lista dt {
  font-weight: 700;
  color: var(--muted);
  font-size: 0.92rem;
}

.legal-lista dd {
  margin: 0;
  color: var(--ink);
  font-weight: 600;
}

/* ---------- Traducción de cortesía ---------- */
.legal-cortesia {
  margin-top: clamp(2.25rem, 5vw, 3.25rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(1.25rem, 4vw, 2rem);
}

.legal-cortesia h2 {
  font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  color: var(--ink);
  letter-spacing: -0.015em;
}

.legal-cortesia h3 {
  font-size: 1.02rem;
  color: var(--ink);
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.legal-cortesia p {
  color: var(--body);
  margin-bottom: 0.7rem;
  max-width: 68ch;
}

.legal-nota {
  color: var(--muted);
  font-style: italic;
  font-size: 0.95rem;
}

/* ---------- Pie de la página legal ---------- */
.legal-fecha {
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--muted);
  font-size: 0.9rem;
  text-align: center;
}

/* ---------- Móvil ---------- */
@media (max-width: 34rem) {
  .legal-lista {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  .legal-lista dd { margin-bottom: 0.6rem; }
  .legal-datos { max-width: none; }
}
