/* ==========================================================================
   Anonimark · Estilo de páginas legales (dossier) · prefijo leg-
   Compartido por /cookies, /aviso-legal y futuras páginas legales.
   Depende de las variables definidas en styles.css (:root).
   ========================================================================== */
.leg-wrap{max-width:820px; margin:0 auto; padding:64px 24px 96px;}
.leg-ref{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.08em;
  color:var(--ink-500); text-transform:uppercase;
}
.leg-ref .m{width:5px; height:5px; background:var(--coral-500); display:inline-block;}
.leg-wrap h1{font-size:clamp(30px,4.6vw,44px); line-height:1.1; letter-spacing:-.02em; margin:18px 0 12px;}
.leg-date{font-family:var(--font-mono); font-size:12.5px; color:var(--ink-500);}
.leg-intro{font-size:17px; line-height:1.6; color:var(--ink-700); margin:22px 0 0; max-width:64ch;}

.leg-sec{margin-top:44px; padding:0;} /* anula section{padding:100px 0} global */
.leg-sec-h{display:flex; align-items:baseline; gap:12px; margin:0 0 12px;}
.leg-sec-n{font-family:var(--font-mono); font-size:13px; font-weight:600; color:var(--coral-500); flex-shrink:0;}
.leg-sec-h h2{font-size:21px; font-weight:600; letter-spacing:-.01em; margin:0;}
.leg-sec p{font-size:15px; line-height:1.68; color:var(--ink-700); margin:0 0 12px; max-width:64ch;}
.leg-sec p a{color:var(--coral-600); text-decoration:none; border-bottom:1px solid var(--coral-100);}
.leg-sec p a:hover{border-color:var(--coral-500);}
.leg-sec strong{color:var(--ink-900);}
.leg-fill{background:var(--coral-050); color:var(--coral-700); padding:1px 6px; border-radius:4px; font-family:var(--font-mono); font-size:.86em;}

.leg-callout{
  background:var(--kraft); border:1px solid var(--kraft-border); border-radius:12px;
  padding:20px 22px; margin:18px 0; display:flex; gap:16px; align-items:flex-start;
}
.leg-callout .leg-stamp{
  font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--success-700); background:var(--success-050); border:1px solid var(--success-100);
  padding:5px 9px; border-radius:6px; white-space:nowrap; flex-shrink:0; margin-top:2px;
}
.leg-callout p{margin:0; font-size:14.5px; line-height:1.62; color:var(--kraft-ink);}
.leg-callout p strong{color:var(--ink-900);}

/* Tabla de cookies */
.leg-table-wrap{overflow-x:auto; margin:14px 0 6px; border:1px solid var(--ink-100); border-radius:12px;}
.leg-cat-band{
  font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:11px 16px; background:var(--paper-dossier); border-bottom:1px solid var(--ink-100);
  display:flex; align-items:center; gap:9px;
}
.leg-cat-band .m{width:5px; height:5px; background:var(--coral-500); display:inline-block;}
.leg-cat-band.necessary{color:var(--success-700);} .leg-cat-band.necessary .m{background:var(--success);}
.leg-cat-band.consent{color:var(--ink-700);}
.leg-table{width:100%; border-collapse:collapse; font-size:13.5px; min-width:560px;}
.leg-table th{
  text-align:left; font-family:var(--font-mono); font-size:10.5px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--ink-500); padding:10px 16px; border-bottom:1px solid var(--ink-100); background:var(--paper);
}
.leg-table td{padding:12px 16px; border-bottom:1px solid var(--ink-100); color:var(--ink-700); vertical-align:top; line-height:1.5;}
.leg-table tr:last-child td{border-bottom:0;}
.leg-table code{font-family:var(--font-mono); font-size:12.5px; color:var(--ink-900); background:var(--ink-050); padding:2px 6px; border-radius:5px;}
.leg-table .tp{font-family:var(--font-mono); font-size:11px; color:var(--ink-500);}
.leg-empty{padding:16px; font-size:13.5px; color:var(--ink-500); font-style:italic;}

.leg-cta{
  margin-top:20px; padding:22px; background:var(--paper); border:1px solid var(--ink-100);
  border-radius:14px; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
}
.leg-cta p{margin:0; font-size:14.5px; color:var(--ink-700); max-width:44ch;}
.leg-cta .cc-btn{white-space:nowrap;}

.leg-foot-note{
  margin-top:52px; padding-top:20px; border-top:1px dashed var(--ink-100);
  font-size:12.5px; line-height:1.6; color:var(--ink-300); max-width:64ch;
}

@media (max-width:560px){
  .leg-cta{flex-direction:column; align-items:stretch;}
  .leg-cta .cc-btn{width:100%; text-align:center;}
}
