
.vei-cd-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998;opacity:0;transition:opacity .3s}
.vei-cd-backdrop.is-open{opacity:1}
.vei-cd{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:#fff;z-index:9999;
  transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;
  font-family:Jost,sans-serif;color:#000;box-shadow:-4px 0 24px rgba(0,0,0,.15)}
.vei-cd.is-open{transform:translateX(0)}
.vei-cd__ribbon{background:#b09fd0;color:#fff;text-align:center;font-size:10px;letter-spacing:.05em;padding:6px 8px;font-weight:600}
.vei-cd__head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee}
.vei-cd__title{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.vei-cd__close{background:0;border:0;font-size:26px;line-height:1;cursor:pointer;color:#333}
.vei-cd__rewards{padding:14px 18px;border-bottom:1px solid #eee}
.vei-cd__reward-msg{margin:0 0 10px;font-size:12px;text-align:center;color:#333}
.vei-cd__bar{position:relative;height:6px;background:#eee;border-radius:3px;margin:16px 0 8px}
.vei-cd__bar-fill{position:absolute;left:0;top:0;height:100%;background:#1b072c;border-radius:3px;width:0;transition:width .4s}
.vei-cd__milestone{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#eee;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ccc}
.vei-cd__milestone.is-hit{background:#1b072c;box-shadow:0 0 0 1px #1b072c}
.vei-cd__tiers{display:flex;justify-content:space-between;font-size:9px;color:#999;text-transform:uppercase;letter-spacing:.03em}
.vei-cd__tiers span.is-hit{color:#1b072c;font-weight:700}
.vei-cd__items{flex:1 1 auto;overflow-y:auto;padding:8px 18px}
.vei-cd__empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}
.vei-cd-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #f0f0f0}
.vei-cd-item>img{width:70px;height:70px;object-fit:cover;flex:0 0 auto;background:#f6f6f6}
.vei-cd-item__b{flex:1 1 auto;min-width:0}
.vei-cd-item__t{font-size:13px;line-height:1.3;margin-bottom:2px}
.vei-cd-item__v{font-size:11px;color:#888;margin-bottom:4px}
.vei-cd-item__p{font-size:13px;margin-bottom:6px}
.vei-cd-item__p s{color:#aaa;margin-right:4px}
.vei-cd-item__p em{background:#1b072c;color:#fff;font-style:normal;font-size:10px;padding:1px 5px}
.vei-cd-item__qty{display:flex;align-items:center;gap:8px}
.vei-cd-item__qty button{width:24px;height:24px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:14px;line-height:1}
.vei-cd-item__rm{width:auto!important;border:0!important;color:#999;text-decoration:underline;font-size:11px;margin-left:auto}
.vei-cd__recs{padding:12px 18px;border-top:1px solid #eee;background:#faf9fc}
.vei-cd__recs-h{margin:0 0 10px;font-size:12px;font-weight:600;text-align:center}
.vei-cd-rec{display:flex;align-items:center;gap:10px;padding:6px 0}
.vei-cd-rec>img{width:48px;height:48px;object-fit:cover;background:#f0f0f0}
.vei-cd-rec__b{flex:1 1 auto;min-width:0}
.vei-cd-rec__t{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vei-cd-rec__p{font-size:12px;color:#1b072c}
.vei-cd-rec__add{border:1px solid #1b072c;background:#fff;color:#1b072c;font-size:11px;font-weight:600;padding:6px 12px;cursor:pointer}
.vei-cd__foot{padding:14px 18px;border-top:1px solid #eee}
.vei-cd__disc{display:flex;gap:8px;margin-bottom:12px}
.vei-cd__disc input{flex:1 1 auto;border:1px solid #ccc;padding:10px;font-family:inherit;font-size:12px}
.vei-cd__disc button{border:0;background:#1b072c;color:#fff;padding:0 16px;font-size:12px;font-weight:600;cursor:pointer}
.vei-cd__checkout{display:flex;justify-content:space-between;align-items:center;background:#1b072c;color:#fff;
  text-decoration:none;padding:15px 18px;font-size:14px;font-weight:600;letter-spacing:.04em}
.vei-cd__trust{text-align:center;font-size:11px;color:#666;margin:12px 0 8px}
.vei-cd__pay{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.vei-cd__pay-i{width:32px;height:20px}
