/* Same quiet floating surface as the cart toast, without covering that notice. */
.dfvn-sticky-purchase{position:fixed;z-index:9990;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:14px;width:min(900px,calc(100% - 40px));padding:10px 12px 10px 10px;border:1px solid var(--toast-border,var(--line));border-radius:999px;background:var(--toast-bg,var(--bg));color:var(--ink);box-shadow:0 14px 42px var(--toast-shadow,#16161629);backdrop-filter:blur(32px) saturate(150%);-webkit-backdrop-filter:blur(32px) saturate(150%)}
.dfvn-sticky-purchase[hidden],.dfvn-sticky-purchase [hidden]{display:none!important}
.dfvn-sticky-purchase__image{flex:0 0 52px;width:52px;height:52px;object-fit:cover;border-radius:50%}
.dfvn-sticky-purchase__copy{flex:1;min-width:0;display:grid;gap:2px}
.dfvn-sticky-purchase__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:var(--font-semibold,600);line-height:1.4}
.dfvn-sticky-purchase__copy>span{font-size:12px;line-height:1.4;color:var(--muted)}
.dfvn-sticky-purchase__actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.dfvn-sticky-purchase .button{min-height:46px;margin:0;padding:12px 20px;white-space:nowrap;font-size:13px;line-height:1.4}
.dfvn-sticky-purchase .dfvn-sticky-purchase__cart{width:46px;min-width:46px;padding:12px;background:var(--button-bg);color:var(--button-ink);border:1px solid var(--button-bg)}
.dfvn-sticky-purchase .dfvn-icon{width:20px;height:20px}
body.has-sticky-purchase .floating-top{bottom:110px}
@media(max-width:600px){.dfvn-sticky-purchase{gap:10px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);border-radius:999px;padding:9px}.dfvn-sticky-purchase__image{width:40px;height:40px;flex-basis:40px;border-radius:50%}.dfvn-sticky-purchase__copy strong{font-size:12px}.dfvn-sticky-purchase .button{min-height:44px;padding:11px 14px;font-size:12px}.dfvn-sticky-purchase .dfvn-sticky-purchase__cart{width:44px;min-width:44px;padding:10px}.dfvn-sticky-purchase__actions{gap:6px}}

/* Oura reference: fade with 20px travel on desktop, 100px on small screens. */
.dfvn-sticky-purchase{opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:opacity 300ms ease,transform 420ms cubic-bezier(.22,1,.36,1)}
.dfvn-sticky-purchase[data-sticky-state=visible]{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:767px){.dfvn-sticky-purchase{transform:translate(-50%,100px)}}
@media(prefers-reduced-motion:reduce){.dfvn-sticky-purchase{transition:none}}

.dfvn-sticky-purchase__cart .dfvn-motion-icon{display:inline-flex;width:24px;height:24px}
.dfvn-sticky-purchase__cart .dfvn-bag-animation{display:block;width:100%;height:100%;overflow:visible}
.dfvn-sticky-purchase__cart .dfvn-quality-animation__motion{transform-box:fill-box;transform-origin:12px 12px}
.dfvn-sticky-purchase__cart .is-animating .dfvn-quality-animation__motion{animation:dfvn-bag-shake 2s ease-in-out 1 both}
@keyframes dfvn-bag-shake{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-8px) rotate(-3deg)}30%{transform:translateX(7px) rotate(2deg)}45%{transform:translateX(-5px) rotate(-1.5deg)}60%{transform:translateX(4px) rotate(1deg)}75%{transform:translateX(-2px) rotate(-.5deg)}90%{transform:translateX(1px)}}
@media(prefers-reduced-motion:reduce){.dfvn-sticky-purchase__cart .is-animating .dfvn-quality-animation__motion{animation:none}}

/* The theme's shared button padding otherwise consumes the whole cart circle. */
.dfvn-sticky-purchase .dfvn-sticky-purchase__cart{height:46px;min-height:46px!important;padding:7px!important;aspect-ratio:1}
.dfvn-sticky-purchase__cart .dfvn-motion-icon{flex:0 0 24px}
@media(max-width:600px){.dfvn-sticky-purchase .dfvn-sticky-purchase__cart{height:44px;min-height:44px!important;padding:6px!important}}

.dfvn-sticky-purchase .dfvn-sticky-purchase__cart .dfvn-motion-icon>.dfvn-icon{width:100%;height:100%}
