/* ==========================================================================
   legal.css — Páginas legales (privacidad, aviso legal, etc.)
   ========================================================================== */

/* Shell centrado en la página (mismo eje que el menú) */
.page-legal .legal-shell.wrap {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: 36px;
  box-sizing: border-box;
}

/* Columna de lectura centrada; texto alineado a la izquierda dentro */
.page-legal .legal-col {
  width: 100%;
  max-width: 42rem;
  margin-inline: auto;
  text-align: left;
}

.page-legal .contact > .wrap {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: 36px;
  box-sizing: border-box;
}

.page-legal .crumb {
  padding-top: clamp(20px, 2.5vw, 28px);
  padding-bottom: 8px;
  font-size: .86rem;
  color: var(--ink-soft);
}

.page-legal .crumb a:hover {
  color: var(--ink);
}

.page-legal .crumb span {
  margin: 0 8px;
  opacity: .45;
}

.page-legal .legal-head {
  padding-block: clamp(28px, 3.5vw, 44px) clamp(32px, 4vw, 48px);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: clamp(32px, 4vw, 48px);
}

.page-legal .legal-head .eyebrow {
  margin: 0 0 4px;
}

.page-legal .legal-head h1 {
  font-weight: var(--fw-display);
  font-size: var(--fs-h1);
  line-height: var(--lh-display);
  letter-spacing: var(--track-display);
  color: var(--ink);
  max-width: none;
  margin: 14px 0 16px;
}

.page-legal .legal-head h1 b {
  font-weight: var(--fw-emphasis);
  color: var(--brand);
}

.page-legal .legal-head .lead {
  color: var(--ink-soft);
  font-size: var(--fs-lead);
  line-height: var(--lh-body);
  max-width: none;
  margin: 0;
}

.page-legal .legal-meta {
  margin-top: 22px;
  padding: 18px 22px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: .92rem;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: none;
}

.page-legal .legal-meta p {
  margin: 0 0 8px;
}

.page-legal .legal-meta p:last-child {
  margin-bottom: 0;
}

.page-legal .legal-meta a {
  color: var(--brand);
}

.page-legal .legal-meta a:hover {
  text-decoration: underline;
}

.page-legal .legal-body {
  padding-bottom: clamp(48px, 6vw, 80px);
}

.page-legal .legal-prose {
  max-width: none;
}

.page-legal .legal-prose section {
  margin-bottom: clamp(28px, 3.5vw, 40px);
}

.page-legal .legal-prose h2 {
  font-size: clamp(1.15rem, 1.5vw + .8rem, 1.35rem);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0 0 14px;
  line-height: 1.3;
}

.page-legal .legal-prose p {
  color: var(--ink-soft);
  font-size: .98rem;
  line-height: 1.75;
  margin: 0 0 14px;
}

.page-legal .legal-prose ul {
  margin: 0 0 14px;
  padding-left: 1.25rem;
  color: var(--ink-soft);
  font-size: .98rem;
  line-height: 1.75;
  list-style: disc;
}

.page-legal .legal-prose li {
  margin-bottom: 6px;
}

.page-legal .legal-prose li:last-child {
  margin-bottom: 0;
}

.page-legal .legal-updated {
  margin-top: clamp(32px, 4vw, 48px);
  padding-top: 24px;
  border-top: 1px solid var(--line-soft);
  font-size: .88rem;
  color: var(--ink-soft);
  font-style: italic;
}

.page-legal .legal-meta,
.page-legal .legal-prose,
.page-legal .legal-prose a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 900px) {
  .page-legal .legal-col {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .page-legal .legal-head {
    padding-block: 24px 28px;
    margin-bottom: 28px;
  }

  .page-legal .legal-meta {
    padding: 14px 16px;
    font-size: .86rem;
  }

  .page-legal .legal-prose h2 {
    font-size: 1.12rem;
  }

  .page-legal .legal-prose p,
  .page-legal .legal-prose ul {
    font-size: .92rem;
  }
}
