/* ============================================================
   Hoja compartida por aviso-legal, privacidad y cookies.
   Mismos tokens que index.html para que no haya salto visual.
   ============================================================ */
:root{
  --bg:#f6f1ea; --surface:#fffdfa; --surface-2:#efe7da;
  --ink:#1b1512; --ink-2:#574f48; --ink-3:#877c70;
  --dark:#16110e; --dark-2:#211915; --on-dark:#f4ece1; --on-dark-2:#b6a899;
  --red:#ed2629; --red-2:#c81d20; --red-soft:#fbe4e3; --on-red:#fff;
  --line:#e2d7c6; --line-d:#34281f;
  --r:16px; --r-l:20px; --pill:999px;
  --maxw:820px; --pad:clamp(20px,5vw,56px);
  --e:cubic-bezier(.22,1,.36,1);
}
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:100px; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px; line-height:1.7; letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ display:block; max-width:100%; }
a{ color:var(--red-2); text-decoration:underline; text-underline-offset:3px; }
a:hover{ color:var(--red); }
button{ font:inherit; color:inherit; cursor:pointer; border:0; background:none; }
:focus-visible{ outline:2px solid var(--red); outline-offset:3px; border-radius:6px; }
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.skip-link{ position:fixed; top:10px; left:50%; transform:translate(-50%,-150%); z-index:100;
  background:var(--ink); color:var(--bg); padding:12px 20px; border-radius:var(--pill);
  font-weight:600; font-size:14px; text-decoration:none; transition:transform .25s var(--e); }
.skip-link:focus{ transform:translate(-50%,0); }

/* ---------- Cabecera ---------- */
header{ background:var(--dark); color:var(--on-dark); }
header .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:88px; }
.brand-logo{ height:56px; width:auto; object-fit:contain; filter:brightness(0) invert(1); }
.head-right{ display:flex; align-items:center; gap:18px; }
.back{ color:var(--on-dark); text-decoration:none; font-size:15px; font-weight:500; opacity:.85;
  display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.back:hover{ opacity:1; color:#fff; }
.back svg{ width:16px; height:16px; }
.lang{ display:inline-flex; gap:2px; }
.lang button{ min-height:44px; padding:0 7px; color:var(--on-dark); opacity:.55;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:13px; letter-spacing:.04em;
  transition:opacity .25s; }
.lang button:hover{ opacity:1; }
.lang button[aria-pressed="true"]{ opacity:1; color:#fff; }

/* ---------- Cuerpo ---------- */
main{ padding-block:clamp(44px,7vh,76px) clamp(64px,10vh,110px); }
.doc-head{ margin-bottom:clamp(32px,5vh,48px); }
.kicker{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:12.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:14px; }
h1{ font-size:clamp(32px,5.5vw,46px); font-weight:700; letter-spacing:-.03em; line-height:1.05; margin:0; text-wrap:balance; }
.updated{ margin-top:16px; font-size:14.5px; color:var(--ink-3); }
h2{ font-size:clamp(21px,3vw,26px); font-weight:600; letter-spacing:-.02em; line-height:1.2;
  margin:clamp(38px,5vh,52px) 0 14px; scroll-margin-top:100px; }
h3{ font-size:18px; font-weight:600; margin:26px 0 8px; letter-spacing:-.01em; }
p{ margin:0 0 16px; color:var(--ink-2); text-wrap:pretty; }
strong{ color:var(--ink); font-weight:600; }
ul,ol{ margin:0 0 16px; padding-left:22px; color:var(--ink-2); }
li{ margin-bottom:9px; }
li::marker{ color:var(--red); }

/* Índice */
.toc{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:22px 26px; }
.toc h2{ margin:0 0 12px; font-size:15px; letter-spacing:.02em; }
.toc ol{ margin:0; padding-left:20px; }
.toc li{ margin-bottom:6px; font-size:15.5px; }

/* Ficha de datos identificativos */
.data{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:6px 26px; margin-bottom:20px; }
.data dl{ margin:0; display:grid; grid-template-columns:1fr; gap:0; }
@media(min-width:620px){ .data dl{ grid-template-columns:190px 1fr; } }
.data dt{ font-weight:600; color:var(--ink); padding:14px 0 4px; font-size:15px; }
.data dd{ margin:0; padding:0 0 14px; color:var(--ink-2); font-size:15.5px; word-break:break-word; }
@media(min-width:620px){ .data dt{ padding:14px 0; } .data dd{ padding:14px 0; border-top:1px solid var(--line); }
  .data dt{ border-top:1px solid var(--line); } .data dl > :nth-child(1), .data dl > :nth-child(2){ border-top:0; } }

/* Tablas (cookies / bases jurídicas) */
.tbl-wrap{ overflow-x:auto; margin-bottom:20px; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); }
table{ width:100%; border-collapse:collapse; font-size:15px; min-width:560px; }
th,td{ text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
th{ background:var(--surface-2); font-weight:600; color:var(--ink); font-size:13.5px;
  letter-spacing:.03em; text-transform:uppercase; }
tr:last-child td{ border-bottom:0; }
td code{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:13px;
  background:var(--bg); border:1px solid var(--line); border-radius:5px; padding:2px 7px; white-space:nowrap; }

/* Aviso destacado */
.note{ display:flex; gap:14px; background:var(--red-soft); border:1px solid rgba(237,38,41,.25);
  border-radius:var(--r); padding:18px 20px; margin-bottom:20px; }
.note svg{ width:20px; height:20px; flex:none; color:var(--red-2); margin-top:2px; }
.note p{ margin:0; color:var(--ink); font-size:15.5px; }

/* Campos pendientes de completar */
.todo{ background:#fff3cd; color:#7a5b00; border:1px dashed #c8a20a; border-radius:5px;
  padding:1px 8px; font-weight:600; font-size:.92em; white-space:nowrap; }
.draft{ position:sticky; top:0; z-index:50; background:#7a5b00; color:#fff; font-size:14.5px;
  padding:11px var(--pad); text-align:center; line-height:1.45; }
.draft[hidden]{ display:none; }
.draft b{ color:#ffe9a8; }

/* Botón de acción (revocar consentimiento) */
.btn{ display:inline-flex; align-items:center; gap:11px; height:52px; padding:0 24px; border-radius:var(--pill);
  background:var(--red); color:var(--on-red); font-weight:600; font-size:15.5px; text-decoration:none;
  transition:background .25s, transform .15s var(--e); }
.btn:hover{ background:var(--red-2); color:var(--on-red); }
.btn:active{ transform:scale(.98); }
.btn svg{ width:17px; height:17px; }
.btn-ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--bg); }
.actions{ display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; }
.status{ margin:0 0 20px; font-size:15px; font-weight:600; color:var(--red-2); }
.status[hidden]{ display:none; }

/* ---------- Pie ---------- */
footer{ background:var(--dark-2); color:var(--on-dark-2); padding-block:44px 32px; font-size:14.5px; }
footer .wrap{ display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:space-between; align-items:center; }
footer a{ color:var(--on-dark-2); }
footer a:hover{ color:#fff; }
footer nav{ display:flex; flex-wrap:wrap; gap:18px; }

@media (prefers-reduced-motion: reduce){ *{ scroll-behavior:auto !important; transition:none !important; } }
