/* Scoped wallet checkout; keeps the storefront's existing modal integration. */
body .modal:has(.nx-checkout) .modal-dialog{max-width:960px;width:calc(100% - 40px);margin:32px auto}
body .modal:has(.nx-checkout) .modal-content{border:0;border-radius:24px;box-shadow:0 30px 100px #25173938;overflow:hidden}
body .product-view.nx-checkout{--nx-accent:#7144c4;--nx-ink:#272039;--nx-muted:#787184;display:block;position:relative;padding:0;margin:0;width:100%;max-height:calc(100dvh - 64px);overflow:auto;color:var(--nx-ink);background:#fff;font-size:14px;line-height:1.6;text-align:left}
.nx-checkout *{box-sizing:border-box}
.nx-checkout svg{width:20px;height:20px;display:block;flex-shrink:0}
.nx-checkout button,.nx-checkout input,.nx-checkout a{font:inherit;transition:background .18s,color .18s,border-color .18s}
.nx-checkout [hidden]{display:none!important}
.nx-checkout .nx-checkout-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #f0ecf5}
.nx-checkout-kicker{display:flex;gap:10px;align-items:center;color:#6e6081;font-size:12px;font-weight:600;letter-spacing:.3px}
.nx-checkout-kicker svg{width:18px;height:18px;color:var(--nx-accent)}
.nx-checkout .nx-close{width:40px;height:40px;display:grid;place-items:center;border:0;background:#f6f3fa;border-radius:12px;color:#716580;cursor:pointer}
.nx-checkout .nx-close:hover{background:#ece5f6;color:var(--nx-accent)}
.nx-checkout-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:36px;padding:30px 32px 32px}
.nx-product-summary{min-width:0}
.nx-product-symbol{display:grid;place-items:center;width:44px;height:44px;background:#f1ebfb;border-radius:13px;color:var(--nx-accent);margin-bottom:16px}
.nx-product-symbol svg{width:24px;height:24px}
.nx-checkout h2{font-size:25px;line-height:1.35;font-weight:700;letter-spacing:-.6px;color:var(--nx-ink);margin:0 0 12px;overflow-wrap:anywhere;text-wrap:balance}
.nx-stock-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#5a5167;font-size:11px}
.nx-stock-dot{height:6px;width:6px;background:#309979;border-radius:50%}
.nx-stock-line strong{font-weight:600;color:#2f735c;margin-left:3px}
.nx-sold{border-left:1px solid #ded7e7;margin-left:5px;padding-left:12px;color:var(--nx-muted)}
.nx-unit-price{display:flex;align-items:baseline;gap:9px;margin:22px 0 26px;color:var(--nx-accent);font-size:30px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.nx-unit-price span{font-size:12px;font-weight:400;letter-spacing:0;color:var(--nx-muted)}
.nx-checkout .nx-section-label{font-size:12px;font-weight:600;color:#51465f;margin:0 0 12px;line-height:1.5}
.nx-product-description{max-height:250px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d7cce7 transparent;color:#80758f;font-size:12px;line-height:1.95;overflow-wrap:anywhere;padding-right:12px}
.nx-volume-deals{display:flex;gap:6px 14px;flex-wrap:wrap;background:#faf8fd;border-radius:10px;padding:12px;margin-top:18px;font-size:11px;color:#756685}
.nx-volume-deals strong{width:100%;font-weight:600;color:#5f4a7d}
.nx-payment-panel{background:#faf8fd;border:1px solid #eee8f5;border-radius:18px;padding:24px;align-self:start;min-width:0}
.nx-checkout .nx-payment-panel h3{font-size:17px;font-weight:650;letter-spacing:-.3px;line-height:1.4;margin:0 0 20px;color:var(--nx-ink)}
.nx-wallet{display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid #ece6f3;border-radius:12px;margin-bottom:24px}
.nx-wallet>span{display:grid;place-items:center;background:#f1ebfa;color:var(--nx-accent);width:36px;height:36px;border-radius:10px}
.nx-wallet div{display:grid;gap:2px;flex:1}
.nx-wallet div span{font-size:10px;color:var(--nx-muted);line-height:1.5}
.nx-wallet strong{font-size:15px;font-weight:650;color:#42334f;font-variant-numeric:tabular-nums}
.nx-wallet a{display:grid;place-items:center;width:32px;height:32px;border:1px solid #e9e2f2;color:var(--nx-accent);border-radius:9px}
.nx-wallet a:hover{background:#f2ecfa}
.nx-checkout .nx-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px}
.nx-checkout label{margin:0;font-size:12px;font-weight:500;color:#564b65}
.nx-quantity{display:flex;align-items:center;background:#fff;border:1px solid #e8e0f1;border-radius:11px;padding:3px}
.nx-checkout .nx-quantity button{background:#f5f0fc;border:0;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:var(--nx-accent);cursor:pointer}
.nx-quantity button svg{width:15px;height:15px}
.nx-checkout .nx-quantity button:hover{background:#e8def7}
.nx-checkout .nx-quantity input{background:transparent;border:0;color:var(--nx-ink);width:48px;min-width:0;height:32px;text-align:center;font-size:14px;font-weight:600;padding:0;appearance:textfield;-moz-appearance:textfield}
.nx-quantity input::-webkit-inner-spin-button,.nx-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.nx-checkout .nx-coupon-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.nx-coupon-label span{font-size:10px;color:#93899e;font-weight:400}
.nx-coupon{display:flex;align-items:center;border:1px solid #e7dfee;background:#fff;border-radius:11px;padding:4px;gap:4px}
.nx-coupon:focus-within{border-color:#b294d9;box-shadow:0 0 0 3px #7144c40b}
.nx-checkout .nx-coupon input{border:0;background:transparent;min-width:0;width:100%;padding:8px;font-size:11px;color:#40334f;height:34px;box-shadow:none;outline:none}
.nx-coupon input::placeholder{color:#aaa0b5}
.nx-checkout .nx-coupon button{background:#efe8f9;color:var(--nx-accent);border:0;border-radius:8px;font-size:11px;font-weight:600;min-height:34px;padding:6px 12px;cursor:pointer}
.nx-checkout .nx-coupon button:hover{background:#e6daf6}
.nx-checkout .nx-coupon-hint{font-size:10px;line-height:1.6;color:#338064;margin:6px 0 0;min-height:16px}
.nx-checkout .nx-coupon-hint.nx-field-error{color:#b74960}
.nx-totals{display:grid;gap:11px;margin-top:16px;padding-top:18px;border-top:1px solid #e9e2f1;font-size:12px;font-variant-numeric:tabular-nums}
.nx-totals>div{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--nx-muted)}
.nx-totals strong{color:#4b3e5d;font-weight:550;text-align:right}
.nx-totals #into_discount{color:#31846d}
.nx-totals[aria-busy=true] strong{opacity:.35}
.nx-totals .nx-total{border-top:1px solid #e9e2f1;padding-top:17px;margin-top:6px;margin-bottom:22px;color:var(--nx-ink);font-weight:600}
.nx-total strong{font-size:25px;font-weight:700;letter-spacing:-.5px;color:var(--nx-accent);line-height:1.4}
.nx-checkout .nx-primary,.nx-checkout .nx-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:0;border-radius:12px;padding:12px 16px;background:var(--nx-accent);color:#fff;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}
.nx-checkout .nx-primary:hover{background:#6036ad;box-shadow:0 6px 16px #7144c41c}
.nx-checkout .nx-primary svg{width:17px;height:17px}
.nx-checkout .nx-secondary{color:var(--nx-accent);background:#f1ebfa}
.nx-checkout .nx-favorite{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin-top:8px;padding:8px 0;color:#83758f;background:transparent;border:0;font-size:11px;cursor:pointer}
.nx-favorite svg{width:16px;height:16px}
.nx-favorite[aria-pressed=true] svg{fill:#e4d6f8;color:var(--nx-accent)}
.nx-checkout .nx-payment-note{display:flex;align-items:flex-start;justify-content:center;gap:6px;font-size:9px;color:#9a90a6;margin:14px 0 0;line-height:1.7}
.nx-payment-note svg{width:13px;height:13px;margin-top:1px}
.nx-checkout .nx-checkout-error{background:#fff0f2;border:1px solid #f4d8df;color:#a83b54;font-size:11px;line-height:1.7;border-radius:10px;margin:0 0 14px;padding:11px 13px}
.nx-checkout button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.nx-checkout .nx-spinner{width:17px;height:17px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:nx-spin .8s linear infinite}
.nx-checkout .nx-receipt{padding:46px 36px 36px;text-align:center}
.nx-checkout:has(.nx-receipt)>.nx-close{position:absolute;right:18px;top:18px}
.nx-receipt-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#eef8f3;color:#348267;margin:0 auto 20px}
.nx-receipt-icon svg{width:28px;height:28px}
.nx-checkout .nx-receipt h2{font-size:25px;margin-bottom:8px}
.nx-checkout .nx-receipt-id{font-size:11px;color:#998ca7;margin:0 0 24px;overflow-wrap:anywhere}
.nx-receipt pre{background:#faf8fd;border:1px solid #ede6f4;border-radius:12px;padding:20px;max-height:230px;overflow:auto;text-align:left;font:12px/1.9 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#564867;margin:0}
.nx-checkout .nx-receipt-note{font-size:11px;line-height:1.7;color:#998ca7;margin:14px 0 24px}
.nx-receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@keyframes nx-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){body .modal:has(.nx-checkout) .modal-dialog{width:calc(100% - 24px);margin:12px auto}body .product-view.nx-checkout{max-height:calc(100dvh - 24px)}.nx-checkout .nx-checkout-header{height:62px;padding:0 20px}.nx-checkout-grid{grid-template-columns:1fr;gap:24px;padding:24px 20px}.nx-checkout h2{font-size:23px}.nx-product-symbol{display:none}.nx-unit-price{margin:14px 0 18px;font-size:27px}.nx-product-description{max-height:130px}.nx-payment-panel{padding:20px}.nx-checkout .nx-receipt{padding:64px 20px 24px}.nx-receipt-actions{grid-template-columns:1fr}.nx-checkout .nx-coupon input{font-size:16px}.nx-checkout .nx-quantity input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.nx-checkout *{transition:none!important}.nx-spinner{animation-duration:1.8s!important}}
.nx-checkout .nx-coupon-hint:empty{display:none}
.nx-checkout .nx-checkout-header{height:64px}
.nx-checkout-grid{padding-top:24px;padding-bottom:24px}
.nx-checkout .nx-wallet{margin-bottom:20px}
/* The optional UID picker shares the same payment colors and surfaces. */
body #openModal .pv-container{padding:28px!important;max-height:calc(100dvh - 64px);overflow:auto;color:#272039}
body #openModal .pv-header{border-bottom:1px solid #eee8f5!important;padding-bottom:20px!important}
body #openModal .pv-title{font-size:23px!important;letter-spacing:-.5px;color:#272039!important}
body #openModal .pv-badge{background:#f1ebfa!important;color:#78608f!important;font-size:10px!important;padding:4px 9px!important;font-weight:500!important}
body #openModal .pv-close{border-radius:11px!important;background:#f6f3fa!important;border:0!important;width:38px!important;height:38px!important;color:#78668b!important}
body #openModal .pv-close:hover{background:#eae1f6!important;color:#7144c4!important}
body #openModal .pv-payment{background:#faf8fd!important;border:1px solid #eee8f5!important;border-radius:16px!important;padding:22px!important}
body #openModal .pv-payment-title{color:#352944!important;font-size:16px!important;border-color:#e9e2f1!important}
body #openModal :is(.pv-value-blue,.pv-value-green){color:#7144c4!important;text-shadow:none!important}
body #openModal .pv-value-red{color:#348369!important}
body #openModal .pv-selected-badge{color:#7144c4!important;background:#eee6f9!important}
body #openModal :is(.pv-btn-pay,.pv-btn-login){background:#7144c4!important;border:0!important;border-radius:12px!important;min-height:46px;font-size:13px!important;box-shadow:none!important}
body #openModal :is(.pv-btn-pay,.pv-btn-login):hover:not(:disabled){background:#6036ad!important}
body #openModal .pv-coupon-input{background:#fff!important;border:1px solid #e7dfee!important;border-radius:10px!important;font-size:12px!important}
body #openModal .pv-uid-list{border:1px solid #eee8f5!important;border-radius:12px!important;scrollbar-width:thin}
body #openModal .pv-uid-list thead th{background:#f6f2fb!important;border-color:#e9e2f1!important;color:#82738f!important;text-transform:none!important;letter-spacing:0!important;padding:12px!important}
body #openModal .pv-uid-list tr.pv-selected{background:#f4effb!important}
body #openModal .pv-pagination .pv-page-active{background:#7144c4!important;border-color:#7144c4!important}
body #openModal .pv-container input[type=checkbox]{accent-color:#7144c4}
@media(max-width:700px){body #openModal .pv-container{padding:22px 18px!important;max-height:calc(100dvh - 24px)}body #openModal .pv-body{display:grid!important;grid-template-columns:1fr!important}body #openModal .pv-right{width:100%!important}body #openModal .pv-uid-list{max-height:220px!important}}
.nx-checkout .nx-checkout-header{position:sticky;top:0;z-index:3;background:#fff}
.nx-checkout .nx-payment-panel h3{margin-bottom:16px}
.nx-checkout .nx-wallet{padding:11px 12px;margin-bottom:18px}
.nx-checkout .nx-quantity-row{margin-bottom:18px}
.nx-totals{gap:9px;margin-top:14px;padding-top:16px}
.nx-totals .nx-total{padding-top:15px;margin-bottom:18px}
.nx-checkout .nx-product-summary .nx-favorite{justify-content:flex-start;margin-top:20px;font-size:12px}
.nx-checkout .nx-payment-note{font-size:10px;margin-top:14px}
.nx-product-description{font-size:13px;line-height:1.9}
.nx-checkout .nx-coupon button{flex-shrink:0;white-space:nowrap}
body #openModal .pv-payment-title{display:flex!important;align-items:center;gap:8px}
body #openModal :is(#preview_discount_row,#preview_vat_row)[style*="display:none"],body #openModal :is(#preview_discount_row,#preview_vat_row)[style*="display: none"]{display:none!important}
