:is(#purchaseModal,#successModal,#detailModal) .dialog:focus{outline:none}
.jl-inner-page{--commerce-surface:var(--jl-101f42);--commerce-soft:var(--jl-172f58);--commerce-ink:var(--jl-f2f6ff);--commerce-muted:var(--jl-bdcbe3);--commerce-accent:var(--jl-a5c3ff)}
:is(#purchaseModal,#successModal,#detailModal){padding:24px;overscroll-behavior:contain}
:is(#purchaseModal,#successModal,#detailModal) .dialog{border:1px solid var(--line);border-radius:24px;background:var(--commerce-surface);color:var(--commerce-ink);scrollbar-width:thin;scrollbar-color:rgba(var(--jl-line-rgb),.45) transparent}
:is(#purchaseModal,#successModal,#detailModal) :is(button,a){font-family:inherit;font-size:15px;font-weight:600;line-height:1.4}
:is(#purchaseModal,#successModal,#detailModal) .close{flex-shrink:0;width:40px;height:40px;border-radius:12px;font-size:23px;background:transparent;color:var(--commerce-muted)}
:is(#purchaseModal,#detailModal) .close:hover{background:var(--commerce-soft);color:var(--commerce-ink)}
#purchaseModal .dialog{width:min(500px,100%);padding:32px}
#purchaseModal .dialog-head{gap:16px;margin-bottom:24px}
#purchaseModal .dialog-head h3{font-size:24px;line-height:1.35;letter-spacing:-.02em}
#purchaseModal .dialog-head p{font-size:14px;line-height:1.6;margin:8px 0 0}
#purchaseModal .form-row{margin-top:18px}
#purchaseModal .form-row label{font-size:14px;margin-bottom:8px}
#purchaseModal :is(.amount-input,.quantity){height:48px;border-radius:12px;font-size:16px}
#purchaseModal .error:empty{display:none}
#purchaseModal .error{margin-top:12px;font-size:14px;line-height:1.5}
#purchaseModal .summary{display:flex;align-items:end;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
#purchaseModal .summary>div{padding:0;background:transparent}
#purchaseModal .summary>div:last-child{text-align:right}
#purchaseModal .summary>div>span{font-size:14px}
#purchaseModal .summary strong{font-variant-numeric:tabular-nums;font-size:20px;color:var(--commerce-ink);margin-top:4px}
#purchaseModal #totalPrice{font-size:30px;letter-spacing:-.03em;color:var(--commerce-accent);line-height:1.25}
#purchaseModal .dialog-actions{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:12px;margin-top:26px}
#purchaseModal .dialog-actions :is(button,a){height:48px;border-radius:12px;padding:0 14px;white-space:nowrap}
#purchaseModal .cancel{background:transparent;color:var(--commerce-muted);border:1px solid var(--line)}
#purchaseModal .cancel:hover{background:var(--commerce-soft)}
#purchaseModal .confirm,#successModal .deliver{color:#fff;background:var(--brand-button);text-decoration:none}
#purchaseModal .confirm:hover,#successModal .deliver:hover{background:#2f5cba;color:#fff}
#purchaseModal .confirm [data-lang],#successModal .deliver [data-lang]{color:inherit}
#successModal .dialog{width:min(480px,100%);padding:36px;text-align:center}
#successModal .success-icon{width:60px;height:60px;margin:0 auto 18px;font-size:30px;background:var(--commerce-soft);color:var(--commerce-accent)}
#successModal .dialog h3{font-size:27px;line-height:1.35;margin:0}
#successModal .dialog p{font-size:15px;line-height:1.8;margin:14px auto 26px;max-width:34ch;color:var(--commerce-muted)}
#successModal .deliver{min-height:48px;height:auto;padding:13px 18px;border-radius:12px;white-space:nowrap}
#successModal .prototype-note{display:block;margin-top:18px;font-size:12px;color:var(--commerce-muted);line-height:1.6}
#detailModal .dialog{width:min(760px,100%);padding:0;max-height:calc(100dvh - 48px);overflow:auto;scrollbar-gutter:stable}
#detailModal .dialog-head{position:sticky;top:0;z-index:1;align-items:center;gap:16px;padding:22px 28px;background:var(--commerce-surface);border-bottom:1px solid var(--line)}
#detailModal .dialog-head>div{min-width:0}
#detailModal h2{font-size:23px;line-height:1.35}
#detailModal .dialog-head p{font-size:13px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:6px}
#detailModal .detail-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 28px;padding:24px 28px}
#detailModal .detail-row{display:flex;flex-direction:column;gap:5px;min-width:0;padding:0;border:0;line-height:1.5}
#detailModal .detail-row>span{font-size:13px;color:var(--commerce-muted)}
#detailModal .detail-row strong{text-align:left;font-size:16px;color:var(--commerce-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#detailModal .timeline{padding:22px 28px 28px;border-top:1px solid var(--line)}
#detailModal .timeline h3{font-size:17px;margin:0 0 6px;line-height:1.4}
#detailModal .timeline>p{font-size:13px;color:var(--commerce-muted);line-height:1.7;margin:0 0 20px}
#detailModal .ops-client-card{margin:20px 0 0;padding:0;border:0}
#detailModal .ops-client-card h4{margin:0 0 14px;font-size:16px;line-height:1.4}
#detailModal .ops-card-content{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:center}
#detailModal .ops-client-qr{display:block;width:140px;height:140px;max-width:100%;object-fit:contain;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:0}
#detailModal .ops-pin-content{min-width:0;display:grid;gap:12px}
#detailModal .ops-pin-content details{min-width:0}
#detailModal .ops-pin-content summary{cursor:pointer;color:var(--commerce-accent);font-size:14px;min-height:32px;line-height:32px}
#detailModal .ops-pin-content code{display:block;padding:10px 12px;margin-top:6px;border-radius:8px;background:var(--commerce-soft);font-size:15px;color:var(--commerce-ink);overflow-wrap:anywhere;white-space:normal}
#detailModal .ops-pin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#detailModal .ops-pin-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:10px;text-decoration:none;font-size:14px;cursor:pointer}
#detailModal [data-copy-pin]{border:1px solid var(--line);background:transparent;color:var(--commerce-ink)}
#detailModal .ops-activate-link{background:var(--brand-button);border:1px solid transparent;color:#fff}
#detailModal .ops-activate-link:hover{background:#2f5cba}
#detailModal .ops-pin-hint{margin:0;color:var(--commerce-muted);font-size:13px;line-height:1.6}
#detailModal .ops-coupon-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--commerce-soft)}
#detailModal .ops-coupon-value{display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line);padding-right:16px}
#detailModal .ops-coupon-value strong{font-size:29px;line-height:1.3;letter-spacing:-.025em;color:var(--commerce-accent);font-variant-numeric:tabular-nums}
#detailModal .ops-coupon-value span{font-size:12px;color:var(--commerce-muted);margin-top:5px;overflow-wrap:anywhere}
#detailModal .ops-coupon-info{min-width:0}
#detailModal .ops-coupon-info h4{font-size:15px;line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere}
#detailModal .ops-coupon-info p{font-size:13px;line-height:1.7;margin:4px 0;color:var(--commerce-muted)}
#detailModal .ops-coupon-link{display:inline-flex;align-items:center;min-height:36px;margin-top:4px;color:var(--commerce-accent);font-size:14px;text-underline-offset:4px}
#detailModal .ops-coupon-state{font-size:12px;font-weight:600;color:var(--commerce-accent)}
body.jl-modal-open{overflow:hidden}
html[data-theme="day"] #successModal .success-icon{background:#e6f5ee;color:#17765a}
@media(max-width:600px){
:is(#purchaseModal,#successModal,#detailModal){padding:12px}
#purchaseModal .dialog,#successModal .dialog{padding:24px;border-radius:20px}
#purchaseModal .dialog-actions{grid-template-columns:1fr}
#purchaseModal .dialog-actions .confirm{grid-row:1}
#detailModal .dialog{max-height:calc(100dvh - 24px);border-radius:20px}
#detailModal .dialog-head{padding:18px 20px}
#detailModal .detail-list{padding:20px;gap:18px}
#detailModal .detail-row:first-child{grid-column:1/-1}
#detailModal .detail-row strong{font-size:15px}
#detailModal .timeline{padding:20px}
#detailModal .ops-card-content{grid-template-columns:1fr;gap:16px}
#detailModal .ops-client-qr{width:132px;height:132px}
#detailModal .ops-coupon-card{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:16px}
#detailModal .ops-coupon-value{padding-right:10px}
#detailModal .ops-coupon-value strong{font-size:25px}
#detailModal .ops-pin-actions{align-items:stretch}
#detailModal .ops-pin-actions :is(button,a){flex:1;white-space:nowrap}
}
.bundle-coupon-rules{margin:14px 0 20px;color:var(--jl-f2f6ff);font-size:14px;line-height:1.7;text-align:left;overflow-wrap:anywhere}
.bundle-coupon-rules strong{font-size:15px;font-weight:600}
.bundle-coupon-rules p{margin:5px 0;font-size:14px;line-height:1.7;color:var(--jl-bdcbe3)}
.bundle-coupon-rules .bundle-coupon-note{margin-top:10px;font-size:13px}
.product-info .bundle-coupon-rules{margin-top:0}
.product-info .product-note{margin-bottom:10px}
#paymentCouponRules{max-height:240px;overflow:auto}
