/* Optional automatic payment controls; unavailable channels are never advertised. */
.redirect-payment{min-width:0;max-width:100%;overflow-wrap:anywhere}
.redirect-payment .redirect-order-summary{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid #e5e1dc;flex-wrap:wrap}
.redirect-payment .redirect-order-summary h3{margin:0;font-size:15px;max-width:100%;overflow-wrap:anywhere}
.redirect-payment .redirect-order-summary strong{font-size:26px;font-variant-numeric:tabular-nums}
.redirect-payment .redirect-methods{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}
.redirect-payment .redirect-methods legend{padding:0;margin-bottom:16px;font-weight:650}
.redirect-payment .redirect-method{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;margin:0;padding:18px;border:1px solid #d8d5d0;border-radius:10px;background:#fff;cursor:pointer;min-width:0}
.redirect-payment .redirect-method:has(input:checked){border-color:#ad0030;box-shadow:inset 0 0 0 1px #ad0030;background:#fff9fa}
.redirect-payment .redirect-method:focus-within{outline:2px solid #ad0030;outline-offset:3px}
.redirect-payment .redirect-method input{margin:4px 0 0;width:18px;height:18px;accent-color:#ad0030}
.redirect-payment .redirect-method strong{display:block;font-size:15px;line-height:1.5}
.redirect-payment .redirect-method small{display:block;margin-top:5px;color:#66615c;font-size:13px;line-height:1.6}
.redirect-payment .redirect-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.redirect-payment .redirect-actions button,.redirect-payment .redirect-actions a{min-height:44px;white-space:normal;text-align:center;line-height:1.5;max-width:100%}
.redirect-payment .redirect-actions .redirect-primary{background:#ad0030;color:#fff;border-color:#ad0030}
.redirect-payment .redirect-actions .redirect-primary:not(:disabled):hover{background:#8e0027;border-color:#8e0027}
.redirect-payment .redirect-status{padding:20px;border:1px solid #e2ded8;background:#f8f7f4;border-radius:10px;margin:20px 0}
.redirect-payment .redirect-status h3{margin:0 0 10px;line-height:1.5}.redirect-payment .redirect-status p{margin:0;font-size:14px;line-height:1.75;color:#5e5a55}
.redirect-payment .redirect-status[data-state="SUCCEEDED"]{border-color:#c7ded0;background:#f4faf6}
.payment-success-art{display:block;width:clamp(144px,28vw,220px);max-width:100%;height:auto;aspect-ratio:1;margin:0 auto 18px;border-radius:12px;object-fit:contain}
.redirect-payment .redirect-note{color:#69645f;font-size:13px;line-height:1.7}.redirect-payment .redirect-error{color:#9b183b;background:#fff2f5;border-radius:8px;padding:14px 16px;line-height:1.7}
.redirect-payment .redirect-note:empty,.redirect-payment .redirect-error:empty{display:none}
.payment-return-page .checkout-main{max-width:640px}.payment-return-page .checkout-heading{margin-top:16px}.payment-return-page .redirect-actions a{text-decoration:none}
@media(max-width:600px){.redirect-payment .redirect-method{padding:15px 13px;gap:10px}.redirect-payment .redirect-actions{display:grid;grid-template-columns:minmax(0,1fr)}.redirect-payment .redirect-actions>*{width:100%;margin:0}.redirect-payment .redirect-status{padding:17px 15px}.redirect-payment .redirect-order-summary strong{font-size:24px}}

/* A completed payment becomes a receipt, scoped to this confirmed view only. */
#business-workspace:has(> .payment-completion){padding:0;border:0;background:transparent;box-shadow:none}
#business-workspace:has(> .payment-completion)>h2{display:none}
.checkout-page:has(.payment-completion) .checkout-heading,.checkout-page:has(.payment-completion) .checkout-steps,.checkout-page:has(.payment-completion) .checkout-back{display:none}
.checkout-page:has(.payment-completion) .checkout-main{width:min(1000px,calc(100% - 48px));max-width:1000px;margin-top:56px}
.payment-completion{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,52px);padding:clamp(24px,4vw,52px);border:1px solid #e6e0d8;border-radius:24px;background:#f4f2ee;box-shadow:0 16px 56px #241b1110;overflow:hidden;color:#201e1c}
.payment-completion-visual{position:relative;min-width:0;width:100%;aspect-ratio:1;align-self:center}
.payment-completion .payment-success-art,.payment-completion .payment-success-motion{display:block;width:100%;max-width:none;height:auto;aspect-ratio:1;object-fit:contain;margin:0;border-radius:0}
.payment-completion .payment-success-motion{position:absolute;inset:0;height:100%}
.payment-completion .payment-success-motion[hidden]{display:none}
.payment-completion-copy{min-width:0;padding:10px 0}
.payment-completion .payment-completion-brand{margin:0 0 22px;font-size:11px;font-weight:700;letter-spacing:.22em;color:#8b7770}
.payment-completion .payment-completion-confirmed{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#a9002d;font-size:13px;font-weight:650;line-height:1.5}
.payment-completion-confirmed::before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:13px;flex:none}
.payment-completion .payment-completion-title{font-size:clamp(32px,3.7vw,44px);line-height:1.2;letter-spacing:-.045em;margin:0 0 16px;color:#201e1c}
.payment-completion .payment-completion-message{font-size:14px;line-height:1.85;color:#716961;margin:0;max-width:31em}
.payment-completion-receipt{margin:28px 0 24px;padding-top:24px;border-top:1px solid #ded7cf}
.payment-completion-label{display:block;font-size:12px;color:#746b64;line-height:1.6}
.payment-completion-amount{display:block;font-size:clamp(34px,3.6vw,44px);line-height:1.4;font-weight:750;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:3px 0 16px}
.payment-completion-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;font-size:12px;line-height:1.65;margin:0}
.payment-completion-facts dt{color:#85796e}.payment-completion-facts dd{margin:0;text-align:right;color:#514942;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.payment-completion .payment-completion-primary{display:block;width:100%;min-height:52px;background:#ac002f;border:1px solid #ac002f;border-radius:8px;color:#fff;font-size:15px;font-weight:650;line-height:1.5;margin:0;padding:13px 20px;text-align:center;white-space:normal}
.payment-completion .payment-completion-primary:not(:disabled):hover{background:#8f0027;border-color:#8f0027}
.payment-completion .payment-completion-primary:focus-visible,.payment-completion-shop:focus-visible{outline:2px solid #ac002f;outline-offset:4px}
.payment-completion .payment-completion-next{font-size:12px;line-height:1.7;text-align:center;color:#80746b;margin:11px 0 18px}
.payment-completion-shop{display:block;width:fit-content;margin:0 auto;color:#50463e;font-size:13px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}
.payment-completion-record{margin:20px 0 0;padding:16px 20px;border:1px solid #e6e0d8;border-radius:10px;background:#fff;font-size:13px}.payment-completion-record>summary{cursor:pointer;color:#6c625a}.payment-completion-record[open]>summary{margin-bottom:18px}
@media(max-width:680px){
 .checkout-page:has(.payment-completion) .checkout-main{width:calc(100% - 28px);margin-top:24px;margin-bottom:36px}
 .payment-completion{grid-template-columns:minmax(0,1fr);gap:0;padding:18px 24px 28px;border-radius:18px}
 .payment-completion-visual{width:min(100%,340px);margin:0 auto}
 .payment-completion-copy{padding:2px 0 0;text-align:center}
 .payment-completion .payment-completion-brand{display:none}
 .payment-completion .payment-completion-confirmed{justify-content:center;margin-bottom:10px}
 .payment-completion .payment-completion-title{font-size:34px;margin-bottom:12px}
 .payment-completion .payment-completion-message{font-size:13px;margin:0 auto;max-width:28em}
 .payment-completion-receipt{margin:22px 0;padding-top:19px}
 .payment-completion-amount{font-size:38px;margin:2px 0 17px}
 .payment-completion-facts{text-align:left;gap:7px 12px}
 .payment-completion .payment-completion-primary{min-height:50px}
}
@media(prefers-reduced-motion:reduce){.payment-completion .payment-success-motion{display:none!important}}

/* Native radio choices keep payment labels usable even when a brand image fails. */
.checkout-payment-methods .checkout-payment-picker{display:grid;gap:10px;min-width:0;max-width:100%;margin:0 0 12px;padding:0;border:0}
.checkout-payment-methods .checkout-payment-picker legend{padding:0;margin:0 0 10px;font-size:14px;font-weight:650}
.checkout-payment-methods .checkout-payment-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-width:0;min-height:76px;margin:0;padding:14px 16px;border:1px solid #d8d5d0;border-radius:10px;background:#fff;color:#201e1c;cursor:pointer}
.checkout-payment-methods .checkout-payment-option.is-selected{border-color:#ad0030;background:#fff6f8;box-shadow:inset 0 0 0 1px #ad0030}
.checkout-payment-methods .checkout-payment-option:focus-within{outline:2px solid #ad0030;outline-offset:3px}
.checkout-payment-methods .checkout-payment-option:has(input:disabled){cursor:default;background:#f8f7f4;color:#69645f}
.checkout-payment-methods .checkout-payment-option input[type=radio]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#ad0030}
.checkout-payment-methods .checkout-payment-content{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.checkout-payment-methods .checkout-payment-details{display:grid;gap:3px;min-width:0;flex:1 1 110px}
.checkout-payment-methods .checkout-payment-brand{display:block;flex:0 0 40px;width:40px;height:32px;object-fit:contain;background:#fff}
.checkout-payment-methods .checkout-payment-brand-wechat{flex-basis:112px;width:112px}
.redirect-payment .checkout-payment-brand{display:block;width:112px;height:32px;object-fit:contain;object-position:left center;margin:0 0 8px}
.redirect-payment .checkout-payment-brand[hidden]{display:none}
.checkout-payment-methods .checkout-payment-brand[hidden]{display:none}
.checkout-payment-methods .checkout-payment-name{min-width:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.checkout-payment-methods .checkout-payment-meta{font-size:12px;line-height:1.6;overflow-wrap:anywhere;color:#625c57}
.checkout-payment-methods .checkout-payment-selected-badge{font-size:12px;font-weight:700;color:#99002a;white-space:nowrap}
.checkout-payment-methods .checkout-payment-selected-badge[hidden]{display:none}
.checkout-payment-methods .checkout-payment-unavailable{grid-column:2/-1;font-size:13px;line-height:1.65;overflow-wrap:anywhere;color:#625c57}
.checkout-payment-methods .checkout-payment-selection{margin:10px 0;padding:12px 14px;border-left:3px solid #ad0030;background:#f8f7f4;font-weight:650;line-height:1.65;overflow-wrap:anywhere}
.checkout-payment-methods .checkout-payment-help{font-size:13px;line-height:1.7;margin:0 0 10px;overflow-wrap:anywhere}
.checkout-payment-browser-guide{box-sizing:border-box;min-width:0;max-width:100%;margin:0 0 18px;padding:16px 18px;border:1px solid #bf4866;border-left:5px solid #ad0030;border-radius:10px;background:#fff4f6;color:#38252b;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.checkout-payment-browser-guide .checkout-payment-browser-title{display:block;margin:0 0 8px;color:#91002a;font-size:17px;line-height:1.5;font-weight:750}
.checkout-payment-browser-guide p{margin:8px 0 0;font-size:inherit;line-height:inherit;color:inherit}
.checkout-payment-browser-guide .checkout-payment-browser-state{font-size:13px;color:#5c454d}
@media(max-width:420px){.checkout-payment-browser-guide{padding:14px 12px}.checkout-payment-browser-guide .checkout-payment-browser-title{font-size:16px}}
.checkout-payment-methods.checkout-payment-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:12px 14px;border:1px solid #d8d5d0;border-radius:10px;background:#f8f7f4;overflow-wrap:anywhere}
.checkout-payment-methods .checkout-payment-change{min-height:40px;padding:7px 12px;border:1px solid #ad0030;border-radius:6px;background:#fff;color:#99002a;font:inherit;cursor:pointer}
.checkout-payment-methods .checkout-payment-change:focus-visible{outline:2px solid #ad0030;outline-offset:3px}
.checkout-payment-methods>small{display:block;line-height:1.65;margin-top:5px}
section.payment-change-help{margin:16px 0;padding:16px;border:1px solid #d8d5d0;border-left:3px solid #ad0030;border-radius:10px;background:#f8f7f4;scroll-margin-top:100px;overflow-wrap:anywhere}
section.payment-change-help:focus{outline:2px solid #ad0030;outline-offset:3px}
section.payment-change-help h2,section.payment-change-help h3{margin:0 0 10px}
section.payment-change-help p{line-height:1.7}
@media(max-width:420px){.checkout-payment-methods .checkout-payment-option{padding:12px;gap:8px 10px}.checkout-payment-methods .checkout-payment-selected-badge{grid-column:2/-1;justify-self:start}.checkout-payment-methods .checkout-payment-content{grid-column:2/-1}}

.wechat-native-qr { display: block; max-width: 100%; height: auto; margin: 1rem auto; background: #fff; image-rendering: pixelated; }
.wechat-native-qr[hidden] { display: none; }
