.membership { padding-top:56px; padding-bottom:56px; }
.membership-heading h1 { font-size:42px; margin:12px 0; letter-spacing:-.03em; }
.account-strip { border:1px solid #bfdbfe; background:#eff6ff; border-radius:14px; padding:15px 20px; font-size:14px; }
.checkout-layout { display:grid; grid-template-columns:1.25fr 1fr; gap:24px; margin-top:24px; align-items:start; }
.checkout-card { background:#ffffffed; border:1px solid var(--border); border-radius:24px; padding:32px; box-shadow:var(--shadow); min-width:0; }
fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }
legend { font-size:14px; font-weight:700; margin-bottom:12px; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.duration-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.choice { display:flex; align-items:center; gap:10px; padding:16px 12px; margin:0; border:1px solid var(--border); border-radius:14px; cursor:pointer; background:white; }
.choice:has(input:checked) { border-color:var(--blue); background:#eff6ff; box-shadow:0 0 0 1px var(--blue); }
.choice:has(input:disabled) { opacity:.55; cursor:not-allowed; }
.choice input { accent-color:var(--blue); margin:0; flex-shrink:0; }
.choice small,.choice strong { display:block; }.choice small { color:var(--gray); margin-top:4px; font-size:12px; font-weight:400; }
.alipay-mark { color:#1677ff; }.wechat-mark { color:#078746; }
.order-total { display:flex; justify-content:space-between; align-items:center; padding:20px 0; border-top:1px solid var(--border); }.order-total strong { font-size:32px; }
#buy { width:100%; font-size:16px; padding:14px; margin-top:12px; }button:disabled { opacity:.5; cursor:not-allowed; }
.scan-card { text-align:center; }.scan-card h2 { font-size:23px; }.scan-card .eyebrow { color:var(--blue); font-size:12px; letter-spacing:.08em; }
#qr { max-width:100%; height:auto; border-radius:12px; border:1px solid var(--border); padding:8px; }
.qr-placeholder { width:220px; height:220px; max-width:100%; margin:24px auto; display:grid; place-items:center; background:linear-gradient(135deg,#eff6ff,#f0fdfa); border-radius:24px; font-size:100px; color:#93c5fd; }
[hidden] { display:none !important; }
#payment-info { font-size:13px; text-align:left; background:var(--bg-soft); padding:16px; border-radius:12px; }dt { color:var(--gray); }dd { margin:0 0 8px; overflow-wrap:anywhere; }
.orders-section { margin-top:48px; }.orders-section h2 { font-size:24px; }.orders-section h2 small { font-size:13px; color:var(--gray); font-weight:400; }
.table-scroll { overflow:auto; border-radius:16px; border:1px solid var(--border); }table { width:100%; border-collapse:collapse; background:white; }th,td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--border); white-space:nowrap; font-size:13px; }th { background:var(--bg-soft); }td .btn { padding:5px 12px; }
@media(max-width:860px) { .checkout-layout { grid-template-columns:1fr; }.membership-heading h1 { font-size:32px; }.checkout-card { padding:24px 20px; } }
@media(max-width:400px) { .duration-grid { grid-template-columns:1fr 1fr; }.choice { padding:14px 10px; font-size:12px; } }
