.jin-v4-product-effect{position:relative!important;isolation:isolate}
.jin-v4-product-effect::after{position:absolute;inset:-2px;border:2px solid rgba(124,58,237,.96);border-radius:inherit;box-shadow:0 0 0 4px rgba(124,58,237,.12);content:"";opacity:0;pointer-events:none;z-index:4}
.jin-v4-product-effect::before{position:absolute;top:10px;right:12px;width:25px;height:25px;border:2px solid #fff;border-radius:50%;background:#7c3aed;color:#fff;content:"\2713";font-size:15px;font-weight:900;line-height:21px;text-align:center;opacity:0;pointer-events:none;transform:scale(.35) rotate(-22deg);z-index:5}
.jin-v4-product-effect.jin-v4-product-play::after{animation:jin-v4-border-lap 760ms cubic-bezier(.2,.8,.25,1)}
.jin-v4-product-effect.jin-v4-product-play::before{animation:jin-v4-check-pop 720ms cubic-bezier(.16,.9,.24,1)}

.jin-v4-price-rolling{display:inline-block;min-width:4ch;font-variant-numeric:tabular-nums;transform-origin:50% 70%;will-change:transform,filter}
.jin-v4-price-rolling.jin-v4-price-settle{animation:jin-v4-price-settle 360ms cubic-bezier(.2,.85,.24,1)}

.jin-v4-quantity-target{display:inline-block;min-width:1ch;perspective:160px;transform-origin:center}
.jin-v4-quantity-target.jin-v4-quantity-up{animation:jin-v4-quantity-up 380ms cubic-bezier(.2,.8,.3,1)}
.jin-v4-quantity-target.jin-v4-quantity-down{animation:jin-v4-quantity-down 380ms cubic-bezier(.2,.8,.3,1)}

.jin-v4-copy-target{position:relative!important;overflow:visible!important}
.jin-v4-copy-target::before{position:absolute;inset:50% auto auto 50%;color:#059669;content:"\2713";font-size:22px;font-weight:1000;line-height:1;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.3) rotate(-25deg);z-index:7}
.jin-v4-copy-target::after{position:absolute;left:50%;bottom:calc(100% + 8px);padding:5px 8px;border:1px solid #bbf7d0;border-radius:6px;background:#ecfdf5;color:#047857;content:"복사 완료";font-size:12px;font-weight:900;line-height:1;opacity:0;pointer-events:none;transform:translate(-50%,5px);white-space:nowrap;z-index:8}
.jin-v4-copy-target.jin-v4-copy-done svg{animation:jin-v4-copy-out 900ms ease}
.jin-v4-copy-target.jin-v4-copy-done::before{animation:jin-v4-copy-check 900ms cubic-bezier(.16,.9,.24,1)}
.jin-v4-copy-target.jin-v4-copy-done::after{animation:jin-v4-copy-label 900ms ease}

.jin-v4-success-surface{position:relative!important}
.jin-v4-success-surface.jin-v4-success-play{animation:jin-v4-success-surface 1400ms cubic-bezier(.2,.85,.25,1)}
.jin-v4-success-particle{--jin-x:0px;--jin-y:-32px;position:absolute;left:50%;top:44%;width:7px;height:7px;border-radius:2px;background:#8b5cf6;box-shadow:0 0 7px rgba(124,58,237,.45);opacity:0;pointer-events:none;z-index:60}
.jin-v4-success-play .jin-v4-success-particle{animation:jin-v4-particle-burst 1100ms cubic-bezier(.18,.78,.25,1) forwards;animation-delay:var(--jin-delay,0ms)}

.jin-v4-faq-toggle svg.lucide-plus{transition:transform 220ms ease,color 180ms ease}
.jin-v4-faq-toggle.jin-v4-faq-open svg.lucide-plus{color:#7c3aed;transform:rotate(45deg) scale(1.08)}

.jin-v4-price-change{display:inline-flex!important;transform-origin:center;will-change:transform,filter}
.jin-v4-price-rise{display:none!important}
.jin-v4-price-change.jin-v4-price-change-play{animation:jin-v4-price-change-pop 560ms cubic-bezier(.2,.85,.25,1)}
.jin-v4-price-rise.jin-v4-price-change-play{filter:drop-shadow(0 4px 3px rgba(239,68,68,.18))}
.jin-v4-price-fall.jin-v4-price-change-play{filter:drop-shadow(0 4px 3px rgba(5,150,105,.18))}

.jin-v4-invalid-target{outline:none!important}
.jin-v4-invalid-target.jin-v4-invalid-play{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.14)!important;animation:jin-v4-invalid-shake 390ms ease-in-out}
.jin-v4-error-note{position:fixed;padding:5px 8px;border-radius:6px;background:#fff1f2;color:#dc2626;font-size:12px;font-weight:900;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(-4px);z-index:10000}
.jin-v4-error-note.jin-v4-error-note-play{animation:jin-v4-error-note 1600ms ease forwards}

.jin-v4-preview-trigger{position:fixed;right:18px;bottom:112px;z-index:9997;height:44px;padding:0 15px;border:1px solid #6d2fe0;border-radius:8px;background:#6d2fe0;color:#fff;box-shadow:0 5px 14px rgba(70,42,107,.22);font-size:14px;font-weight:900;letter-spacing:0;cursor:pointer;transition:background 160ms ease,box-shadow 160ms ease}
.jin-v4-preview-trigger:hover{background:#5b21b6;box-shadow:0 7px 18px rgba(70,42,107,.28)}
.jin-v4-preview-trigger:active{background:#4c1d95}
.jin-v4-success-demo-trigger{position:fixed;right:18px;bottom:164px;z-index:9997;height:44px;padding:0 15px;border:2px solid #7c3aed;border-radius:8px;background:#fff;color:#6d2fe0;box-shadow:0 7px 20px rgba(70,42,107,.24);font-size:14px;font-weight:900;letter-spacing:0;cursor:pointer}
.jin-v4-success-demo-trigger:hover{background:#faf7ff;box-shadow:0 10px 25px rgba(70,42,107,.3);transform:translateY(-2px)}
.jin-v4-success-demo-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(22,27,43,.52);backdrop-filter:blur(3px);opacity:0;transition:opacity 180ms ease}
.jin-v4-success-demo-overlay.is-open{opacity:1}
.jin-v4-success-demo-dialog{position:relative;width:min(690px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dbe3f2;border-radius:8px;background:#fff;color:#111827;box-shadow:0 28px 70px rgba(15,23,42,.3);transform:translateY(12px) scale(.98);transition:transform 220ms cubic-bezier(.2,.85,.25,1)}
.jin-v4-success-demo-overlay.is-open .jin-v4-success-demo-dialog{transform:none}
.jin-v4-success-demo-dialog header{padding:22px 28px 20px;border-bottom:1px solid #dbe3f2;background:#f5f7ff}
.jin-v4-success-demo-dialog header span{display:block;color:#64748b;font-size:14px;font-weight:900}
.jin-v4-success-demo-dialog header strong{display:block;margin-top:6px;font-size:30px;line-height:1.18;letter-spacing:0}
.jin-v4-success-demo-body{padding:24px 28px}
.jin-v4-success-demo-body>p{margin:0 0 20px;color:#64748b;font-size:17px;font-weight:800}
.jin-v4-success-demo-summary{padding:20px 22px;border:1px solid #dbe3f2;border-radius:8px;background:#f7f9ff}
.jin-v4-success-demo-summary dl{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0}
.jin-v4-success-demo-summary dt{color:#64748b;font-weight:900}
.jin-v4-success-demo-summary dd{margin:0;text-align:right;font-weight:900}
.jin-v4-success-demo-summary dd.price{color:#2563eb;font-size:25px}
.jin-v4-success-demo-order{display:flex;justify-content:space-between;gap:18px;margin-top:16px;padding:16px 20px;border:1px solid #e2e8f0;border-radius:8px;color:#334155}
.jin-v4-success-demo-order span{text-align:right;font-weight:800}
.jin-v4-success-demo-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 28px 24px}
.jin-v4-success-demo-dialog footer button{height:58px;border:0;border-radius:8px;background:#eef2f8;color:#334155;font-size:17px;font-weight:900;cursor:pointer}
.jin-v4-success-demo-dialog footer button.primary{background:#151e33;color:#fff}

@keyframes jin-v4-border-lap{0%{opacity:0;clip-path:polygon(0 0,0 0,0 0,0 0)}18%{opacity:1;clip-path:polygon(0 0,52% 0,52% 3px,0 3px)}45%{clip-path:polygon(0 0,100% 0,100% 55%,calc(100% - 3px) 55%,calc(100% - 3px) 3px,0 3px)}72%{clip-path:polygon(0 0,100% 0,100% 100%,48% 100%,48% calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),calc(100% - 3px) 3px,0 3px)}100%{opacity:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes jin-v4-check-pop{0%,20%{opacity:0;transform:scale(.3) rotate(-25deg)}45%{opacity:1;transform:scale(1.22) rotate(8deg)}70%{opacity:1;transform:scale(.94) rotate(-3deg)}100%{opacity:0;transform:scale(1) rotate(0)}}
@keyframes jin-v4-price-settle{0%{transform:translateY(-5px) scale(1.08);filter:blur(.6px)}55%{transform:translateY(1px) scale(.98);filter:blur(0)}100%{transform:none}}
@keyframes jin-v4-quantity-up{0%{transform:rotateX(0);opacity:1}46%{transform:translateY(-8px) rotateX(-72deg);opacity:.2}47%{transform:translateY(8px) rotateX(72deg);opacity:.2}100%{transform:translateY(0) rotateX(0);opacity:1}}
@keyframes jin-v4-quantity-down{0%{transform:rotateX(0);opacity:1}46%{transform:translateY(8px) rotateX(72deg);opacity:.2}47%{transform:translateY(-8px) rotateX(-72deg);opacity:.2}100%{transform:translateY(0) rotateX(0);opacity:1}}
@keyframes jin-v4-copy-out{0%,18%,100%{opacity:1;transform:scale(1)}38%,76%{opacity:0;transform:scale(.45) rotate(-16deg)}}
@keyframes jin-v4-copy-check{0%,18%,100%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-25deg)}42%,72%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(0)}}
@keyframes jin-v4-copy-label{0%,15%,100%{opacity:0;transform:translate(-50%,5px)}35%,74%{opacity:1;transform:translate(-50%,0)}}
@keyframes jin-v4-success-surface{0%{box-shadow:0 0 0 0 rgba(124,58,237,0)}22%{box-shadow:0 0 0 4px rgba(124,58,237,.26),0 0 34px rgba(124,58,237,.34)}56%{box-shadow:0 0 0 2px rgba(124,58,237,.16),0 0 20px rgba(124,58,237,.22)}100%{box-shadow:0 0 0 0 rgba(124,58,237,0)}}
@keyframes jin-v4-particle-burst{0%{opacity:0;transform:translate(0,0) scale(.25) rotate(0)}18%{opacity:1}100%{opacity:0;transform:translate(var(--jin-x),var(--jin-y)) scale(1.2) rotate(160deg)}}
@keyframes jin-v4-price-change-pop{0%{transform:translateY(0) scale(1)}38%{transform:translateY(-7px) scale(1.12)}62%{transform:translateY(2px) scale(.96)}100%{transform:none}}
@keyframes jin-v4-invalid-shake{0%,100%{transform:translateX(0)}18%{transform:translateX(-7px)}38%{transform:translateX(6px)}58%{transform:translateX(-4px)}78%{transform:translateX(3px)}}
@keyframes jin-v4-error-note{0%{opacity:0;transform:translateY(-4px)}12%,74%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-3px)}}

@media(max-width:700px){.jin-v4-preview-trigger{right:10px;bottom:88px;height:40px;padding:0 12px;font-size:12px}.jin-v4-success-demo-trigger{right:10px;bottom:136px;height:40px;max-width:210px;padding:0 11px;font-size:12px}.jin-v4-success-demo-dialog header{padding:18px 20px}.jin-v4-success-demo-dialog header strong{font-size:24px}.jin-v4-success-demo-body{padding:20px}.jin-v4-success-demo-body>p{font-size:14px}.jin-v4-success-demo-summary dl{grid-template-columns:100px 1fr}.jin-v4-success-demo-order{display:block}.jin-v4-success-demo-order span{display:block;margin-top:5px;text-align:left}.jin-v4-success-demo-dialog footer{padding:0 20px 20px}.jin-v4-success-demo-dialog footer button{height:52px;font-size:15px}.jin-v4-product-effect::before{top:7px;right:8px;width:22px;height:22px;font-size:13px;line-height:18px}}
@media(prefers-reduced-motion:reduce){.jin-v4-product-effect::after,.jin-v4-product-effect::before,.jin-v4-price-rolling,.jin-v4-quantity-target,.jin-v4-copy-target::before,.jin-v4-copy-target::after,.jin-v4-copy-target svg,.jin-v4-success-surface,.jin-v4-success-particle,.jin-v4-faq-toggle svg,.jin-v4-price-change,.jin-v4-invalid-target,.jin-v4-error-note{animation-duration:1ms!important;transition:none!important}}


.jin-v4-faq-toggle::after{content:"+"!important;transition:transform 220ms ease,color 180ms ease!important;transform:translateY(-50%) rotate(0) scale(1)!important;transform-origin:center}
.jin-v4-faq-toggle.jin-v4-faq-open::after,.jin-faq-item[open] .jin-v4-faq-toggle::after{content:"+"!important;color:#7c3aed!important;transform:translateY(-50%) rotate(45deg) scale(1.08)!important}



