.wepay-page { min-height: 100vh; display: flex; flex-direction: column; background: #f5f7fb; } .wepay-shell { flex: 1; width: 100%; padding: 48px 15px 64px; } .wepay-card { max-width: 1120px; margin: 0 auto; overflow: hidden; background: #fff; border: 1px solid #e8edf3; border-radius: 8px; box-shadow: 0 18px 45px rgba(20, 34, 54, .08); } .wepay-card__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; color: #fff; background: var(--main-color); } .wepay-card__head h1 { margin: 6px 0 0; font-size: 24px; line-height: 1.35; font-weight: 600; } .wepay-card__head img { height: 30px; max-width: 180px; object-fit: contain; } .wepay-eyebrow { margin: 0; font-size: 13px; line-height: 1.4; letter-spacing: 0; opacity: .82; } .wepay-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #e8edf3; } .wepay-summary > div { padding: 20px 32px; background: #fff; } .wepay-summary span { display: block; margin-bottom: 8px; color: #6d7785; font-size: 14px; } .wepay-summary strong { color: #172033; font-size: 20px; line-height: 1.3; word-break: break-word; } .wepay-summary .wepay-amount { color: #e25a2c; } .wepay-methods { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) 320px; gap: 24px; padding: 32px; } .wepay-method, .wepay-guide { border: 1px solid #e8edf3; border-radius: 8px; background: #fff; } .wepay-method { padding: 22px; text-align: center; } .wepay-method__title { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin-bottom: 18px; color: #172033; font-size: 16px; font-weight: 600; } .wepay-method__title img { max-width: 92px; max-height: 34px; object-fit: contain; } .wepay-qr { display: inline-flex; align-items: center; justify-content: center; width: 190px; height: 190px; padding: 12px; border: 1px solid #dfe5ec; border-radius: 8px; background: #fff; } .wepay-qr img { width: 100%; height: 100%; object-fit: contain; } .wepay-guide { padding: 24px; background: #f9fbfd; } .wepay-guide img { display: block; width: 150px; height: 210px; margin: 0 auto 16px; object-fit: contain; } .wepay-guide h2 { margin: 0 0 10px; color: #172033; font-size: 18px; line-height: 1.35; font-weight: 600; } .wepay-guide p { margin: 0; color: #5f6977; font-size: 14px; line-height: 1.7; } .wepay-waiting { margin-top: 18px; padding: 10px 12px; color: var(--main-color); font-size: 14px; text-align: center; background: #fff; border: 1px solid #e8edf3; border-radius: 8px; } .wepay-success { max-width: 820px; padding: 48px; text-align: center; } .wepay-success__mark { display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; margin-bottom: 18px; color: #fff; font-size: 40px; font-weight: 700; background: var(--main-color); border-radius: 50%; } .wepay-success h1 { margin: 8px 0 14px; color: #172033; font-size: 28px; line-height: 1.3; } .wepay-success__order, .wepay-success__desc { margin: 0 auto 12px; max-width: 680px; color: #4d5968; font-size: 16px; line-height: 1.7; } .wepay-success__order strong { color: #e25a2c; } .wepay-success__tips { margin: 28px auto 0; max-width: 720px; padding: 20px 24px; color: #4d5968; text-align: left; background: #f9fbfd; border: 1px solid #e8edf3; border-radius: 8px; } .wepay-success__tips p { margin: 0 0 10px; font-size: 15px; line-height: 1.7; } .wepay-success__tips p:last-child { margin-bottom: 0; } .wepay-button { display: inline-flex; align-items: center; justify-content: center; min-width: 168px; min-height: 46px; margin-top: 28px; padding: 0 24px; color: #fff; font-size: 16px; font-weight: 600; background: var(--main-color); border-radius: 8px; } .wepay-button:hover { color: #fff; opacity: .92; } @media screen and (max-width: 992px) { .wepay-methods { grid-template-columns: 1fr 1fr; } .wepay-guide { grid-column: 1 / -1; } } @media screen and (max-width: 640px) { .wepay-shell { padding-top: 28px; } .wepay-card__head, .wepay-summary, .wepay-methods { display: block; } .wepay-card__head { padding: 24px 20px; } .wepay-card__head img { margin-top: 18px; } .wepay-summary > div { padding: 18px 20px; border-bottom: 1px solid #e8edf3; } .wepay-methods { padding: 20px; } .wepay-method, .wepay-guide { margin-bottom: 16px; } .wepay-qr { width: 180px; height: 180px; } .wepay-success { padding: 36px 20px; } .wepay-success h1 { font-size: 24px; } } .wepay-result-card { max-width: 860px; margin: 0 auto; padding: 46px 48px; color: #172033; text-align: center; background: #fff; border: 1px solid #e8edf3; border-radius: 8px; box-shadow: 0 18px 45px rgba(20, 34, 54, .08); } .wepay-result-icon { display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; margin-bottom: 18px; border-radius: 50%; } .wepay-result-icon--success { color: #fff; font-size: 40px; font-weight: 700; background: var(--main-color); } .wepay-result-icon--pending { background: #f5f7fb; border: 1px solid #e8edf3; } .wepay-success-detail h1, .payment-pending-title { margin: 8px 0 16px; color: #172033; font-size: 28px; line-height: 1.3; font-weight: 700; } .wepay-success-order, .payment-pending-order { margin: 0 auto 16px; max-width: 700px; color: #8a1f11; font-size: 18px; line-height: 1.7; font-weight: 600; } .wepay-success-text, .payment-pending-text { margin: 0 auto 12px; max-width: 720px; color: #4d5968; font-size: 16px; line-height: 1.8; } .wepay-contact-text { margin: 22px auto 0; max-width: 720px; color: #d63622; font-size: 18px; line-height: 1.7; font-weight: 700; } .payment-pending { max-width: 760px; margin: 0 auto; } .payment-pending-status { display: inline-block; margin: 10px 0 12px; padding: 10px 14px; color: #9a5a00; font-size: 15px; line-height: 1.6; background: #fff8e7; border: 1px solid #f1dfb6; border-radius: 8px; } .payment-spinner { display: inline-block; width: 28px; height: 28px; border: 3px solid #dfe5ec; border-top-color: var(--main-color); border-radius: 50%; animation: wepay-spin .8s linear infinite; } .wepay-actions { margin-top: 28px; } .wepay-button--ghost { color: var(--main-color); background: #fff; border: 1px solid var(--main-color); } .wepay-button--ghost:hover { color: var(--main-color); background: #f7fbff; } @keyframes wepay-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @media screen and (max-width: 640px) { .wepay-result-card { padding: 34px 20px; } .wepay-success-detail h1, .payment-pending-title { font-size: 24px; } .wepay-success-order, .payment-pending-order { font-size: 16px; } }