/* Documentación pública: lectura, inventario y navegación de secciones. */
.sv-page-legal .sv-page-hero { padding-bottom:56px; }
.sv-page-legal .sv-page-hero-copy { max-width:850px; }
.sv-legal-documents { border-block:1px solid var(--sv-line); background:var(--sv-surface); }
.sv-legal-documents .sv-wrap { display:flex; gap:30px; flex-wrap:wrap; padding-block:18px; }
.sv-legal-documents a { color:var(--sv-muted); font-size:14px; padding-block:4px; }
.sv-legal-documents a[aria-current] { color:var(--sv-blue); font-weight:700; border-bottom:2px solid var(--sv-accent); }
.sv-legal-section { padding-block:64px 88px; }
.sv-legal-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:60px; align-items:start; }
.sv-legal-index { position:sticky; top:28px; display:grid; gap:12px; font-size:13px; line-height:1.5; padding-right:24px; border-right:1px solid var(--sv-line); }
.sv-legal-index strong { color:var(--sv-navy); margin-bottom:6px; }
.sv-legal-index a { color:var(--sv-muted); }
.sv-legal-index a:hover { color:var(--sv-blue); text-decoration:underline; text-underline-offset:4px; }
.sv-legal-content { max-width:850px; min-width:0; }
.sv-legal-content section { scroll-margin-top:24px; }
.sv-legal-content h2 { font-size:clamp(23px,2.2vw,30px); letter-spacing:-.6px; margin-bottom:18px; }
.sv-legal-content p { color:var(--sv-muted); font-size:15px; line-height:1.85; margin-bottom:18px; }
.sv-legal-content a { color:var(--sv-blue); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.sv-legal-identity { padding:28px 30px; background:var(--sv-pale); border-radius:8px; margin-bottom:38px; }
.sv-legal-identity dl { margin:0; display:grid; gap:14px; font-size:14px; }
.sv-legal-identity dl>div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:20px; }
.sv-legal-identity dt { color:var(--sv-navy); font-weight:700; }
.sv-legal-identity dd { margin:0; overflow-wrap:anywhere; }
.sv-legal-external { display:inline-block; margin-top:18px; font-size:14px; }
.sv-legal-copy { padding-block:0 22px; margin-bottom:26px; border-bottom:1px solid var(--sv-line); }
.sv-legal-inventory { margin-bottom:44px; }
.sv-cookie-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; line-height:1.6; margin-block:22px; }
.sv-cookie-table th { color:var(--sv-navy); text-align:left; font-weight:700; background:var(--sv-pale); padding:14px 12px; }
.sv-cookie-table td { vertical-align:top; padding:18px 12px; border-bottom:1px solid var(--sv-line); color:var(--sv-muted); overflow-wrap:anywhere; }
.sv-cookie-table td:first-child { width:25%; }
.sv-cookie-table td strong { display:block; color:var(--sv-navy); }
.sv-cookie-table td span { display:block; font-size:11px; margin-top:5px; }
.sv-cookie-table tbody tr:nth-child(even) { background:var(--sv-surface); }
.sv-legal-inventory .sv-btn { text-decoration:none; }
.sv-legal-links ul { list-style:none; margin:0; padding:0; display:grid; gap:16px; font-size:14px; }
.sv-legal-links a { display:inline-flex; align-items:center; gap:10px; }
.sv-legal-links .sv-icon { width:16px; height:16px; }
.sv-legal-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:950px) {
 .sv-legal-layout { grid-template-columns:1fr; gap:30px; }
 .sv-legal-index { position:static; padding:0 0 22px; border-right:0; border-bottom:1px solid var(--sv-line); display:flex; flex-wrap:wrap; gap:10px 20px; }
 .sv-legal-index strong { width:100%; margin:0 0 5px; }
}
@media(max-width:680px) {
 .sv-legal-documents .sv-wrap { gap:16px; padding-block:14px; }
 .sv-legal-documents a { font-size:12px; }
 .sv-legal-section { padding-block:38px 54px; }
 .sv-legal-identity { padding:22px; }
 .sv-legal-identity dl>div { grid-template-columns:1fr; gap:3px; }
 .sv-cookie-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 .sv-cookie-table tbody,.sv-cookie-table tr,.sv-cookie-table td { display:block; width:100%; }
 .sv-cookie-table tbody tr { border:1px solid var(--sv-line); border-radius:6px; margin-bottom:16px; padding:8px 14px; }
 .sv-cookie-table td,.sv-cookie-table td:first-child { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; width:100%; border:0; padding:10px 0; }
 .sv-cookie-table td::before { content:attr(data-label); font-weight:700; color:var(--sv-navy); }
}
