/* Dedicated native membership checkout; no theme gold cards or product-tile layout. */
.sc-site .sc-membership-dialog .modal-dialog { width:680px; max-width:calc(100% - 32px); }
.sc-site .sc-membership-dialog .modal-content { overflow:hidden; border-radius:12px; }
.sc-site .sc-membership-dialog .payvip-modal { padding:30px; color:var(--sc-text); }
.sc-site .sc-membership-dialog .close { position:absolute; top:20px; right:20px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--sc-line); border-radius:50%; font-size:16px; }
.sc-site .sc-membership-dialog .close:hover { background:var(--sc-raised); color:var(--sc-text); }
.sc-site .sc-membership-dialog .sc-checkout-title { margin:0 48px 12px 0; font-size:25px; line-height:1.4; font-weight:600; letter-spacing:.02em; }
.sc-site .sc-membership-dialog .user-box { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0; margin:0 40px 26px 0; font-size:12px; color:var(--sc-muted); }
.sc-site .sc-membership-dialog .user-box > li { display:flex; align-items:center; gap:8px; padding:0; width:auto; }
.sc-site .sc-membership-dialog .user-box .avatar-img { width:24px; height:24px; }
.sc-site .sc-membership-dialog .user-box .em12 { font-size:12px; font-weight:500; color:var(--sc-text); }
.sc-site .sc-membership-dialog .user-box :is(.user-level,.user-auth-icon,.vip-icon,.avatar-icontag,.sc-level-label) { display:none; }
.sc-site .sc-membership-dialog .vip-expdate-tag { background:none; color:var(--sc-muted); padding:0; }
.sc-site .sc-membership-dialog .vip-cardminis { display:flex; gap:10px; margin:0 0 26px; padding:0; }
.sc-site .sc-membership-dialog .vip-cardminis > li { flex:1; min-width:0; padding:0; }
.sc-site .sc-membership-dialog .vip-cardminis > li > a { display:block; height:100%; }
.sc-site .sc-membership-dialog .vip-cardmini { margin:0; padding:16px 36px 16px 16px; height:100%; border:1px solid var(--sc-line); border-radius:7px; color:var(--sc-muted)!important; background:transparent!important; box-shadow:none; }
.sc-site .sc-membership-dialog .vip-cardminis .active .vip-cardmini { background:var(--sc-raised)!important; border-color:var(--sc-accent); color:var(--sc-text)!important; }
.sc-site .sc-membership-dialog .vip-cardminis .active-icon { top:17px; right:13px; color:var(--sc-accent); font-size:16px; }
.sc-site .sc-membership-dialog .vip-cardmini .v-iconbox { display:block; }
.sc-site .sc-membership-dialog .vip-cardmini .v-name { font-size:17px; line-height:1.4; }
.sc-site .sc-membership-dialog .vip-cardmini .v-desc { font-size:11px; margin-top:6px; line-height:1.6; color:var(--sc-muted); opacity:1; }
.sc-site .sc-membership-dialog :is(.vip-baicon,.v-icon) { display:none; }
.sc-site .sc-membership-dialog .tab-content { margin:0; }
.sc-site .sc-membership-dialog .sc-checkout-selection { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:30px; margin:0 0 24px; }
.sc-site .sc-membership-dialog .sc-checkout-selection:not(:has(.sc-checkout-duration)) { grid-template-columns:1fr; }
.sc-site .sc-membership-dialog .sc-checkout-empty { border-top:1px solid var(--sc-line); padding-top:22px; margin:0; color:var(--sc-muted); }
.sc-site .sc-membership-dialog .sc-checkout-section-title { margin:0 0 14px; font-size:12px; font-weight:500; color:var(--sc-muted); line-height:1.5; }
.sc-site .sc-membership-dialog .pay-vip-info { display:block; margin:0; padding:0; background:none; border:0; border-radius:0; color:var(--sc-text); text-align:left; }
.sc-site .sc-membership-dialog .pay-vip-info .v-iconbox { display:none; }
.sc-site .sc-membership-dialog .v-equity { display:grid; gap:9px; padding:0; margin:0; font-size:13px; line-height:1.7; text-align:left; }
.sc-site .sc-membership-dialog .v-equity li { position:relative; padding-left:19px; }
.sc-site .sc-membership-dialog .v-equity li::before { content:''; position:absolute; left:2px; top:8px; width:8px; height:5px; border-left:1.5px solid var(--sc-accent); border-bottom:1.5px solid var(--sc-accent); transform:rotate(-45deg); }
.sc-site .sc-membership-dialog .charge-box { margin:0; display:grid; gap:8px; }
.sc-site .sc-membership-dialog .charge-box > label { display:block; margin:0; width:100%; position:relative; cursor:pointer; font-weight:400; }
.sc-site .sc-membership-dialog .vip-product-input { display:block!important; position:absolute; width:1px; height:1px; opacity:0; }
.sc-site .sc-membership-dialog .vip-product { display:flex; flex-direction:column-reverse; align-items:flex-start; gap:10px; min-height:90px; width:100%; margin:0; padding:16px; background:transparent; border:1px solid var(--sc-line); border-radius:6px; text-align:left; }
.sc-site .sc-membership-dialog .vip-product-input:checked + .vip-product { background:var(--sc-bg); border-color:var(--sc-accent); box-shadow:inset 3px 0 var(--sc-accent); }
.sc-site .sc-membership-dialog .vip-product::before { display:none; }
.sc-site .sc-membership-dialog .vip-product .product-price { color:var(--sc-text); font-size:30px; line-height:1; font-weight:600; background:none; font-variant-numeric:tabular-nums; }
.sc-site .sc-membership-dialog .product-price .pay-mark { margin-right:3px; font-size:14px; }
.sc-site .sc-membership-dialog .vip-product .badg { background:none; color:var(--sc-muted); border:0; padding:0; font-size:12px; }
.sc-site .sc-membership-dialog .vip-product .vip-tag { position:static; color:var(--sc-accent); }
.sc-site .sc-membership-dialog .vip-product .original-price { font-size:12px; color:var(--sc-muted); }
.sc-site .sc-membership-dialog .sc-checkout-payment { border-top:1px solid var(--sc-line); padding:20px 0 0; margin:0; }
.sc-site .sc-membership-dialog .sc-checkout-payment > .muted-box { background:var(--sc-bg); color:var(--sc-muted); padding:12px; margin-bottom:16px; line-height:1.7; }
.sc-site .sc-membership-dialog .dependency-box > [data-controller=payment_method][data-value=balance] { background:none; padding:0; margin:0 0 18px; }
.sc-site .sc-membership-dialog [data-value=balance] :is(.c-blue-2,.muted-2-color) { background:none; color:var(--sc-text); }
.sc-site .sc-membership-dialog [data-value=balance] .ic { color:var(--sc-muted); }
.sc-site .sc-membership-dialog .initiate-pay { display:block; width:100%; min-height:46px; margin:0; padding:12px 18px; border:1px solid transparent; border-radius:6px; font-weight:600; font-size:14px; background:var(--sc-accent); color:var(--sc-bg); box-shadow:none; }
.sc-site .sc-membership-dialog .initiate-pay:hover { filter:brightness(1.06); }
.sc-site .sc-membership-dialog .payment-method-radio { background:var(--sc-bg); color:var(--sc-text); border:1px solid var(--sc-line); border-radius:5px; padding:12px; font-size:12px; }
.sc-site .sc-membership-dialog .payment-method-radio.active { border-color:var(--sc-accent); }
.sc-site .sc-membership-dialog .payment-method-radio::before { color:var(--sc-accent); }
.sc-site .sc-membership-dialog .sc-checkout-points { display:flex; justify-content:center; align-items:center; gap:5px; margin:12px 0 0; padding:8px; background:none; color:var(--sc-muted); font-size:12px; }
.sc-site .sc-membership-dialog .sc-checkout-points svg { display:none; }
.sc-site .sc-membership-dialog .sc-checkout-points:hover { color:var(--sc-text); background:var(--sc-bg); }
.sc-site .sc-membership-dialog :is(a,button,input):focus-visible { outline:2px solid var(--sc-accent)!important; outline-offset:3px; }
.sc-site .sc-membership-dialog .vip-product-input:focus-visible + .vip-product { outline:2px solid var(--sc-accent)!important; outline-offset:3px; }
.sc-site .sc-membership-points-dialog .modal-content { border-radius:10px; }
.sc-site .sc-membership-points-dialog .modal-title { font-size:21px; }
.sc-site .sc-membership-points-dialog .modal-title > span { display:none; }
.sc-site .sc-membership-points-dialog .touch { margin-bottom:22px; }
.sc-site .sc-membership-points-dialog .muted-box { background:var(--sc-bg); border-radius:5px; }
.sc-site .sc-membership-points-dialog .c-green { color:var(--sc-text); }
.sc-site .sc-membership-points-dialog .vip-card { background:var(--sc-bg)!important; color:var(--sc-text)!important; border:1px solid var(--sc-line); border-radius:6px; padding:16px; box-shadow:none; }
.sc-site .sc-membership-points-dialog .vip-card.active { border-color:var(--sc-accent); box-shadow:inset 0 0 0 1px var(--sc-accent); }
.sc-site .sc-membership-points-dialog .vip-card img { display:none; }
.sc-site .sc-membership-points-dialog .wp-ajax-submit { background:var(--sc-accent); color:var(--sc-bg); border-radius:6px; min-height:44px; }
.sc-site .sc-membership-points-dialog .sc-native-empty { padding:28px 0!important; text-align:center; }
@media(max-width:600px) {
  .sc-site .sc-membership-dialog .modal-dialog { width:100%; max-width:calc(100% - 20px); margin:10px auto; }
  .sc-site .sc-membership-dialog .payvip-modal { padding:24px 20px; }
  .sc-site .sc-membership-dialog .sc-checkout-title { font-size:23px; }
  .sc-site .sc-membership-dialog .user-box { margin-bottom:22px; }
  .sc-site .sc-membership-dialog .vip-cardminis { gap:8px; margin-bottom:22px; }
  .sc-site .sc-membership-dialog .vip-cardmini { padding:13px 28px 13px 12px; }
  .sc-site .sc-membership-dialog .vip-cardmini .v-name { font-size:15px; }
  .sc-site .sc-membership-dialog .vip-cardmini .v-desc { font-size:10px; }
  .sc-site .sc-membership-dialog .vip-cardminis .active-icon { right:10px; top:14px; font-size:14px; }
  .sc-site .sc-membership-dialog .sc-checkout-selection { grid-template-columns:1fr; gap:22px; }
  .sc-site .sc-membership-dialog .charge-box { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
  .sc-site .sc-membership-dialog .vip-product { min-height:70px; flex-direction:row-reverse; align-items:center; justify-content:space-between; }
  .sc-site .sc-membership-dialog .vip-product .product-price { font-size:26px; }
}
