/* Páginas legales e informativas: lectura cómoda, imprimible. */
body { background: var(--cream); color: var(--ink); font-family: var(--font-body); line-height: 1.7; }
a { color: inherit; }
.brand-script { font-family: var(--font-script); font-size: 2.2rem; line-height: 0.8; background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: 0.2em; }
.brand-sub { display: block; font-size: 0.6rem; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 500; }
.legal-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem clamp(1rem, 5vw, 3rem); background: rgba(247, 243, 239, 0.92); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(11, 10, 12, 0.08); }
.legal-logo { display: inline-flex; flex-direction: column; text-decoration: none; }
.legal-cta { padding: 0.65rem 1.2rem; border-radius: 999px; background: #15803d; color: #fff; text-decoration: none; font-weight: 600; font-size: 0.85rem; }
.legal-main { max-width: 52rem; margin: 0 auto; padding: 2.5rem clamp(1rem, 5vw, 2rem) 4rem; }
.legal-crumbs { font-size: 0.85rem; color: var(--fog); }
.legal-crumbs a { text-decoration: none; }
h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.05; margin: 1rem 0 0.5rem; }
.legal-updated { color: var(--fog); font-size: 0.85rem; }
.legal-intro { font-size: 1.1rem; margin-top: 1.25rem; }
.legal-toc { margin: 2rem 0; padding: 1.25rem 1.5rem; border-radius: 18px; background: #fff; border: 1px solid rgba(11, 10, 12, 0.08); }
.legal-toc p { font-weight: 600; margin-bottom: 0.4rem; }
.legal-toc ol { list-style: none; display: grid; gap: 0.25rem; }
.legal-toc a { text-decoration: none; color: var(--fog); }
.legal-toc a:hover { color: var(--ink); }
.legal-body h2 { font-family: var(--font-display); font-weight: 400; font-size: 1.6rem; margin: 2.5rem 0 0.75rem; scroll-margin-top: 6rem; }
.legal-body p + p { margin-top: 0.75rem; }
.legal-body ul { list-style: disc; padding-left: 1.25rem; display: grid; gap: 0.35rem; margin: 0.75rem 0; }
.legal-body a { color: #b4124f; text-underline-offset: 3px; }
.legal-owner { list-style: none !important; padding: 1.25rem 1.5rem !important; background: #fff; border-radius: 18px; border: 1px solid rgba(11, 10, 12, 0.08); }
.legal-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; display: block; overflow-x: auto; }
.legal-table th, .legal-table td { text-align: left; padding: 0.6rem; border-bottom: 1px solid rgba(11, 10, 12, 0.1); vertical-align: top; }
.credits-list { list-style: none !important; padding: 0 !important; }
.credits-list li { padding: 0.75rem 0; border-bottom: 1px solid rgba(11, 10, 12, 0.08); }
.pqrs-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.5rem; background: #fff; border-radius: 18px; border: 1px solid rgba(11, 10, 12, 0.08); }
.pqrs-form label { display: grid; gap: 0.35rem; font-size: 0.9rem; font-weight: 500; }
.pqrs-form input, .pqrs-form select, .pqrs-form textarea { font: inherit; padding: 0.75rem 0.9rem; border-radius: 12px; border: 1px solid rgba(11, 10, 12, 0.18); background: var(--cream); }
.pqrs-form input:focus, .pqrs-form select:focus, .pqrs-form textarea:focus { outline: 2px solid var(--rosa); outline-offset: 1px; }
.pqrs-full, .pqrs-actions, .pqrs-note, .pqrs-error { grid-column: 1 / -1; }
.pqrs-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pqrs-btn { padding: 0.85rem 1.4rem; border-radius: 999px; border: 1px solid var(--ink); font-weight: 600; cursor: pointer; background: transparent; }
.pqrs-btn--wa { background: #15803d; border-color: #15803d; color: #fff; }
.pqrs-note { font-size: 0.8rem; color: var(--fog); }
.pqrs-error { color: #b4124f; font-size: 0.9rem; }
.legal-footer { padding: 2rem clamp(1rem, 5vw, 3rem) 3rem; background: var(--void); color: rgba(247, 243, 239, 0.75); font-size: 0.85rem; display: grid; gap: 0.35rem; }
.legal-footer strong { color: #fff; }
.legal-footer-links a { text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; }
@media (max-width: 640px) { .pqrs-form { grid-template-columns: 1fr; } }
@media print { .legal-header, .legal-footer, .legal-toc, .pqrs-form { display: none; } body { background: #fff; } }
