/* Yujju design system — páginas legales (`yj-legal`, migraciones M011–M014).
   Columna de lectura de 720px, fecha de actualización, índice de secciones,
   jerarquía h2/h3/h4 coherente y recuadro destacado. */

.yj-ds .yj-legal {
    padding-bottom: var(--yj-section-y);
}
.yj-ds .yj-legal > .e-con-inner,
.yj-ds .yj-legal.e-con-boxed > .e-con-inner {
    max-width: 720px;
    gap: var(--yj-space-6);
}
.yj-ds .yj-legal .elementor-widget-text-editor {
    font-size: var(--yj-text-md);
    line-height: var(--yj-leading);
    color: var(--yj-text);
}

/* Fecha y entradilla */
.yj-ds .yj-legal .yj-legal__updated p {
    margin: 0;
    font-size: var(--yj-text-sm);
    color: var(--yj-muted);
}
.yj-ds .yj-legal .yj-legal__lead {
    font-size: var(--yj-text-lg);
    color: var(--yj-ink);
}

/* Índice */
.yj-ds .yj-legal .yj-legal__toc nav {
    padding: var(--yj-space-5);
    border: var(--yj-border);
    border-radius: var(--yj-radius);
    background: var(--yj-white);
}
.yj-ds .yj-legal .yj-legal__toc-title {
    margin: 0 0 var(--yj-space-3);
    font-size: var(--yj-text-xs);
    font-weight: 600;
    letter-spacing: var(--yj-tracking-caps);
    text-transform: uppercase;
    color: var(--yj-muted);
}
.yj-ds .yj-legal .yj-legal__toc ol {
    margin: 0;
    padding-left: 0;
    list-style: none; /* los títulos ya traen su numeración */
    columns: 2;
    column-gap: var(--yj-space-6);
    font-size: var(--yj-text-sm);
}
.yj-ds .yj-legal .yj-legal__toc li {
    break-inside: avoid;
    margin-bottom: var(--yj-space-2);
}
.yj-ds .yj-legal .yj-legal__toc a {
    color: var(--yj-text);
    text-decoration: none;
}
.yj-ds .yj-legal .yj-legal__toc a:hover,
.yj-ds .yj-legal .yj-legal__toc a:focus-visible {
    color: var(--yj-primary-strong);
    text-decoration: underline;
}

/* Cuerpo: jerarquía */
.yj-ds .yj-legal .yj-legal__body h2,
.yj-ds .yj-legal .yj-legal__body h3,
.yj-ds .yj-legal .yj-legal__body h4 {
    color: var(--yj-ink);
    letter-spacing: 0;
    text-transform: none;
}
.yj-ds .yj-legal .yj-legal__body h2 {
    margin: var(--yj-space-7) 0 var(--yj-space-3);
    font-family: var(--yj-font-display);
    font-size: var(--yj-h3);
    font-weight: 500;
    line-height: var(--yj-leading-tight);
    scroll-margin-top: calc(var(--yj-space-9) + var(--yj-space-4));
}
.yj-ds .yj-legal .yj-legal__body > :first-child,
.yj-ds .yj-legal .yj-legal__body .elementor-widget-container > :first-child {
    margin-top: 0;
}
.yj-ds .yj-legal .yj-legal__body h3 {
    margin: var(--yj-space-5) 0 var(--yj-space-2);
    font-family: var(--yj-font-body);
    font-size: var(--yj-text-lg);
    font-weight: 600;
}
.yj-ds .yj-legal .yj-legal__body h4 {
    margin: var(--yj-space-4) 0 var(--yj-space-2);
    font-family: var(--yj-font-body);
    font-size: var(--yj-text-md);
    font-weight: 600;
}
.yj-ds .yj-legal .yj-legal__body p,
.yj-ds .yj-legal .yj-legal__body ul,
.yj-ds .yj-legal .yj-legal__body ol {
    margin: 0 0 var(--yj-space-4);
}
.yj-ds .yj-legal .yj-legal__body ul {
    padding-left: var(--yj-space-5);
    list-style: disc;
}
.yj-ds .yj-legal .yj-legal__body li {
    margin-bottom: var(--yj-space-1);
}
.yj-ds .yj-legal .yj-legal__body a {
    color: var(--yj-primary-strong);
    text-decoration: underline;
}

/* Recuadro destacado y cierre */
.yj-ds .yj-legal .yj-legal__callout {
    gap: var(--yj-space-2);
    padding: var(--yj-space-5) var(--yj-space-6);
    background: var(--yj-blush);
    border-left: 3px solid var(--yj-primary);
    border-radius: var(--yj-radius);
}
.yj-ds .yj-legal .yj-legal__callout-title .elementor-heading-title {
    margin: 0;
    font-family: var(--yj-font-display);
    font-size: var(--yj-h4);
    font-weight: 500;
    color: var(--yj-ink);
}
.yj-ds .yj-legal .yj-legal__callout-text p {
    margin: 0 0 var(--yj-space-2);
}
.yj-ds .yj-legal .yj-legal__callout-text p:last-child {
    margin-bottom: 0;
}
.yj-ds .yj-legal .yj-legal__closing p {
    margin: 0;
    padding-top: var(--yj-space-6);
    border-top: var(--yj-border);
    font-family: var(--yj-font-display);
    font-size: var(--yj-h4);
    text-align: center;
    color: var(--yj-ink);
}

@media (max-width: 767px) {
    .yj-ds .yj-legal .yj-legal__toc ol {
        columns: 1;
    }
    .yj-ds .yj-legal .yj-legal__callout {
        padding: var(--yj-space-5);
    }
}
