/* Fixed-address checkout. Amounts and settlement states come from the server. */
.crypto-payment-page .customer-page-heading h1 { font-size:clamp(40px,4.7vw,68px); }
.crypto-payment-page .checkout-layout { grid-template-columns:minmax(0,1fr) 340px; }
.crypto-payment-page .checkout-summary-art { height:155px; }
.crypto-payment-page .checkout-summary-footnote { text-align:left; }
.crypto-payment-page .checkout-main > * { min-width:0; }
.crypto-pay-panel { overflow:hidden; background:radial-gradient(ellipse at 85% 0%,#a88aff12,transparent 45%),#101017; }
.crypto-pay-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 28px; border-bottom:1px solid #ffffff0e; }
.crypto-pay-asset { display:flex; gap:14px; align-items:center; min-width:0; }
.crypto-pay-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:#b9a0ff12; border:1px solid #b9a0ff25; color:#cfbaff; font-size:27px; flex:none; }
.crypto-pay-asset h2 { font-size:20px; font-weight:500; letter-spacing:-.025em; }
.crypto-pay-asset p { font-size:12px; color:#a4a0b4; margin-top:4px; }
.crypto-pay-asset > div { min-width:0; overflow-wrap:anywhere; }
.crypto-pay-network { border:1px solid #ffffff1a; border-radius:7px; padding:7px 9px; font-size:10px; color:#c6bed7; letter-spacing:.05em; white-space:nowrap; }
.crypto-pay-network { max-width:100%; white-space:normal; text-align:center; line-height:1.5; }
.crypto-pay-body { padding:32px 28px 26px; }
.crypto-pay-amount { text-align:center; margin-bottom:26px; }
.crypto-pay-eyebrow { display:block; font-size:10px; font-weight:500; color:#a8a0bb; letter-spacing:.16em; }
.crypto-pay-amount-line { margin:10px 0 12px; display:flex; align-items:baseline; justify-content:center; gap:8px; flex-wrap:wrap; }
.crypto-pay-amount-line strong { font-size:clamp(26px,3.2vw,42px); font-weight:500; line-height:1.2; letter-spacing:-.04em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.crypto-pay-amount-line b { font-size:15px; font-weight:500; color:#a998c5; }
.crypto-pay-amount small { font-size:12px; color:#9691a7; line-height:1.6; }
.crypto-pay-inline-copy { background:#ffffff08; border:1px solid #ffffff12; color:#b9accb; padding:5px; border-radius:6px; align-self:center; }
.crypto-pay-inline-copy:hover { color:#e8dbff; border-color:#9e7ee959; }
.crypto-pay-inline-copy .icon { height:15px; width:15px; }
.crypto-qr-station { display:grid; grid-template-columns:192px minmax(0,1fr); gap:28px; align-items:center; padding:23px; border:1px solid #a993d324; border-radius:18px; background:linear-gradient(125deg,#191320a6,#0d0e146b); }
.crypto-qr-wrap { background:#fff; border-radius:12px; padding:13px; box-shadow:0 0 45px #bb9af712; position:relative; aspect-ratio:1; }
.crypto-qr-wrap { max-width:100%; min-width:0; }
.crypto-qr-wrap canvas { display:block; width:100%; height:100%; image-rendering:pixelated; }
.crypto-qr-offline { display:grid; place-items:center; height:100%; font-size:12px; color:#393043; text-align:center; line-height:1.6; }
.crypto-qr-note h3 { font-size:18px; font-weight:500; line-height:1.3; margin-bottom:9px; letter-spacing:-.03em; }
.crypto-qr-note p { font-size:12px; color:#aaa2b7; line-height:1.8; }
.crypto-qr-network { display:inline-flex; align-items:center; gap:7px; margin-top:14px; padding:7px 9px; background:#bfa2ff0a; border-radius:6px; color:#cdbde4; font-size:10px; }
.crypto-qr-network .icon { height:13px; width:13px; }
.crypto-pay-field { margin-top:22px; }
.crypto-pay-field-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; font-size:11px; color:#aaa1ba; }
.crypto-pay-field-heading span:last-child { color:#83778f; font-size:10px; }
.crypto-pay-field-heading { flex-wrap:wrap; }
.crypto-pay-address { padding:16px; border:1px solid #bda0ff24; background:#07080db3; border-radius:10px; display:flex; align-items:center; gap:14px; }
.crypto-pay-address code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:13px; line-height:1.65; overflow-wrap:anywhere; color:#ddd1ed; min-width:0; flex:1; user-select:all; }
.crypto-copy-button { display:flex; align-items:center; gap:7px; border:1px solid #a58bd23a; background:#b394eb13; border-radius:7px; padding:9px 11px; color:#d3bfee; font-size:11px!important; white-space:nowrap; }
.crypto-copy-button:hover { background:#b394eb23; }
.crypto-copy-button .icon { height:14px; width:14px; }
.crypto-pay-reference { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; color:#9d93ad; font-size:10px; flex-wrap:wrap; }
.crypto-pay-reference code { color:#c0b5cf; font-size:11px; letter-spacing:.04em; }
.crypto-pay-reference button { border:0; background:transparent; color:#a393b9; padding:0; display:flex; gap:5px; align-items:center; font-size:11px; }
.crypto-pay-reference .icon { width:12px; height:12px; }
.crypto-pay-reference > * { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.crypto-pay-reference button { flex-wrap:wrap; }
.crypto-quote-clock { display:flex; gap:7px; align-items:center; font-variant-numeric:tabular-nums; }
.crypto-quote-clock .icon { width:13px; height:13px; }
.crypto-quote-clock strong { color:#cab4e4; font-size:11px; font-weight:500; }
.crypto-quote-clock.is-expired strong { color:#efc392; }
.crypto-pay-status { border-top:1px solid #ffffff0d; padding:23px 28px; background:#080a1033; }
.crypto-status-head { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.crypto-status-label { display:flex; gap:9px; align-items:center; font-size:12px; font-weight:500; }
.crypto-status-head { flex-wrap:wrap; }
.crypto-status-label { flex:1 1 160px; min-width:0; overflow-wrap:anywhere; }
.crypto-status-dot { width:6px; height:6px; border-radius:50%; background:#c4a2ff; box-shadow:0 0 14px #bc93ff66; }
.crypto-status-dot { flex-shrink:0; }
.crypto-pay-panel[data-payment-state="paid"] .crypto-status-dot { background:#7bd4b3; box-shadow:0 0 14px #7bd4b34d; }
.crypto-pay-panel[data-payment-state="expired"] .crypto-status-dot, .crypto-pay-panel[data-payment-state="underpaid"] .crypto-status-dot, .crypto-pay-panel[data-payment-state="review_required"] .crypto-status-dot { background:#dfb486; }
.crypto-status-head button { border:0; background:transparent; color:#ab98c3; font-size:11px; display:flex; align-items:center; gap:6px; padding:5px 0; }
.crypto-status-head button .icon { height:13px; width:13px; }
.crypto-status-message { font-size:11px; color:#9790a7; line-height:1.8; margin-top:11px!important; }
.crypto-status-flow { display:flex; gap:0; margin-top:23px; }
.crypto-status-flow > span { flex:1; font-size:10px; color:#6e687d; padding-top:10px; border-top:2px solid #ffffff0c; position:relative; }
.crypto-status-flow > span.is-current, .crypto-status-flow > span.is-complete { border-color:#a888e6; color:#c3aedb; }
.crypto-status-flow > span:first-child { flex:1.15; }
.crypto-status-flow > span { min-width:0; padding-inline-end:6px; line-height:1.6; overflow-wrap:anywhere; }
.crypto-status-flow > span:last-child { flex:.8; text-align:right; }
.crypto-status-flow > span:last-child.is-complete { border-color:#7bd4b3; color:#8ed8ba; }
.crypto-payment-detail { margin-top:12px!important; color:#b3a7bf; font-size:11px; overflow-wrap:anywhere; }
.crypto-payment-record { margin-top:16px; display:inline-flex; align-items:center; gap:6px; font-size:11px; color:#cdb8e7!important; }
.crypto-payment-record, .crypto-pay-links a, .crypto-pay-caution p { min-width:0; overflow-wrap:anywhere; }
.crypto-pay-caution { display:flex; gap:12px; padding:17px 19px; border:1px solid #ffffff0b; border-radius:12px; margin-top:16px; color:#948ba3; font-size:11px; line-height:1.8; }
.crypto-pay-caution > .icon { width:17px; height:17px; margin-top:2px; color:#b5a0cb; }
.crypto-pay-caution strong { color:#c3b6d1; font-weight:500; }
.crypto-pay-links { display:flex; justify-content:space-between; gap:15px; margin:20px 2px 0; flex-wrap:wrap; }
.crypto-pay-links a { font-size:11px; display:flex; align-items:center; gap:6px; color:#a299af; }
.crypto-pay-links .icon { width:13px; height:13px; }
.crypto-quote-alert { margin:20px 0 0; padding:16px; border:1px solid #d4aa7330; border-radius:10px; background:#d4aa7306; }
.crypto-quote-alert p { font-size:12px; line-height:1.7; color:#b6a68e; margin-bottom:13px; }
.crypto-quote-alert button { font-size:12px; }
.crypto-payment-toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%); padding:11px 17px; border:1px solid #bda3e347; border-radius:10px; background:#1d1728; color:#e0cafa; font-size:12px; box-shadow:0 6px 40px #0006; z-index:150; max-width:calc(100% - 40px); text-align:center; }
.crypto-pay-unavailable { text-align:center; padding:30px 20px; }
.crypto-pay-unavailable > .icon { width:46px; height:46px; color:#a992c9; margin-bottom:18px; }
.crypto-pay-unavailable h3 { font-size:23px; font-weight:500; }
.crypto-pay-unavailable p { color:#a59aae; font-size:13px; line-height:1.8; max-width:360px; margin:12px auto 22px; }
.crypto-pay-unavailable form { max-width:280px; margin:0 auto; }
.checkout-coin-choice { min-width:0; }
@media (max-width:1150px) {
 .crypto-payment-page .checkout-layout { grid-template-columns:minmax(0,1fr) 290px; gap:20px; }
 .crypto-qr-station { grid-template-columns:160px minmax(0,1fr); gap:20px; padding:18px; }
 .crypto-pay-top,.crypto-pay-status { padding:22px; }
 .crypto-pay-body { padding:26px 22px 22px; }
}
@media (max-width:980px) {
 .crypto-payment-page .checkout-layout { grid-template-columns:minmax(0,1fr) 270px; }
 .crypto-qr-station { grid-template-columns:1fr; text-align:center; }
 .crypto-qr-wrap { width:178px; margin:auto; }
 .crypto-qr-note h3 { font-size:16px; }
 .crypto-qr-note p { max-width:290px; margin:auto; }
}
@media (max-width:900px) {
 .crypto-payment-page .checkout-layout { grid-template-columns:minmax(0,1fr); }
 .crypto-payment-page .checkout-summary { position:static; }
 .crypto-qr-station { grid-template-columns:180px minmax(0,1fr); text-align:start; }
}
@media (max-width:760px) {
 .crypto-payment-page .checkout-layout { grid-template-columns:minmax(0,1fr); }
 .crypto-payment-page .checkout-summary { position:static; }
 .crypto-payment-page .customer-page-heading { margin-bottom:25px; }
 .crypto-payment-page .customer-page-heading h1 { font-size:clamp(39px,10.8vw,58px); }
 .crypto-qr-station { grid-template-columns:180px minmax(0,1fr); text-align:left; }
}
@media (max-width:540px) {
 .crypto-pay-top { padding:20px; gap:10px; }
 .crypto-pay-icon { width:40px; height:40px; font-size:23px; border-radius:12px; }
 .crypto-pay-asset { gap:10px; }
 .crypto-pay-asset h2 { font-size:17px; }
 .crypto-pay-network { font-size:9px; padding:6px 7px; }
 .crypto-pay-body { padding:25px 18px 22px; }
 .crypto-qr-station { grid-template-columns:1fr; text-align:center; gap:20px; padding:20px; }
 .crypto-qr-wrap { width:184px; }
 .crypto-pay-amount-line strong { font-size:31px; }
 .crypto-pay-address { align-items:flex-start; gap:10px; padding:13px; }
 .crypto-pay-address code { font-size:12px; }
 .crypto-copy-button { padding:8px; }
 .crypto-copy-button, .crypto-pay-inline-copy { min-width:44px; min-height:44px; justify-content:center; }
 .crypto-copy-button span { display:none; }
 .crypto-pay-status { padding:21px 18px; }
 .crypto-pay-reference { font-size:10px; gap:12px; }
 .crypto-pay-reference button, .crypto-pay-links a, .crypto-payment-record { min-height:44px; }
 .crypto-status-head { gap:6px 15px; }
 .crypto-status-head button { min-height:44px; }
 .crypto-pay-caution { padding:15px; }
}
@media (max-width:360px) {
 .crypto-pay-network { max-width:95px; white-space:normal; text-align:center; line-height:1.5; }
 .crypto-pay-amount-line strong { font-size:27px; }
}
