/* Páginas legales */
.page-legal .legal-content {
    max-width: 820px;
    margin: 0 auto;
    padding: var(--space-xl);
}

.page-legal .legal-content.card-3d {
    text-align: left;
}

.legal-meta {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
}

.legal-content h2 {
    font-size: 1.25rem;
    margin: var(--space-xl) 0 var(--space-md);
    color: var(--color-text);
}

.legal-content h2:first-of-type {
    margin-top: 0;
}

.legal-content h3 {
    font-size: 1.05rem;
    margin: var(--space-lg) 0 var(--space-sm);
    color: var(--color-text);
}

.legal-content p,
.legal-content li {
    color: var(--color-text-muted);
    line-height: 1.75;
    margin-bottom: var(--space-md);
}

.legal-content ul,
.legal-content ol {
    margin: 0 0 var(--space-md) var(--space-lg);
    padding: 0;
}

.legal-content li {
    margin-bottom: var(--space-sm);
}

.legal-content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-content a:hover {
    color: var(--color-primary-light, #a78bfa);
}

.legal-toc {
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    margin-bottom: var(--space-xl);
}

.legal-toc h2 {
    margin-top: 0;
    font-size: 1rem;
}

.legal-toc ul {
    margin-bottom: 0;
}

.checkout-legal-accept {
    margin: var(--space-lg) 0;
}

.checkout-legal-accept .checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    cursor: pointer;
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--color-text-muted);
}

.checkout-legal-accept input[type="checkbox"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

.checkout-legal-accept a {
    color: var(--color-primary);
    text-decoration: underline;
}

.footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md) var(--space-lg);
    justify-content: center;
    margin-bottom: var(--space-sm);
}

.footer-legal a {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    transition: color var(--transition-base);
}

.footer-legal a:hover {
    color: var(--color-primary);
}
