.membership { display:grid; gap:22px; }
.membership-top { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:18px; }
.membership-status, .membership-redeem, .membership-plan { border:1px solid #e5d9c4; border-radius:20px; background:#fffefbf5; }
.membership-status, #membership-redeem { padding:26px 28px; }
.membership-status .pill, .membership-plan header .pill { color:#7e6335; background:#f5eedf; }
.membership-status h2, #membership-redeem h2, .membership-plan h2 { margin:12px 0 8px; color:#3b3020; }
.membership-status p, #membership-redeem p, .membership-plan > p { margin:0; color:#6f675b; line-height:1.7; }
.membership-code { display:flex; gap:10px; margin:16px 0 12px; }
.membership-code input { flex:1; min-width:0; height:44px; padding:0 14px; border:1px solid #e0d3bc; border-radius:12px; background:#fff; color:#332c21; letter-spacing:.04em; }
.membership-code .btn { flex:none; }
.membership-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.membership-plan { display:flex; flex-direction:column; padding:26px; }
.membership-plan header { display:flex; align-items:center; justify-content:space-between; color:#8a7350; font-size:13px; font-weight:650; }
.membership-price { display:flex; align-items:baseline; gap:8px; margin:8px 0 12px !important; }
.membership-price strong { color:#3b3020; font-size:40px; letter-spacing:-.04em; line-height:1; }
.membership-featured .membership-price strong { color:#99763b; }
.membership-plan ul { list-style:none; margin:16px 0 22px; padding:0; }
.membership-plan li { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-top:1px solid #f0e6d6; color:#4d453b; }
.membership-plan li::before { content:"✓"; color:#2f7d4a; margin-right:8px; }
.membership-plan li span { display:flex; align-items:center; }
.membership-plan li b { font-weight:650; color:#3b3020; }
.membership-plan .btn { margin-top:auto; width:100%; }
.membership-plan .btn:disabled { opacity:.55; cursor:default; }
.membership-featured { border-color:#d7b56a; background:linear-gradient(180deg,#fffaf1 0%,#fff 48%); box-shadow:0 10px 28px #88724610; }
.membership-plan.is-current { box-shadow:inset 0 0 0 1px #e7d3a4; }
@media (max-width:900px) {
 .membership-top, .membership-plans { grid-template-columns:1fr; }
}
