/* ============================================================
   RaptorCX — Páginas legales (privacidad, datos, términos)
   Layout de lectura con índice lateral. Usa tokens --rx-* y .rx-prose.
   ============================================================ */

.rx-legal__hero {
  padding: 124px 0 36px; border-bottom: 1px solid var(--rx-border);
  background: linear-gradient(180deg, #f4f0ff 0%, var(--rx-bg-soft) 60%, #fff 100%);
}
.rx-legal__title {
  font-size: clamp(32px, 4.4vw, 48px); font-weight: 600; letter-spacing: -1.2px;
  line-height: 1.05; color: var(--rx-ink); margin: 12px 0 0;
}
.rx-legal__updated {
  display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0;
  font-size: 14px; color: var(--rx-ink-55);
}
.rx-legal__updated svg { width: 16px; height: 16px; }

/* Conmutador entre documentos */
.rx-legal__switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.rx-legal__switch-link {
  font-size: 14px; font-weight: 600; color: var(--rx-ink-70);
  background: #fff; border: 1px solid var(--rx-border); border-radius: 100px;
  padding: 9px 18px; transition: .18s;
}
.rx-legal__switch-link:hover { border-color: var(--rx-purple); color: var(--rx-purple); }
.rx-legal__switch-link.is-current { background: var(--rx-ink); border-color: var(--rx-ink); color: #fff; }

/* Layout: índice + cuerpo */
.rx-legal__grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.rx-legal__aside { position: sticky; top: 96px; }
.rx-legal__toc-title { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rx-ink-40); margin: 0 0 14px; }
.rx-legal__toc a {
  display: block; font-size: 14px; line-height: 1.35; color: var(--rx-ink-55);
  padding: 7px 0 7px 14px; border-left: 2px solid var(--rx-border); transition: .15s;
}
.rx-legal__toc a:hover { color: var(--rx-ink); border-color: var(--rx-purple-lt); }
.rx-legal__toc a.is-active { color: var(--rx-purple); border-color: var(--rx-purple); font-weight: 600; }

/* Cuerpo legal (densidad de lectura) */
.rx-legal__body { max-width: 760px; }
.rx-legal__body h2 {
  font-size: 22px; font-weight: 600; letter-spacing: -.4px; color: var(--rx-ink);
  margin: 40px 0 12px; scroll-margin-top: 96px;
}
.rx-legal__body h2:first-child { margin-top: 0; }
.rx-legal__body p { font-size: 16px; line-height: 1.7; color: var(--rx-ink-70); margin: 0 0 14px; }
.rx-legal__body ul { margin: 0 0 16px; padding-left: 22px; }
.rx-legal__body li { font-size: 16px; line-height: 1.65; color: var(--rx-ink-70); margin: 0 0 8px; }
.rx-legal__body strong { color: var(--rx-ink); font-weight: 600; }
.rx-legal__body a { color: var(--rx-purple); text-decoration: underline; text-underline-offset: 2px; }

/* Tarjeta de responsable */
.rx-legal__responsible {
  margin-top: 48px; padding: 26px 28px; background: var(--rx-bg-soft);
  border: 1px solid var(--rx-border); border-radius: 16px;
}
.rx-legal__responsible h2 { margin-top: 0 !important; font-size: 18px !important; }
.rx-legal__responsible ul { list-style: none; padding: 0; margin: 14px 0 0; }
.rx-legal__responsible li { font-size: 15px; margin-bottom: 8px; }

@media (max-width: 900px) {
  .rx-legal__grid { grid-template-columns: 1fr; gap: 0; }
  .rx-legal__aside { display: none; }   /* en móvil el TOC fijo estorba; el contenido fluye */
}
@media (max-width: 600px) {
  .rx-legal__hero { padding-top: 104px; }
}
