.payment-contact { box-sizing: border-box; grid-column: 1 / -1; width: 100%; min-width: 0; margin: 16px 0; padding: 18px; border: 1px solid #c9dcd3; border-radius: 8px; background: #f5faf7; color: #163d30; text-align: left; }
.payment-contact .payment-contact-heading { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.payment-contact .payment-contact-hint { margin: 0 0 16px; font-size: 13px; font-weight: 400; line-height: 1.6; color: #52665d; }
.payment-contact .payment-existing-contact {display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 14px;padding:8px 0;font:600 14px/1.5 Arial,sans-serif;color:#27533f;cursor:pointer;}
.payment-contact .payment-existing-contact input {appearance:auto;flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#185c43;}
.payment-contact .payment-contact-fields input:disabled {background:#edf2ee;color:#8a9990;border-color:#d7e1da;cursor:not-allowed;}
.payment-contact.has-existing-contact .payment-contact-fields label {color:#7b8a80;}
.payment-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.payment-contact-two .payment-contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-contact-help { display: grid; gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 2px solid #bed3c7; font: 400 14px/1.6 Arial,sans-serif; overflow-wrap: anywhere; }
.payment-contact-help .payment-help-title { font-size: 19px; line-height: 1.4; color: #153f32; }
.payment-social-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.payment-contact .payment-social { display: flex; align-items: center; gap: 12px; box-sizing: border-box; width: 100%; min-width: 0; min-height: 76px; margin: 0; padding: 14px 16px; border: 1px solid transparent; border-radius: 6px; text-decoration: none; text-align: left; cursor: pointer; font: 400 16px/1.4 Arial,sans-serif; box-shadow: none; }
.payment-contact .payment-social-wechat { background: #185c43; color: #fff; }
.payment-contact .payment-social-instagram { background: #f4e6e9; color: #712c48; border-color: #e4c3cd; }
.payment-social img { flex: 0 0 28px; width: 28px; height: 28px; }
.payment-social-wechat img { filter: invert(1); }
.payment-social span { min-width: 0; }
.payment-social small, .payment-social b { display: block; }
.payment-social small { font-size: 12px; font-weight: 400; margin-bottom: 4px; }
.payment-social b { font-size: 17px; font-weight: 700; overflow-wrap: anywhere; }
.payment-social:hover { opacity: .9; }
.payment-social:focus-visible { outline: 3px solid #c7a843; outline-offset: 3px; }
.payment-copy-status:empty { display: none; }
.payment-alipay-guide { grid-column: 1 / -1; margin: 12px 0 20px; padding: 14px 16px; border-left: 3px solid #1677c8; background: #f0f7fa; color: #193e49; font: 400 14px/1.65 Arial,sans-serif; }
.payment-alipay-guide h3 { margin: 0; font: 700 17px/1.45 Arial,sans-serif; color: #145181; }
.payment-alipay-guide p { margin: 12px 0 0; font: inherit; }
.payment-alipay-guide ol { padding-left: 20px; margin: 12px 0; }
.payment-alipay-guide li + li { margin-top: 8px; }
.payment-alipay-guide { padding: 22px 20px; background: #f0f7fa; border-left: 3px solid #1677c8; }
.alipay-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 20px; }
.alipay-step { position: relative; min-width: 0; text-align: center; }
.step-number { display:block; font:700 12px/1 Arial,sans-serif; color:#52809b; margin-bottom:12px; }
.step-visual { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 12px; background:#dcecf3; border-radius:8px; }
.step-visual img { width:36px; height:36px; }
.alipay-brand { background:#1677ff; }
.alipay-brand img { filter:invert(1); }
.alipay-step strong { display:block; font:700 16px/1.4 Arial,sans-serif; }
.payment-alipay-guide .alipay-step p { font:400 13px/1.5 Arial,sans-serif; margin-top:6px; }
.payment-alipay-guide .alipay-limits { border-top:1px solid #cfdee6; padding-top:12px; font-size:11px; color:#536b76; }
.refill-panel .payment-alipay-guide { margin-top:20px; text-align:left; }
body.refill-open .refill-panel.is-needed { overscroll-behavior-y:contain; }
.alipay-offer { position:relative; min-width:0; margin:0; padding:0; background:transparent; border:0; border-radius:5px; }
.alipay-offer .alipay-offer-badge { position:absolute; top:-13px; right:8px; left:auto; width:auto; max-width:calc(100% - 16px); padding:4px 8px; border-radius:4px; background:#c83e38; color:#fff; font:700 11px/1.2 Arial,sans-serif; letter-spacing:0; white-space:nowrap; z-index:1; pointer-events:none; animation:offer-float 2.8s ease-in-out infinite; }
.support-payment, .payment-actions, .cafe-payment-options, .pay-methods { align-items:start; }
.support-payment > button, .payment-actions > button, .pay-methods > button { align-self:start; }
.support-payment, .payment-actions { margin-top:20px; }
@keyframes offer-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@media(prefers-reduced-motion:reduce) { .alipay-offer .alipay-offer-badge { animation:none; } }
.alipay-offer .alipay-recommended { width:100%; min-width:0; margin:0; background:#1677ff; color:#fff; }
body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment], [data-pay]) { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr); align-content:center; justify-content:stretch; align-items:start; gap:3px; width:100%; height:72px; min-height:72px; padding:12px 15px; border:0; border-radius:5px; color:#fff; text-align:left; font-family:Arial,sans-serif; }
body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment="alipay"], [data-pay="alipay"]) { background:#1677ff; }
body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment="paypal"], [data-pay="paypal"]) { background:#003087; }
body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment], [data-pay]) > span { font-size:20px; line-height:1.3; font-weight:900; letter-spacing:0; }
body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment], [data-pay]) > b { font-size:10px; line-height:1.4; font-weight:700; opacity:.82; letter-spacing:0; }
@media(max-width:520px) {
  body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) { grid-template-columns:minmax(0,1fr); gap:11px; }
  body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment], [data-pay]) { height:58px; min-height:58px; padding:10px 14px; }
  body :is(.support-payment, .payment-actions, .payment-submit-grid, .pay-methods) button:is([data-payment], [data-pay]) > span { font-size:17px; }
}
.alipay-offer-amount { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:8px; margin:10px 0 6px; font:400 13px/1.4 Arial,sans-serif; color:#567365; }
.alipay-offer-amount strong { color:#174b36; font-size:22px; }
.alipay-offer-terms { display:block; color:#496254; font:400 11px/1.45 Arial,sans-serif; text-align:center; }
.payment-method-option { min-width:0; }
.alipay-offer, .payment-method-option { container-type:inline-size; }
.alipay-offer[hidden], .payment-method-option[hidden], .alipay-offer:has(> button[hidden]), .payment-method-option:has(> button[hidden]) { display:none; }
.payment-currency-note { display:block; margin:6px 0 0; color:#52665d; font:400 11px/1.5 Arial,sans-serif; text-align:center; }
.alipay-offer-amount[hidden], .alipay-offer-badge[hidden] { display:none; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) { box-sizing:border-box; display:grid; width:100%; min-width:0; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:28px 18px minmax(34px,1fr); column-gap:12px; row-gap:0; align-content:stretch; height:132px; min-height:132px; margin:0; padding:16px 18px; border:0; border-radius:6px; color:#fff; text-align:left; box-shadow:inset 0 0 0 1px rgb(255 255 255 / 12%); }
body button.payment-contained:is([data-payment="alipay"], [data-pay="alipay"], #cafeAlipayPay) { background:#1677ff; }
body button.payment-contained:is([data-payment="paypal"], [data-pay="paypal"], #cafePay) { background:#003087; }
body button.payment-contained[hidden], body button.payment-contained #cafePayAmount[hidden] { display:none; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > span:first-child { grid-column:1; grid-row:1; align-self:center; font:900 20px/1.3 Arial,sans-serif; letter-spacing:0; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > b { grid-column:1; grid-row:2; align-self:start; font-size:11px; opacity:1; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > .alipay-offer-amount { grid-column:2; grid-row:1 / 3; align-self:center; display:block; margin:0; padding:0; color:#fff; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) .alipay-offer-amount strong { color:#fff; font:700 25px/1.2 Arial,sans-serif; letter-spacing:0; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) .alipay-offer-amount s { display:block; margin:0 0 2px; color:rgb(255 255 255 / 85%); font:400 12px/1.2 Arial,sans-serif; letter-spacing:0; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > .alipay-offer-amount[hidden] { visibility:hidden; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > .payment-currency-note { grid-column:1 / -1; grid-row:3; align-self:end; min-height:34px; box-sizing:border-box; margin:8px 0 0; padding:9px 0 0; border-top:1px solid rgb(255 255 255 / 28%); color:#fff; font:400 11px/1.45 Arial,sans-serif; text-align:left; overflow-wrap:break-word; }
body button.payment-contained:is([data-payment], [data-pay], .cafe-pay):focus-visible { outline:3px solid #d5af37; outline-offset:3px; }
@media(max-width:380px) { body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) { padding:16px 14px; column-gap:8px; } body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) .alipay-offer-amount strong { font-size:23px; } }
@container (max-width:260px) {
  body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) { height:170px; min-height:170px; grid-template-columns:minmax(0,1fr); grid-template-rows:26px 16px 44px minmax(34px,1fr); padding:14px; }
  body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > .alipay-offer-amount { grid-column:1; grid-row:3; text-align:left; }
  body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) .alipay-offer-amount strong { font-size:23px; }
  body button.payment-contained:is([data-payment], [data-pay], .cafe-pay) > .payment-currency-note { grid-row:4; }
}
@media(max-width:600px) { .alipay-steps { grid-template-columns:minmax(0,1fr); gap:16px; } .alipay-step { display:grid; grid-template-columns:24px 48px minmax(0,1fr); column-gap:12px; text-align:left; align-items:center; } .step-number { grid-column:1; grid-row:1 / 3; margin:0; } .step-visual { grid-column:2; grid-row:1 / 3; width:48px; height:48px; margin:0; } .step-visual img { width:28px; height:28px; } .alipay-step strong,.payment-alipay-guide .alipay-step p { grid-column:3; } .payment-alipay-guide .alipay-step p { margin-top:3px; } }
@media (max-width: 700px) { .payment-contact-two .payment-contact-fields, .payment-social-links { grid-template-columns: minmax(0, 1fr); } }
.payment-contact .payment-contact-fields label { display: grid; gap: 8px; min-width: 0; margin: 0; font-size: 14px; font-weight: 600; }
.payment-contact .payment-contact-fields input { box-sizing: border-box; display: block; width: 100%; min-width: 0; height: 46px; margin: 0; padding: 10px 12px; border: 1px solid #b7ccc1; border-radius: 5px; background: white; color: #163d30; font: 400 16px/1.4 Arial, sans-serif; }
.payment-contact input:focus-visible { outline: 2px solid #27634b; outline-offset: 2px; }
.payment-contact .payment-contact-error { margin: 8px 0 0; color: #a33b2e; font-size: 13px; line-height: 1.5; }
.payment-contact .payment-contact-error:empty { display: none; }
@media (max-width: 480px) { .payment-contact { padding: 16px; margin: 16px 0; } .payment-contact-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
