/* Pantalla "Legal" (T&C / Aviso de privacidad, templates/k2dj_agreements/agreement_detail.html).
   Sin referencia en Figma — pantalla propia, mínima, reusando tokens y el patrón de
   title-bar compartido (estructura en shared/components.css .title-bar). */

/* .legal-body/.legal-content: definidos junto a .premios-body/.premios-content
   en shared/components.css (mismo dibujo, distinto nombre por grupo). */

.legal-titlebar__back {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; padding: 0 4px;
    border-radius: var(--radius-sm);
    background: var(--bg-medium);
}
.legal-titlebar__back img { width: 18px; height: 18px; }
.legal-titlebar__back:focus-visible { outline: 2px solid var(--text-title); outline-offset: 2px; }
.legal-titlebar__title {
    margin: 0;
    font-size: var(--fs-16);
    font-weight: var(--fw-medium);
    line-height: 1;
    text-align: center;
    color: var(--text-paragraph);
}

.legal-card {
    background: var(--bg-medium);
    border-radius: var(--radius-sm);
    padding: 20px;
    font-size: var(--fs-14);
    line-height: 1.6;
    color: var(--text-paragraph);
    overflow-wrap: anywhere;
}
.legal-card h1, .legal-card h2, .legal-card h3 {
    font-size: var(--fs-16);
    font-weight: var(--fw-semibold);
    color: var(--text-title);
    margin: 20px 0 8px;
}
.legal-card h1:first-child, .legal-card h2:first-child, .legal-card h3:first-child { margin-top: 0; }
.legal-card p { margin: 0 0 12px; }
.legal-card ul, .legal-card ol { margin: 0 0 12px; padding-left: 20px; }
.legal-card li { margin-bottom: 4px; }
.legal-card strong { color: var(--text-paragraph); font-weight: var(--fw-semibold); }
.legal-card a { color: var(--text-title); }
/* Texto pegado desde Word en el editor del admin trae color/fondo en línea (negro sobre la tarjeta oscura):
   se ignoran para que herede el color del tema. */
.legal-card [style*="color"] { color: inherit !important; background-color: transparent !important; }
.legal-card a [style*="color"], .legal-card a[style*="color"] { color: var(--text-title) !important; }
.legal-card li::marker { color: var(--text-paragraph); }

/* ---------- re-aceptación (templates/k2dj_agreements/agreement_acceptance.html);
   casilla, error y aviso reusan .field/.check/.form-alert de auth/styles.css ---------- */
.legal-accept__lead {
    margin: 0;
    font-size: var(--fs-14);
    line-height: 1.5;
    text-align: center;
    color: var(--text-placeholder);
}
.legal-accept { display: flex; flex-direction: column; gap: 20px; padding-top: 4px; }
.legal-accept .field { gap: 8px; }
