.vf-consent {
  position: fixed;
  z-index: 10000;
  right: 1rem;
  bottom: 1rem;
  width: min(28rem, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid rgba(103, 38, 122, .2);
  border-radius: 1rem;
  background: #fff;
  color: #2f2133;
  box-shadow: 0 1rem 3rem rgba(35, 18, 40, .2);
  font: 500 .9rem/1.5 Poppins, sans-serif;
}
.vf-consent p { margin: 0 0 .85rem; }
.vf-consent-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.vf-consent button {
  min-height: 2.75rem;
  padding: .65rem 1rem;
  border: 1px solid #67267a;
  border-radius: 999px;
  background: #fff;
  color: #67267a;
  font: inherit;
  cursor: pointer;
}
.vf-consent .vf-consent-accept { background: #67267a; color: #fff; }
@media (max-width: 520px) {
  .vf-consent { right: .65rem; bottom: .65rem; width: calc(100vw - 1.3rem); }
  .vf-consent button { flex: 1 1 9rem; }
}
