.wechat-checkout { box-sizing: border-box; width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border-radius: 12px; }
.wechat-checkout .wechat-checkout-heading { padding: 16px 20px; }
.wechat-checkout .wechat-checkout-heading h2 { color: var(--color-black); font-size: 17px; font-weight: 600; }
.wechat-checkout-body { min-height: 0; overflow-y: auto; padding: 20px 24px; }
.wechat-checkout { --payment-brand: var(--color-brand-wechat); --payment-qr-size: 208px; }
.wechat-checkout[data-provider="alipay_page"] { --payment-brand: var(--color-brand-alipay); }
.wechat-checkout select { box-sizing: border-box; width: 100%; margin: 18px 0 8px; padding: 10px; border: 1px solid var(--color-border-warm); border-radius: 8px; background: var(--color-white); color: inherit; }
.wechat-checkout select:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.wechat-checkout-amount { margin: 8px 0 4px; font-size: 30px; font-weight: 700; text-align: center; }
.wechat-checkout-plan { margin: 12px 0 0; font-size: 14px; color: var(--color-text-muted); text-align: center; }
.wechat-checkout-code { display: block; box-sizing: content-box; width: var(--payment-qr-size); height: var(--payment-qr-size); margin: 12px auto; padding: 0; border: 0; background: var(--color-white); }
.wechat-checkout-code { object-fit: contain; }
.wechat-checkout [hidden] { display: none !important; }
.wechat-checkout-message { min-height: 23px; margin: 8px 0; font-size: 14px; line-height: 1.6; text-align: center; }
.wechat-checkout-message:empty, .wechat-checkout-order { display: none; }
.payment-success-icon { display: block; width: 56px; height: 56px; margin: 12px auto 20px; color: var(--payment-brand); }
.payment-success-icon svg { display: block; width: 100%; height: 100%; }
.wechat-checkout .payment-provider-label { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 16px 0 4px; font-size: 14px; font-weight: 400; color: var(--payment-brand); }
.payment-provider-label svg { display: block; width: 24px; height: 24px; flex: none; }
.wechat-checkout .wechat-checkout-account { margin-top: 24px; background: var(--color-primary); transition: background .15s; }
.wechat-checkout .wechat-checkout-account:hover { background: var(--color-primary-hover); filter: none; }
.wechat-checkout .wechat-checkout-account:active { background: var(--color-primary-active); filter: none; }
.wechat-checkout .wechat-checkout-account:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.wechat-checkout[data-paid="true"] .wechat-checkout-body { padding: 32px 32px 28px; }
.wechat-checkout[data-paid="true"] .wechat-checkout-message { margin: 0 0 8px; font-size: 22px; line-height: 1.5; font-weight: 600; color: var(--color-black); }
.payment-result-icon { margin: 4px auto 24px; color: var(--color-success); }
.payment-result-entitlement { margin: 0 0 28px; color: var(--color-text-muted); font-size: 14px; line-height: 1.8; text-align: center; }
.payment-result-entitlement img { display: inline-block; width: auto; height: 15px; margin: 0 5px; vertical-align: -2px; }
.wechat-checkout[data-paid="true"] .wechat-checkout-action, .wechat-checkout .alipay-checkout-link { background: var(--color-primary); transition: background .15s; }
.wechat-checkout[data-paid="true"] .wechat-checkout-action:hover, .wechat-checkout .alipay-checkout-link:hover { background: var(--color-primary-hover); filter: none; }
.wechat-checkout[data-paid="true"] .wechat-checkout-action:active, .wechat-checkout .alipay-checkout-link:active { background: var(--color-primary-active); filter: none; }
.wechat-checkout-order { margin: 8px 0 16px; color: var(--color-text-muted); font-size: 11px; overflow-wrap: anywhere; white-space: pre-line; text-align: center; }
.wechat-checkout-action { display: block; width: 100%; min-height: 44px; border: 0; border-radius: 8px; background: var(--payment-brand); color: var(--color-white); font: inherit; font-weight: 600; cursor: pointer; }
.wechat-checkout-action:hover { filter: brightness(.95); }
.wechat-checkout-action:active { filter: brightness(.9); }
.wechat-checkout-action:disabled { opacity: .55; cursor: default; }
.wechat-checkout-preview { padding: 8px; border-radius: 6px; background: var(--color-surface-muted); color: var(--color-danger); font-size: 13px; text-align: center; }
.plan-payment-buttons .plan-pay-wechat:enabled, .plan-payment-buttons .plan-pay-alipay:enabled { cursor: pointer; opacity: 1; }
/* Shared by all locales and tools; show only connected payment channels. */
.plan-payment-buttons .plan-pay-stripe { display: none !important; }
.alipay-checkout-link { display: block; box-sizing: border-box; text-align: center; text-decoration: none; margin-top: 12px; padding: 12px; }
.alipay-checkout-link[hidden] { display: none; }
