/* Documentos legales de Chessty: misma identidad que la aplicación, pero
   con medida de lectura y jerarquía de texto propias de un documento. */
:root{
  --bg:#0c0f18; --panel:#171d30; --line:#2b3350;
  --text:#d9dded; --dim:#8790ab;
  --acc:#e2a03f; --acc-hi:#f3bc68; --data:#4fd1e0;
  /* el acento como texto: sobre papel el ámbar claro no contrasta */
  --acc-txt:#e2a03f;
  --titulo:#ffffff; --halo:rgba(226,160,63,.07);
  --caja-alerta:rgba(227,93,118,.09); --texto-alerta:#f3bcc6;
  --caja-aviso:rgba(226,160,63,.1); --texto-aviso:#f0d9a8;
  --marca-bg:#4a1f2a; --marca-fg:#ffb3c0;
  --sutil:rgba(255,255,255,.035); --sutil-2:rgba(255,255,255,.07);
  --raya:rgba(255,255,255,.018); --codigo:rgba(255,255,255,.06);
  --font:'Segoe UI Variable Text','Segoe UI',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --font-display:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
  --font-mono:'Cascadia Mono','SF Mono',Consolas,'Roboto Mono',monospace;
}
/* modo claro: lo aplica tema.js sobre <html> antes del primer pintado */
html.light{
  --bg:#f1eee6; --panel:#ffffff; --line:#ddd7c9;
  --text:#22283c; --dim:#5f6880;
  --acc:#a9711a; --acc-hi:#c68a2c; --data:#0c6c7d; --acc-txt:#7a5210;
  --titulo:#141a2b; --halo:rgba(169,113,26,.06);
  --caja-alerta:#fbe6ea; --texto-alerta:#8d2337;
  --caja-aviso:#fdf2dd; --texto-aviso:#7a5510;
  --marca-bg:#fbe6ea; --marca-fg:#8d2337;
  --sutil:rgba(27,33,53,.05); --sutil-2:rgba(27,33,53,.09);
  --raya:rgba(27,33,53,.028); --codigo:rgba(27,33,53,.07);
}
*{box-sizing:border-box;}
body{
  background:
    radial-gradient(900px 400px at 50% -160px, var(--halo), transparent 70%),
    var(--bg);
  color:var(--text); font-family:var(--font); line-height:1.7;
  max-width:820px; margin:0 auto; padding:30px 22px 90px;
}
header{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:10px;}
header a{color:var(--dim); text-decoration:none; font-size:13px;}
header a:hover{color:var(--text);}
nav.legalnav{display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 26px; padding-bottom:16px; border-bottom:1px solid var(--line);}
nav.legalnav a{
  font-size:12px; color:var(--dim); text-decoration:none; padding:6px 12px;
  border-radius:20px; background:var(--sutil); transition:.15s;
}
nav.legalnav a:hover{color:var(--text); background:var(--sutil-2);}
nav.legalnav a.actual{color:#1d1305; background:var(--acc); font-weight:650;}

h1{font-family:var(--font-display); font-size:30px; font-weight:600; margin:0 0 6px; color:var(--titulo); letter-spacing:-.01em;}
h2{
  font-size:16px; margin:34px 0 10px; color:var(--acc-txt); font-weight:650;
  letter-spacing:.02em; padding-top:14px; border-top:1px solid var(--codigo);
}
h3{font-size:14px; margin:22px 0 7px; color:var(--titulo); font-weight:650;}
p,li,td,th{font-size:14.5px;}
ul,ol{padding-left:24px;} li{margin-bottom:7px;}
a{color:var(--data); text-underline-offset:2px;}
.meta{color:var(--dim); font-size:12.5px; margin-bottom:8px; font-family:var(--font-mono);}
table{border-collapse:collapse; width:100%; margin:14px 0; display:block; overflow-x:auto;}
th,td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
th{background:var(--panel); color:var(--titulo); font-size:13px; font-weight:650;}
tr:nth-child(even) td{background:var(--raya);}
.box{background:var(--panel); border-radius:12px; padding:16px 18px; margin:18px 0; font-size:13.5px; line-height:1.65;}
.box.destacado{border-left:3px solid var(--acc);}
.box.alerta{background:var(--caja-alerta); color:var(--texto-alerta); border-left:3px solid #e35d76;}
mark.pendiente{background:var(--marca-bg); color:var(--marca-fg); padding:2px 7px; border-radius:5px; font-weight:650; font-size:12.5px;}
.aviso-incompleto{background:var(--caja-aviso); color:var(--texto-aviso); border-radius:12px; padding:13px 17px; margin:16px 0; font-size:13px; border-left:3px solid var(--acc);}
.aviso-incompleto code{background:var(--codigo); padding:2px 6px; border-radius:4px; font-family:var(--font-mono);}
code{font-family:var(--font-mono); font-size:.92em; background:var(--codigo); padding:1px 5px; border-radius:4px;}
/* correo troceado contra rastreadores: se lee y copia igual */
.mail{white-space:nowrap; cursor:pointer; color:var(--data); text-decoration:underline; text-underline-offset:2px;}
.mail .at{margin:0 1px;}
.reservado{color:var(--dim); font-style:italic; font-size:13.5px;}
/* El domicilio va troceado en varios elementos para que un rastreador no
   saque una dirección limpia del HTML. Para una persona tiene que leerse y
   copiarse como una sola línea, de ahí que los tramos no se separen. */
   Cada tramo no se parte por dentro, pero la dirección entera sí puede pasar
   a la línea siguiente: en el móvil, forzarla en una sola desbordaría. */
.domicilio > span{white-space:nowrap;}
footer{margin-top:46px; padding-top:18px; border-top:1px solid var(--line); color:var(--dim); font-size:12px; line-height:2;}
footer a{color:var(--dim); text-decoration:none;}
footer a:hover{color:var(--text);}
strong,b{color:var(--titulo); font-weight:650;}
@media print{
  body{background:#fff; color:#000; max-width:none;}
  h1,h2,h3,strong,b{color:#000;} h2{border-top-color:#ccc;}
  nav.legalnav,header{display:none;} a{color:#000;}
  .box{border:1px solid #ccc; background:#f6f6f6; color:#000;}
}
