:root {
  /* Hereda los tokens canónicos de /assets/base.css; fallback si la página no lo enlaza. */
  --privacy-ink: var(--ink, #1a1a1a);
  --privacy-paper: var(--bg, #f5f3ee);
  --privacy-line: var(--ink-15, rgba(26, 26, 26, .15));
  --privacy-accent: var(--accent-visor, #e6633a);
}

.privacy-banner,
.privacy-media-dialog {
  position: fixed;
  z-index: 9999;
  inset: auto 1rem 1rem;
  width: min(100% - 2rem, 660px);
  margin: 0 auto;
  padding: 1.2rem;
  color: var(--privacy-ink);
  background: var(--privacy-paper);
  border: 1px solid var(--privacy-line);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .28);
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
}

.privacy-banner[hidden], .privacy-media-dialog[hidden] { display: none; }
.privacy-banner__title, .privacy-media-dialog__title { margin: 0 0 .45rem; font-size: 1rem; font-weight: 700; }
.privacy-banner p, .privacy-media-dialog p { margin: 0; max-width: 58ch; font-size: .88rem; line-height: 1.5; }
.privacy-banner a, .privacy-media-dialog a { color: inherit; }
.privacy-banner__actions, .privacy-media-dialog__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.privacy-button {
  min-height: 42px;
  padding: .68rem .85rem;
  color: var(--privacy-ink);
  background: transparent;
  border: 1px solid var(--privacy-ink);
  border-radius: 0;
  font: 700 .72rem/1 'JetBrains Mono', monospace;
  letter-spacing: .035em;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, transform 120ms ease-out;
}
.privacy-button:hover, .privacy-button:focus-visible { color: var(--privacy-paper); background: var(--privacy-ink); }
.privacy-button:focus-visible { outline: 2px solid var(--privacy-ink); outline-offset: 2px; }
.privacy-button:active { transform: scale(0.97); }
.privacy-button--secondary { border-color: var(--privacy-line); }
.privacy-link { align-self: center; font-size: .78rem; }

.legal-links { display:flex; flex-wrap:wrap; gap:.45rem .85rem; margin-top:1rem; font:400 9px/1.5 'JetBrains Mono',monospace; letter-spacing:.04em; }
.legal-links a { color:inherit; opacity:.72; text-decoration:none; border-bottom:1px solid currentColor; }
.legal-links button { padding:0; color:inherit; background:none; border:0; border-bottom:1px solid currentColor; font:inherit; opacity:.72; cursor:pointer; }
@media (max-width: 560px) { .privacy-banner, .privacy-media-dialog { inset: auto .65rem .65rem; width: calc(100% - 1.3rem); } .privacy-button { flex:1 1 100%; } }
