.shop-coupon-entry,#shop-gift-status,.shop-coupon-dialog{box-sizing:border-box;font-family:inherit;color:#253047}
.shop-coupon-entry *,#shop-gift-status *,.shop-coupon-dialog *{box-sizing:border-box}
.shop-coupon-entry{display:flex;align-items:center;gap:16px;max-width:1200px;margin:16px auto 20px;padding:20px 24px;border:1px solid #dfe3f3;border-radius:18px;background:#f8f9ff}
.shop-coupon-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#e9edff;color:#4057c5}
.shop-coupon-copy{min-width:0;flex:1}
.shop-coupon-copy strong{display:block;font-size:16px;line-height:1.5;font-weight:700;letter-spacing:-.3px}
.shop-coupon-copy p{margin:4px 0 0;font-size:14px;line-height:1.6;color:#626e83;word-break:keep-all;overflow-wrap:anywhere}
.shop-coupon-copy .shop-coupon-detail{font-size:12px;color:#63776f}
.shop-coupon-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.shop-coupon-entry button,#shop-gift-status button,.shop-coupon-dialog button{font:inherit;font-size:14px;line-height:1.4;cursor:pointer;min-height:44px;border-radius:10px;padding:11px 18px;transition:background .15s,box-shadow .15s;border:1px solid transparent}
.shop-coupon-entry .shop-coupon-primary,.shop-coupon-dialog .shop-coupon-primary{background:#4658d8;color:#fff;font-weight:650;white-space:nowrap}
.shop-coupon-entry .shop-coupon-primary:hover,.shop-coupon-dialog .shop-coupon-primary:hover{background:#3545b9}
.shop-coupon-entry .shop-coupon-text-button,#shop-gift-status .shop-coupon-text-button{background:transparent;color:#697386;padding:10px 12px}
.shop-coupon-entry .shop-coupon-text-button:hover,#shop-gift-status .shop-coupon-text-button:hover{background:#e9eef2;color:#263747}
.shop-coupon-entry.is-applied{background:#f3faf7;border-color:#c9e5d9}
.shop-coupon-entry.is-applied .shop-coupon-icon{background:#def1e7;color:#247451}
.shop-coupon-entry.is-applied .shop-coupon-copy strong{color:#216a4d}
.shop-coupon-entry.is-applied .shop-coupon-primary{background:#fff;border-color:#bddbcc;color:#276d52}
.shop-coupon-entry button:focus-visible,#shop-gift-status button:focus-visible,.shop-coupon-dialog button:focus-visible{outline:3px solid #a9b5ff;outline-offset:3px}
.shop-coupon-entry button:disabled,#shop-gift-status button:disabled,.shop-coupon-dialog button:disabled{opacity:.65;cursor:wait}
#shop-gift-status{display:flex;align-items:center;gap:14px;max-width:1200px;margin:16px auto;padding:16px 20px;border:1px solid #c9e5d9;border-radius:14px;background:#f3faf7;font-size:14px}
#shop-gift-status>div{flex:1;min-width:0}#shop-gift-status strong,#shop-gift-status span:not(.shop-coupon-icon){display:block;line-height:1.6}#shop-gift-status strong{color:#216a4d}#shop-gift-status span:not(.shop-coupon-icon){color:#626e83}
#shop-gift-status[hidden],.shop-coupon-entry [hidden],.shop-coupon-dialog [hidden]{display:none!important}
.shop-coupon-dialog{position:fixed;inset:0;margin:auto;border:1px solid #e5e8f0;border-radius:22px;padding:0;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#fff;box-shadow:0 24px 90px #17254130}
.shop-coupon-dialog::backdrop{background:#1b263c80;backdrop-filter:blur(3px)}
.shop-coupon-dialog form{margin:0;padding:0}
.shop-coupon-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 18px 26px;background:#fff;border-bottom:1px solid #edf0f6}
.shop-coupon-dialog h2{margin:0;font-size:21px;line-height:1.5;font-weight:750;letter-spacing:-.5px;color:#253047}
.shop-coupon-dialog .shop-coupon-close{display:flex;align-items:center;justify-content:center;flex:0 0 40px;min-height:40px;width:40px;padding:0;background:#f4f5f9;color:#616c81;font-size:26px;font-weight:400}
.shop-coupon-dialog .shop-coupon-close:hover{background:#e9ecf4}
.shop-coupon-dialog-body{padding:22px 26px 26px}
.shop-coupon-dialog .shop-coupon-intro{margin:0 0 24px;font-size:14px;line-height:1.7;color:#687387;word-break:keep-all}
.shop-coupon-dialog label{display:block;margin:0 0 9px;font-size:14px;font-weight:650;color:#354058}
.shop-coupon-dialog input{display:block;width:100%;height:52px;margin:0;padding:14px;border:1px solid #ccd3e2;border-radius:11px;background:#fff;color:#253047;font:inherit;font-size:16px;box-shadow:none}
.shop-coupon-dialog input::placeholder{font-size:13px;color:#9099ab}
.shop-coupon-dialog input:focus{border-color:#6475e6;outline:3px solid #edf0ff}
.shop-coupon-dialog input[aria-invalid=true]{border-color:#d34545}
.shop-coupon-dialog .shop-coupon-message{margin:9px 0 0;font-size:13px;line-height:1.65;color:#bd3535;overflow-wrap:anywhere}
.shop-coupon-dialog .shop-coupon-help{display:flex;align-items:flex-start;gap:12px;margin:20px 0 24px;padding:15px;background:#f6f8fd;border-radius:12px}
.shop-coupon-help .shop-coupon-icon{flex-basis:32px;width:32px;height:32px;border-radius:8px}.shop-coupon-help svg{width:20px;height:20px}
.shop-coupon-help strong{display:block;font-size:13px;line-height:1.5;font-weight:650;color:#445471}
.shop-coupon-help p{margin:4px 0 0;font-size:12px;line-height:1.7;color:#69758a;word-break:keep-all}
.shop-coupon-dialog .shop-coupon-primary{width:100%;min-height:50px;font-size:15px}
.bv-event-stock-note{padding:16px;border-radius:10px;background:#f4f7fc;color:#4d607b}
@media(max-width:600px){.shop-coupon-entry{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;margin:12px auto 16px;padding:16px;border-radius:15px}.shop-coupon-entry>.shop-coupon-icon{width:36px;height:36px;border-radius:10px}.shop-coupon-copy strong{font-size:15px}.shop-coupon-copy p{font-size:12px}.shop-coupon-actions{grid-column:1/-1;justify-content:stretch;gap:8px}.shop-coupon-actions .shop-coupon-primary{flex:1}.shop-coupon-dialog-header{padding:16px 16px 16px 20px}.shop-coupon-dialog-body{padding:20px}.shop-coupon-dialog h2{font-size:19px}#shop-gift-status{margin:12px 16px;padding:14px;gap:10px;font-size:12px}#shop-gift-status>.shop-coupon-icon{display:none}}
@media(prefers-reduced-motion:reduce){.shop-coupon-entry button,#shop-gift-status button,.shop-coupon-dialog button{transition:none}}

/* 쿠폰번호가 없는 고객 → 이벤트 안내 20260924 */
.shop-coupon-or{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:#9aa3b3;font-size:12px}
.shop-coupon-or::before,.shop-coupon-or::after{content:"";flex:1;height:1px;background:#e6e9f1}
.shop-coupon-noserial{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 12px;border:1px solid #ffd9c7;border-radius:16px;background:linear-gradient(135deg,#fff8f1,#fff1f4);color:#3a2b2b;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.shop-coupon-noserial:hover{border-color:#ffb899;box-shadow:0 6px 18px #ef476f1f;transform:translateY(-1px)}
.shop-coupon-noserial:focus-visible{outline:3px solid #4356dd55;outline-offset:2px}
.shop-coupon-gift{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;box-shadow:0 2px 8px #ef476f1a}
.shop-coupon-gift .lid,.shop-coupon-gift .bow{transform-origin:24px 18px;animation:scg-lid 2.8s ease-in-out infinite}
.shop-coupon-gift .spark{opacity:0;animation:scg-spark 2.8s ease-in-out infinite}.shop-coupon-gift .s2{animation-delay:.25s}.shop-coupon-gift .s3{animation-delay:.5s}
@keyframes scg-lid{0%,62%,100%{transform:none}70%{transform:translateY(-4px) rotate(-6deg)}78%{transform:translateY(-2px) rotate(4deg)}86%{transform:none}}
@keyframes scg-spark{0%,62%{opacity:0;transform:scale(.4)}74%{opacity:1;transform:scale(1.2)}92%,100%{opacity:0;transform:scale(.6)}}
.shop-coupon-gift svg *{transform-box:fill-box}.shop-coupon-gift .spark{transform-origin:center}
.shop-coupon-noserial-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.shop-coupon-noserial-copy strong{font-size:14.5px;color:#2b2133;letter-spacing:-.02em}
.shop-coupon-noserial-copy>span{font-size:12.5px;line-height:1.5;color:#6b5a60;word-break:keep-all}
.shop-coupon-event-badge{align-self:flex-start;margin-top:4px;padding:2px 8px;border-radius:999px;background:#ef476f;color:#fff;font-size:11px;font-style:normal;font-weight:700}
.shop-coupon-event-badge[hidden]{display:none}
.shop-coupon-event-go{flex:none;padding:8px 12px;border-radius:10px;background:#2b2133;color:#fff;font-size:12.5px;font-weight:700;white-space:nowrap}
.shop-coupon-event-go::after{content:" →"}
.shop-coupon-noserial.is-nudge{animation:scg-nudge .7s ease;border-color:#ef476f;box-shadow:0 0 0 3px #ef476f33}
.shop-coupon-noserial.is-nudge .lid,.shop-coupon-noserial.is-nudge .bow{animation-duration:.9s}
@keyframes scg-nudge{0%,100%{transform:none}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@media(max-width:420px){.shop-coupon-noserial{flex-wrap:wrap}.shop-coupon-event-go{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.shop-coupon-gift .lid,.shop-coupon-gift .bow,.shop-coupon-gift .spark,.shop-coupon-noserial.is-nudge{animation:none}.shop-coupon-gift .spark{opacity:1}}
/* 입력창과 적용 버튼 간격(포커스 테두리 겹침 방지) */
.shop-coupon-dialog-body>.shop-coupon-primary{margin-top:18px}
.shop-coupon-dialog-body>.shop-coupon-message:not([hidden])+.shop-coupon-primary{margin-top:12px}
