/* Cookie consent banner — shared by the public shell (base_public.html) and the homepage
   (landing.html). Uses only tokens defined in BOTH tokens.css and v4.css (--surface/--border/
   --accent/--text/--text-3/--r). Hidden until cookie-consent.js adds .show. */
#cookie-consent {
  position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 1000;
  display: none; align-items: center; gap: 14px;
  width: calc(100% - 32px); max-width: 680px;
  padding: 13px 16px; font-family: var(--font);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
  box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
}
#cookie-consent.show { display: flex; }
#cookie-consent .cc-text { flex: 1; min-width: 0; font-size: 13px; line-height: 1.5; color: var(--text-3); }
#cookie-consent .cc-text a { color: var(--accent); text-decoration: none; }
#cookie-consent .cc-text a:hover { text-decoration: underline; }
#cookie-consent .cc-accept {
  flex: none; padding: 8px 18px; border: 0; border-radius: 8px; cursor: pointer;
  background: var(--accent); color: #fff; font-family: var(--font); font-size: 13px; font-weight: 600;
  transition: transform 140ms ease;
}
#cookie-consent .cc-accept:active { transform: scale(.97); }
@media (max-width: 560px) {
  #cookie-consent { flex-direction: column; align-items: stretch; }
  #cookie-consent .cc-accept { width: 100%; }
}
