/* One readable action treatment across pages, navigation and injected checkout UI. */
:root {
  --action-ink: #21152f;
  --action-face: #c8b5ef;
  --action-light: #e3d7fa;
  --action-edge: #e9ddff;
  --action-glow: #b19ae83d;
}
/* The nav ID also outranks historical page-local nav link color overrides. */
:is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout) {
  color: var(--action-ink);
  -webkit-text-fill-color: var(--action-ink);
  background: linear-gradient(175deg, var(--action-light), var(--action-face));
  border: 1px solid var(--action-edge);
  border-radius: 12px;
  font-weight: 700;
  text-shadow: none;
  text-decoration: none;
  box-shadow: inset 0 1px 0 #ffffff80, 0 3px 10px #05071350, 0 0 20px var(--action-glow);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
:is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout):hover {
  color: var(--action-ink);
  background: linear-gradient(175deg, #efe6ff, #d5c3f7);
  border-color: #f4ecff;
  box-shadow: inset 0 1px 0 #ffffff99, 0 5px 14px #05071360, 0 0 26px #b19ae855;
  transform: translateY(-1px);
  text-decoration: none;
  filter: none;
}
:is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout):focus-visible {
  outline: 2px solid #f3ebff;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #171321, 0 0 26px #b19ae855;
}
:is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout):active {
  transform: translateY(0);
  background: #c8b5ef;
  box-shadow: inset 0 2px 5px #21152f24, 0 0 12px var(--action-glow);
}
body .vf-buy-flyout {
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: none;
}
@media (prefers-reduced-motion: reduce) {
  :is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout) { transition: none; }
  :is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout):hover { transform: none; }
}
@media (forced-colors: active) {
  :is(.btn.btn-primary, #vf-site-nav .nav-links .btn-primary, .vf-buy-flyout) {
    color: ButtonText; -webkit-text-fill-color: ButtonText;
    background: ButtonFace; border: 2px solid ButtonText; box-shadow: none;
  }
}
