
.custom-buy-now-button.cbn-btn{
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  border-radius:8px; border:2px solid var(--cbn-border, #111);
  padding:.6rem 1rem; font-weight:700; line-height:1;
  background:var(--cbn-bg,#fff); color:var(--cbn-fg,#111);
  transition:transform .12s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
  will-change: transform;
}
.custom-buy-now-button .cbn-icon svg{ width:1.15em; height:1.15em; display:inline-block; }
.custom-buy-now-button.cbn-icon-right .cbn-icon{ order:2; }
.custom-buy-now-button.cbn-icon-right .cbn-text{ order:1; }

.custom-buy-now-button.cbn-variant-outline{ --cbn-bg:#fff; --cbn-fg:#111; --cbn-border:#111; }
.custom-buy-now-button.cbn-variant-outline:hover{ box-shadow:0 4px 0 rgba(0,0,0,.18); }

.custom-buy-now-button.cbn-variant-solid{ --cbn-bg:#111; --cbn-fg:#fff; --cbn-border:#111; }
.custom-buy-now-button.cbn-variant-solid:hover{ filter:brightness(1.1); }

:root{ --cbn-primary:#96588a; }
.custom-buy-now-button.cbn-variant-primary{ --cbn-bg:var(--woocommerce, var(--cbn-primary)); --cbn-fg:#fff; --cbn-border:var(--woocommerce, var(--cbn-primary)); }
.custom-buy-now-button.cbn-variant-primary:hover{ filter:brightness(1.05); }

.custom-buy-now-button.cbn-variant-ghost{ --cbn-bg:transparent; --cbn-fg:#111; --cbn-border:transparent; }
.custom-buy-now-button.cbn-variant-ghost:hover{ background:rgba(0,0,0,.06); }

.custom-buy-now-button.cbn-variant-link{ --cbn-bg:transparent; --cbn-fg:inherit; --cbn-border:transparent; padding:.2rem .2rem; border:none; }
.custom-buy-now-button.cbn-variant-link:hover{ text-decoration:underline; transform:none; box-shadow:none; }

.custom-buy-now-button.cbn-size-sm{ font-size:14px; padding:.45rem .85rem; }
.custom-buy-now-button.cbn-size-md{ font-size:16px; padding:.6rem 1rem; }
.custom-buy-now-button.cbn-size-lg{ font-size:18px; padding:.8rem 1.25rem; }

.custom-buy-now-button.cbn-w-full{ width:100%; justify-content:center; }

.custom-buy-now-button.cbn-anim-lift:hover{ transform:translateY(-2px); }
.custom-buy-now-button.cbn-anim-pulse:hover{ transform:scale(1.03); }
.custom-buy-now-button.cbn-anim-wiggle:hover .cbn-icon{ animation:cbn-wiggle .35s ease-in-out; }
@keyframes cbn-wiggle{
  0%{ transform:translateX(0); }
  33%{ transform:translateX(2px); }
  66%{ transform:translateX(-2px); }
  100%{ transform:translateX(0); }
}
