.purchase-actions{flex:1;min-width:0;display:grid;gap:7px}
.student-course-link{margin:0 20px 24px;text-align:center;font-size:14px}.student-course-link a{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:var(--brand,#315b49);text-underline-offset:4px}
.member-recharge-summary{padding:16px 0 0;border-top:1px solid var(--line,#deded5)}.member-recharge-summary h2{font-size:15px;margin:0 0 6px}.member-recharge-summary strong{color:var(--number-accent,#735d38);font-size:27px}.member-recharge-summary strong small{font-size:13px;margin-left:6px;font-weight:400}.member-recharge-summary p{font-size:13px;line-height:1.8;margin:6px 0;color:var(--muted,#706f66)}
.tier.membership-tier{grid-column:1/-1}.membership-tier-label{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.03em;color:var(--brand,#315b49)}
.modal-summary .cash-reference{display:block;font-size:12px;font-weight:400;line-height:1.6;color:var(--muted,#706f66)}.modal-summary .payment-points{display:block;font-size:17px;line-height:1.5}
.student-gift-received{padding:18px 0;border-top:1px solid var(--line,#deded5);display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.student-gift-received>span{font-size:14px}.student-gift-received strong{font-size:23px;color:var(--number-accent,#735d38)}.student-gift-received strong small{font-size:12px;margin-left:4px}.student-gift-received p{flex-basis:100%;margin:0;font-size:12px}
.purchase-actions>.btn{width:100%;min-width:0}
.dual-purchase{align-items:center}
.dual-purchase .purchase-actions{grid-template-columns:1fr 1fr}
.dual-purchase .btn{font-size:13px;line-height:1.4;padding:10px 8px;min-height:52px;white-space:normal}
.dual-purchase .btn small{font-size:10px;line-height:1.4}
.dual-purchase .bal{font-size:10px;min-width:52px}
.dual-purchase .bal b{font-size:16px}
.direct-order h1{font-size:23px;line-height:1.4;margin:12px 0 6px}
.direct-order-amount{display:block;font-size:32px;font-variant-numeric:tabular-nums;color:var(--number-accent,#735d38);margin:16px 0 8px}
.direct-order>small{overflow-wrap:anywhere;display:block;margin-bottom:18px}
.direct-order>.btn{width:100%;margin-top:12px}
#directOrderBody{padding:0 14px 24px}
#directOrderBody>.btn{width:100%;margin-top:12px}
.physical-purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.physical-purchase-actions>.btn{padding:12px 8px;white-space:normal;font-size:13px;line-height:1.5}
.physical-purchase-actions small{display:block;font-size:11px;font-weight:400}
@media(max-width:350px){.dual-purchase .btn{font-size:12px}.dual-purchase .bal{min-width:44px}.dual-purchase .purchase-actions{gap:5px}.physical-purchase-actions{grid-template-columns:1fr}}
/* 窄屏把余额独立为一行，给两种购买方式足够宽度，不挤断金额和“兑换”。 */
@media(max-width:440px){#detail .actionbar.dual-purchase{flex-wrap:wrap;gap:8px}#detail .dual-purchase .bal{width:100%;display:flex;align-items:baseline;gap:8px;line-height:1;min-width:0}#detail .dual-purchase .bal b{display:inline;font-size:14px}#detail .dual-purchase .purchase-actions{flex-basis:100%;gap:8px}#detail .dual-purchase .btn{font-size:12px;min-height:62px}#detail .dual-purchase .btn small{font-size:11px;line-height:1.45}}
.promotion-policy,.promotion-wallet{padding:20px}
.promotion-policy h2{font-size:20px;line-height:1.45;margin:0 0 10px}
.promotion-policy p,.promotion-policy li{font-size:14px;line-height:1.8;color:var(--muted,#706f66)}
.promotion-policy details{margin-top:16px}.promotion-policy summary{cursor:pointer;font-size:14px;color:#315b49;padding:8px 0}
.promotion-policy ul{padding-left:20px}.promotion-actions{display:flex;gap:12px;margin-top:18px}.promotion-actions>*{flex:1}
.promotion-wallet input{display:block;width:100%;padding:12px;margin:8px 0;border:1px solid #d8dcd4;border-radius:12px;background:white;font-size:16px}
.promotion-wallet strong{color:#925f39;font-variant-numeric:tabular-nums}.promotion-wallet form{margin-top:16px}
