/* Estilos de las páginas legales de NimBox SRE. Comparten los tokens de diseño
   de la landing. Fuentes self-hosted por ruta absoluta para funcionar desde
   cualquier subdirectorio (/aviso-legal/, /privacidad/, /cookies/). */

@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/assets/fonts/rP2Hp2ywxg089UriCZOIHQ.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/assets/fonts/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fonts/aFTR7PB1QTsUX8KYvumzEYOtbQ.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root { --ink:#111215; --paper:#faf9f6; --soft:#efede8; --line:#dedbd5; --accent:#e8462b; --muted:#686865; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; line-height:1.7; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { width:min(820px,calc(100% - 48px)); margin:auto; }

.legal-top { border-bottom:1px solid var(--line); background:rgba(250,249,246,.9); }
.legal-top .wrap { display:flex; align-items:center; justify-content:space-between; min-height:72px; gap:16px; }
.legal-top img { height:30px; width:auto; display:block; }
.legal-top .back { font:500 .8rem "DM Mono",monospace; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.legal-top .back:hover { color:var(--accent); text-decoration:none; }

main.legal { padding:64px 0 88px; }
.legal .eyebrow { font:500 .7rem "DM Mono",monospace; color:var(--accent); letter-spacing:.15em; text-transform:uppercase; }
.legal h1 { font-size:clamp(2rem,4vw,3rem); font-weight:500; letter-spacing:-.04em; line-height:1.05; margin:14px 0 6px; }
.legal .updated { color:var(--muted); font-size:.85rem; margin:0 0 40px; }
.legal h2 { font-size:1.35rem; font-weight:600; letter-spacing:-.02em; margin:44px 0 14px; padding-top:20px; border-top:1px solid var(--line); }
.legal h3 { font-size:1.05rem; font-weight:600; margin:26px 0 8px; }
.legal p, .legal li { color:#2a2b2e; font-size:1rem; }
.legal ul { padding-left:22px; }
.legal li { margin:6px 0; }
.legal .box { background:var(--soft); border:1px solid var(--line); padding:20px 24px; margin:24px 0; font-size:.95rem; }
.legal .box p { margin:6px 0; }
.legal dl { margin:0; display:grid; grid-template-columns:max-content 1fr; gap:6px 18px; }
.legal dt { font-weight:600; }
.legal dd { margin:0; }

.legal-foot { border-top:1px solid var(--line); background:#0b0c0e; color:#8f8f8b; padding:26px 0; font-size:.8rem; }
.legal-foot .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.legal-foot a { color:#fff; }
.legal-foot nav { display:flex; gap:18px; flex-wrap:wrap; }

@media(max-width:560px){ .legal dl{ grid-template-columns:1fr; gap:2px; } .legal dt{ margin-top:10px; } }
