/* AnimeStream Premium Membership v3.1 */
.asp-wrap{
  --asp-gold:#f5c542;--asp-green:#2ed47a;--asp-bg:#11131b;--asp-card:#171a24;--asp-border:rgba(255,255,255,.10);
  max-width:1180px;margin:28px auto 60px;font-family:inherit;color:inherit;
}
.asp-wrap *{box-sizing:border-box}
.asp-kicker{display:inline-block;font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--asp-gold);border:1px solid color-mix(in srgb,var(--asp-gold) 40%,transparent);background:color-mix(in srgb,var(--asp-gold) 8%,transparent);padding:7px 12px;border-radius:999px}
.asp-hero{text-align:center;padding:35px 20px 30px}
.asp-crown{font-size:40px;line-height:1;margin-bottom:8px;color:var(--asp-gold);text-shadow:0 0 30px color-mix(in srgb,var(--asp-gold) 30%,transparent)}
.asp-hero h2{font-size:42px;line-height:1.1;margin:12px 0 10px;font-weight:800}
.asp-hero p{max-width:700px;margin:auto;opacity:.72;font-size:16px}
.asp-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.asp-plan{position:relative;display:flex;flex-direction:column;min-height:470px;padding:28px 24px 22px;border:1px solid var(--asp-border);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.12);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.asp-plan:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--asp-gold) 48%,transparent);box-shadow:0 24px 60px rgba(0,0,0,.22)}
.asp-plan:nth-child(2){border-color:color-mix(in srgb,var(--asp-gold) 48%,transparent)}
.asp-plan:nth-child(3){border-color:color-mix(in srgb,var(--asp-green) 35%,transparent)}
.asp-plan:nth-child(4){border-color:rgba(245,72,103,.35)}
.asp-badge{position:absolute;top:0;right:0;padding:8px 12px;border-radius:0 16px 0 12px;background:var(--asp-gold);color:#17130a;font-size:10px;font-weight:900;letter-spacing:.5px}
.asp-plan:nth-child(3) .asp-badge{background:var(--asp-green)}
.asp-plan:nth-child(4) .asp-badge{background:#f54867;color:#fff}
.asp-plan-duration{font-size:11px;font-weight:800;opacity:.55;letter-spacing:1px}
.asp-plan h3{font-size:22px;margin:16px 0 6px}
.asp-tagline{font-size:13px;opacity:.62;min-height:38px;margin:0}
.asp-price{font-size:42px;font-weight:900;line-height:1;margin:24px 0 7px}
.asp-billed{font-size:12px;opacity:.5;padding-bottom:20px;border-bottom:1px solid var(--asp-border)}
.asp-plan ul{list-style:none;padding:14px 0 0;margin:0 0 24px;line-height:1.9;font-size:14px}
.asp-plan li:before{content:"✓";color:var(--asp-green);font-weight:900;margin-right:9px}
.asp-plan .asp-btn{margin-top:auto;width:100%}
.asp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:10px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.18s ease;font-family:inherit}
.asp-btn-primary{background:var(--asp-gold);color:#17130a;box-shadow:0 8px 24px color-mix(in srgb,var(--asp-gold) 18%,transparent)}
.asp-btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.asp-btn-ghost{background:transparent;border-color:var(--asp-border);color:inherit}
.asp-btn-ghost:hover{border-color:var(--asp-gold)}
.asp-active{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 0 24px;padding:14px 18px;border-radius:12px;background:color-mix(in srgb,var(--asp-green) 8%,transparent);border:1px solid color-mix(in srgb,var(--asp-green) 30%,transparent);font-size:13px}
.asp-active>div{display:flex;gap:7px;align-items:center}
.asp-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--asp-green);box-shadow:0 0 12px var(--asp-green)}
.asp-auth-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:22px 24px;border:1px solid var(--asp-border);border-radius:16px;background:rgba(255,255,255,.025)}
.asp-auth-copy h3{margin:8px 0 4px;font-size:20px}.asp-auth-copy p{margin:0;opacity:.65}.asp-auth-actions{display:flex;gap:10px;flex-shrink:0}
.asp-payment{margin:30px 0;padding:28px;border-radius:18px;border:1px solid color-mix(in srgb,var(--asp-gold) 32%,transparent);background:linear-gradient(145deg,rgba(245,197,66,.07),rgba(255,255,255,.02));box-shadow:0 20px 60px rgba(0,0,0,.16)}
.asp-payment[hidden]{display:none!important}
.asp-payment-head{display:flex;justify-content:space-between;gap:20px}.asp-payment-head h3{font-size:28px;margin:8px 0}.asp-payment-head p{margin:0;font-size:15px;opacity:.7}.asp-modal-close{font-size:24px;width:40px;height:40px;border-radius:50%;padding:0;background:transparent;border:1px solid var(--asp-border);color:inherit}
.asp-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.asp-stepper span{padding:10px 12px;border-radius:8px;text-align:center;background:rgba(255,255,255,.035);font-size:13px;opacity:.55}.asp-stepper span.is-active{opacity:1;background:rgba(245,197,66,.12);color:var(--asp-gold)}.asp-stepper b{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);margin-right:5px}
.asp-payment-methods{padding:18px;border-radius:12px;background:rgba(0,0,0,.12);margin-bottom:20px}.asp-payment-methods h4{margin:0 0 8px}.asp-payment-methods p{opacity:.7}.asp-payment-details{white-space:pre-wrap;font-family:monospace;padding:16px;border:1px solid var(--asp-border);border-radius:10px;background:rgba(0,0,0,.16);line-height:1.65}
.asp-payment-form label,.asp-auth-card label{display:block;font-weight:700;margin:16px 0}.asp-payment-form input[type=text],.asp-payment-form input[type=file],.asp-payment-form select,.asp-auth-card input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(0,0,0,.14);color:inherit;font:inherit}.asp-payment-form input[type=file]{padding:10px}.asp-payment-form small{display:block;margin-top:6px;opacity:.5;font-weight:400}.asp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.asp-check{font-weight:500!important;display:flex!important;align-items:center;gap:8px}.asp-check input{width:auto!important;margin:0!important}
.asp-how{margin-top:34px;padding:28px;border-radius:18px;border:1px solid var(--asp-border);background:rgba(255,255,255,.018)}.asp-section-title{text-align:center}.asp-section-title h3{font-size:26px;margin:9px 0 24px}.asp-how-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.asp-how-item{padding:18px;border:1px solid var(--asp-border);border-radius:12px;background:rgba(255,255,255,.018)}.asp-how-item>span{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--asp-gold);color:#17130a;font-size:11px;font-weight:900}.asp-how-item strong{display:block;margin-top:14px}.asp-how-item p{font-size:12px;opacity:.6;line-height:1.55}
.asp-notice{padding:15px 18px;margin:20px 0;border-radius:10px;border:1px solid var(--asp-border);background:rgba(255,255,255,.04)}.asp-success{border-color:color-mix(in srgb,var(--asp-green) 35%,transparent)}.asp-error{border-color:#ef5555}
.asp-auth-page{max-width:650px}.asp-auth-card{padding:32px;border:1px solid var(--asp-border);border-radius:18px;background:rgba(255,255,255,.025)}.asp-auth-card h2{font-size:32px;margin:10px 0}.asp-auth-card>p{opacity:.65}.asp-auth-switch{text-align:center;margin-top:20px}.asp-auth-switch a,.asp-text-link{color:var(--asp-gold);font-weight:700}
.asp-account-page{max-width:900px}.asp-account-card{padding:28px;border:1px solid var(--asp-border);border-radius:18px;background:rgba(255,255,255,.025)}.asp-account-top{display:flex;align-items:center;gap:14px}.asp-account-top>div:nth-child(2){display:flex;flex-direction:column}.asp-account-top>div:nth-child(2) span{opacity:.55;font-size:13px}.asp-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--asp-gold);color:#17130a;font-weight:900}.asp-account-badge{margin-left:auto;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800}.asp-account-status{margin:24px 0;padding:22px;border:1px solid var(--asp-border);border-radius:14px}.asp-account-status.active{border-color:color-mix(in srgb,var(--asp-green) 35%,transparent);background:color-mix(in srgb,var(--asp-green) 5%,transparent)}.asp-account-status>strong{margin-left:7px}.asp-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.asp-account-grid span{font-size:12px;opacity:.55}.asp-account-grid strong{display:block;font-size:16px;color:inherit;opacity:1;margin-top:5px}
.asp-premium-page .widget-area,.asp-premium-page .sidebar,.asp-premium-page aside.sidebar,.asp-premium-page #sidebar,.asp-premium-page .sidebar-area{ }
@media(max-width:1000px){.asp-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.asp-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.asp-wrap{margin:20px auto 40px}.asp-hero h2{font-size:32px}.asp-plans{grid-template-columns:1fr}.asp-plan{min-height:0}.asp-auth-panel{flex-direction:column;align-items:stretch}.asp-auth-actions{width:100%}.asp-auth-actions .asp-btn{flex:1}.asp-form-grid,.asp-stepper,.asp-account-grid{grid-template-columns:1fr}.asp-how-grid{grid-template-columns:1fr}.asp-payment{padding:20px}.asp-payment-head h3{font-size:24px}}

/* Membership pages use full-width mode automatically. */
body.asp-premium-page.asp-hide-theme-sidebar .sidebar,
body.asp-premium-page.asp-hide-theme-sidebar #sidebar,
body.asp-premium-page.asp-hide-theme-sidebar .widget-area,
body.asp-premium-page.asp-hide-theme-sidebar aside.sidebar,
body.asp-premium-page.asp-hide-theme-sidebar .sidebar-area{display:none!important}
body.asp-premium-page.asp-hide-theme-sidebar .content-area,
body.asp-premium-page.asp-hide-theme-sidebar .site-main,
body.asp-premium-page.asp-hide-theme-sidebar .main-content,
body.asp-premium-page.asp-hide-theme-sidebar .main{width:100%!important;max-width:none!important;flex:1 1 100%!important}

/* v2.1 payment modal */
.asp-pay-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.asp-pay-modal[hidden]{display:none!important}.asp-pay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}
.asp-pay-dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 30px);overflow:auto;padding:24px;border:1px solid rgba(245,197,66,.35);border-radius:18px;background:#151720;box-shadow:0 35px 100px rgba(0,0,0,.65);color:#f2f2f2}
.asp-pay-dialog>.asp-modal-close{position:absolute;right:14px;top:14px;z-index:2;color:#fff}
.asp-pay-dialog .asp-stepper{margin:0 28px 22px}
.asp-pay-dialog h3{font-size:21px;margin:10px 0}.asp-pay-dialog h3 span{color:var(--asp-gold)}
.asp-pay-sub{opacity:.68;margin:0 0 18px}.asp-method-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.asp-method-tab{border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#11131b;color:#aeb1bc;padding:10px 12px;font:700 13px inherit;cursor:pointer}.asp-method-tab.active{border-color:var(--asp-gold);color:#f4d77b}.asp-method-tab em{font-style:normal;font-size:9px;color:var(--asp-green);margin-left:6px;letter-spacing:.6px}
.asp-method-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:#0f1118}.asp-method-icon{width:43px;height:43px;border-radius:11px;background:linear-gradient(135deg,#59647f,#8995b8);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}.asp-method-title{display:flex;flex-direction:column;flex:1}.asp-method-title span{font-size:12px;opacity:.6;margin-top:2px}.asp-method-card>em{font-style:normal;font-size:10px;color:var(--asp-green);font-weight:900;background:rgba(46,212,122,.12);padding:7px 9px;border-radius:999px}
.asp-qr-wrap{text-align:center;padding:18px 0}.asp-qr-wrap img{display:block;width:min(205px,80%);max-height:240px;object-fit:contain;margin:0 auto 10px;padding:8px;border-radius:12px;background:#fff}.asp-qr-wrap strong{display:block;font-size:12px;opacity:.72}.asp-copy-row{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 8px 8px 12px;background:#0d0f15;border:1px solid rgba(255,255,255,.1);border-radius:10px}.asp-copy-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#ddd}.asp-copy{border:0;background:var(--asp-gold);color:#17130a;border-radius:8px;padding:8px 13px;font-weight:800;cursor:pointer}.asp-warning{font-size:12px;line-height:1.5;color:#f4bd3e}.asp-pay-link{width:100%;margin-top:14px}.asp-pay-note{text-align:center;font-size:12px;opacity:.55;margin:9px 0 0}.asp-important{margin:18px 0;padding:14px 15px;border:1px solid rgba(245,197,66,.32);border-radius:11px;background:rgba(245,197,66,.07)}.asp-important strong{color:var(--asp-gold);font-size:13px}.asp-important p{font-size:12px;line-height:1.55;margin:6px 0 0;opacity:.82}.asp-proof-actions{display:flex;gap:10px}.asp-proof-actions .asp-btn{flex:1}
.asp-auth-links{display:flex;justify-content:center;gap:10px;margin-top:20px;font-size:13px}.asp-auth-links a{color:var(--asp-gold);font-weight:700}

/* Membership/auth pages: theme sidebar is always hidden. */
body.asp-membership-page .sidebar,
body.asp-membership-page #sidebar,
body.asp-membership-page .widget-area,
body.asp-membership-page aside.sidebar,
body.asp-membership-page .sidebar-area,
body.asp-membership-page .right-sidebar,
body.asp-membership-page .left-sidebar,
body.asp-membership-page .c-sidebar,
body.asp-membership-page .main-sidebar,
body.asp-membership-page .site-sidebar,
body.asp-membership-page [class*="sidebar"] .widget,
body.asp-membership-page [class*="sidebar"] .widget-area{display:none!important}
body.asp-membership-page .content-area,
body.asp-membership-page .site-main,
body.asp-membership-page .main-content,
body.asp-membership-page .main,
body.asp-membership-page .site-content,
body.asp-membership-page .content{width:100%!important;max-width:none!important;flex:0 0 100%!important}
body.asp-membership-page .container,
body.asp-membership-page .site-content .container,
body.asp-membership-page .main-container{max-width:1180px!important}
body.asp-pay-open{overflow:hidden!important}
@media(max-width:650px){.asp-pay-dialog{padding:18px}.asp-method-tabs{display:grid;grid-template-columns:1fr 1fr}.asp-method-tab{font-size:11px}.asp-pay-dialog .asp-stepper span{font-size:11px;padding:8px 4px}}

/* AnimeStream theme integration: its real sidebar is #sidebar and its page
   template gives the main column the .postbody class. These rules apply only
   to the membership/auth pages marked by the plugin. */
body.asp-membership-page #sidebar,
body.asp-membership-page > #sidebar,
body.asp-membership-page .postbody + #sidebar {
  display:none!important;
  width:0!important;
  margin:0!important;
  padding:0!important;
}
body.asp-membership-page .postbody {
  float:none!important;
  width:100%!important;
  max-width:none!important;
}
body.asp-membership-page .postbody .bixbox {
  width:100%!important;
}
body.asp-membership-page .postbody .page {
  overflow:visible;
}
body.asp-membership-page .asp-wrap {
  width:100%;
}

/* The payment dialog must escape AnimeStream's floated two-column layout. */
body.asp-membership-page .asp-pay-modal {
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  float:none!important;
}


/* v2.3 polish */
.asp-kicker{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;min-height:34px!important;padding:9px 14px!important;box-sizing:border-box!important;}
.asp-btn{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;text-align:center!important;text-decoration:none!important;line-height:1.2!important;min-height:44px!important;white-space:nowrap!important;}
.asp-submit-btn{min-width:138px!important;margin-top:8px!important;}
.asp-contact-box{margin-top:24px;padding:18px 20px;border:1px solid var(--asp-border);border-radius:14px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:7px}.asp-contact-box strong{font-size:15px}.asp-contact-box>span{font-size:13px;opacity:.62}.asp-contact-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.asp-contact-btn{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:40px;padding:9px 16px;border-radius:9px;text-decoration:none!important;font-weight:800;font-size:13px}.asp-telegram{background:#229ed9!important;color:#fff!important}.asp-whatsapp{background:#25d366!important;color:#07140b!important}
body.asp-membership-page .asp-kicker,body.asp-membership-page .asp-btn,body.asp-membership-page button.asp-btn{font-family:inherit!important;}
body.asp-membership-page .asp-plan .asp-choose{width:100%!important;margin-top:auto!important;}
body.asp-membership-page .asp-plan{display:flex!important;flex-direction:column!important;}


/* v2.4: Lucifer-style membership area polish */
.asp-profile-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:16px 20px;border:1px solid var(--asp-border);border-radius:16px;background:rgba(255,255,255,.025)}
.asp-profile-main{display:flex;align-items:center;gap:12px;min-width:0}.asp-profile-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--asp-gold);color:#17130a;font-weight:900}.asp-profile-identity{display:flex;flex-direction:column;min-width:0}.asp-profile-identity strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asp-profile-identity span{font-size:12px;opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asp-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;font-size:13px}.asp-profile-actions a{color:inherit;text-decoration:none!important;font-weight:800}.asp-profile-actions a:hover{color:var(--asp-gold)}.asp-profile-status{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;white-space:nowrap}
.asp-user-contact{margin:22px 0;padding:18px;border:1px solid var(--asp-border);border-radius:14px;background:rgba(255,255,255,.02)}.asp-user-contact h4{margin:0 0 6px;font-size:16px}.asp-user-contact>p{margin:0 0 14px;font-size:13px;opacity:.65}.asp-user-contact label{margin:0!important}.asp-optional{font-size:10px;opacity:.45;font-weight:500}.asp-contact-required{margin-top:10px;font-size:11px;color:var(--asp-gold)}
.asp-support-strip{margin:26px 0 0;padding:26px 18px 22px;text-align:center;border:1px solid var(--asp-border);border-radius:16px;background:rgba(255,255,255,.018)}.asp-support-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.asp-support-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--asp-border);border-radius:10px;background:#11131b!important;color:inherit!important;text-decoration:none!important;font-weight:800;font-size:13px}.asp-support-btn:hover{border-color:var(--asp-gold)!important;color:var(--asp-gold)!important}.asp-support-strip p{margin:13px 0 0;font-size:12px;opacity:.6}
.asp-feedback{margin-top:20px;padding:24px;border:1px solid var(--asp-border);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.012))}.asp-feedback-heading{display:flex;align-items:flex-start;gap:14px}.asp-feedback-icon{width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(104,72,255,.14);border:1px solid rgba(120,100,255,.28);font-size:22px}.asp-feedback-heading h3{margin:2px 0 5px;font-size:21px}.asp-feedback-heading p{margin:0;opacity:.62;font-size:13px}.asp-reason-list{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.asp-reason{position:relative!important;margin:0!important;display:inline-flex!important;align-items:center!important}.asp-reason input{position:absolute;opacity:0;pointer-events:none}.asp-reason span{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:#0f1118;color:inherit;font-size:12px;font-weight:800;cursor:pointer}.asp-reason input:checked + span{border-color:var(--asp-gold);color:var(--asp-gold);background:rgba(245,197,66,.07)}.asp-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.asp-feedback-form label{display:block;font-size:12px;font-weight:800}.asp-feedback-form input[type=text]{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(0,0,0,.14);color:inherit;font:inherit}.asp-feedback-form small{opacity:.5;font-weight:500}.asp-feedback-send{width:100%;margin-top:14px}.asp-feedback-note{text-align:center;margin:10px 0 0;font-size:11px;opacity:.55}
/* Keep only deliberate primary actions gold; theme button rules must not leak into membership controls. */
body.asp-membership-page .asp-btn-ghost,body.asp-membership-page .asp-method-tab,body.asp-membership-page .asp-support-btn,body.asp-membership-page .asp-reason span{background:#11131b!important;color:inherit!important}.asp-btn-ghost{box-shadow:none!important}.asp-method-tab.active{background:rgba(245,197,66,.07)!important;color:#f4d77b!important}.asp-plan .asp-choose{margin-left:0!important;margin-right:0!important}.asp-kicker{vertical-align:middle!important;text-align:center!important}
@media(max-width:700px){.asp-profile-bar{align-items:flex-start;flex-direction:column}.asp-profile-actions{justify-content:flex-start;width:100%}.asp-feedback-grid{grid-template-columns:1fr}}

/* v2.5 editable-plan / Lucifer-style card polish */
.asp-plan{border-color:color-mix(in srgb,var(--asp-plan-accent,var(--asp-gold)) 42%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--asp-plan-accent,var(--asp-gold)) 8%,rgba(255,255,255,.025)),rgba(255,255,255,.012))}
.asp-plan:hover{border-color:color-mix(in srgb,var(--asp-plan-accent,var(--asp-gold)) 70%,transparent)}
.asp-plan-duration{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:38px;padding:6px 10px;border-radius:12px;background:color-mix(in srgb,var(--asp-plan-accent,var(--asp-gold)) 12%,transparent);border:1px solid color-mix(in srgb,var(--asp-plan-accent,var(--asp-gold)) 35%,transparent);color:var(--asp-plan-accent,var(--asp-gold));font-size:12px;letter-spacing:.8px;opacity:1}
.asp-plan h3{color:var(--asp-plan-accent,var(--asp-gold));letter-spacing:.2px;text-transform:uppercase}
.asp-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:24px}
.asp-price-row .asp-price{margin:0}
.asp-old-price{font-size:14px;opacity:.5;text-decoration:line-through}
.asp-save{font-size:11px;font-weight:900;color:var(--asp-plan-accent,var(--asp-green));letter-spacing:.4px;margin-top:6px;text-transform:uppercase}
.asp-plan .asp-btn-primary{background:var(--asp-gold)!important;color:#17130a!important}
.asp-plan .asp-btn-primary:hover{background:var(--asp-gold)!important;color:#17130a!important}
.asp-support-strip{max-width:1180px;margin-left:auto;margin-right:auto}
.asp-support-actions .asp-support-btn{min-width:0}
.asp-contact-box .asp-contact-btn{white-space:nowrap}
body.asp-membership-page .asp-plan .asp-btn-primary,
body.asp-membership-page .asp-feedback .asp-btn-primary,
body.asp-membership-page .asp-auth-card .asp-btn-primary{background:var(--asp-gold)!important;color:#17130a!important;border-color:transparent!important}
@media(max-width:650px){.asp-price{font-size:38px}.asp-plan{padding:24px 20px 20px}}


/* v2.6 visual fixes: match the reference layout and prevent AnimeStream/theme button rules from leaking in. */
body.asp-membership-page .asp-wrap{max-width:1180px!important;margin:32px auto 70px!important;padding:0 18px!important;color:inherit!important}
body.asp-membership-page .asp-hero{padding:34px 12px 38px!important}
body.asp-membership-page .asp-hero .asp-kicker{margin-bottom:14px!important}
body.asp-membership-page .asp-hero h2{margin:0 0 10px!important}
body.asp-membership-page .asp-hero p{margin:0 auto!important}

/* Plan cards: stable equal heights and reference-like spacing. */
body.asp-membership-page .asp-plans{gap:18px!important;align-items:stretch!important}
body.asp-membership-page .asp-plan{min-height:520px!important;padding:26px 24px 22px!important;border-radius:20px!important}
body.asp-membership-page .asp-plan-top{min-height:40px!important}
body.asp-membership-page .asp-plan h3{margin:15px 0 7px!important;line-height:1.15!important}
body.asp-membership-page .asp-tagline{min-height:40px!important;margin:0!important;line-height:1.5!important}
body.asp-membership-page .asp-price-row{margin-top:24px!important;gap:10px!important}
body.asp-membership-page .asp-price{font-size:43px!important;line-height:1!important}
body.asp-membership-page .asp-old-price{font-size:14px!important;line-height:1!important}
body.asp-membership-page .asp-save{margin-top:7px!important}
body.asp-membership-page .asp-billed{margin-top:6px!important;padding-bottom:18px!important;line-height:1.5!important}
body.asp-membership-page .asp-plan ul{flex:1 1 auto!important;margin:0 0 24px!important;padding-top:14px!important}
body.asp-membership-page .asp-plan li{line-height:1.85!important}
body.asp-membership-page .asp-plan .asp-choose{width:100%!important;min-height:48px!important;margin:0!important;border-radius:10px!important}

/* Section title: the kicker and title must have visible breathing room. */
body.asp-membership-page .asp-how{margin-top:36px!important;padding:32px!important;border-radius:20px!important}
body.asp-membership-page .asp-section-title{padding:0 0 26px!important}
body.asp-membership-page .asp-section-title .asp-kicker{margin:0 0 12px!important}
body.asp-membership-page .asp-section-title h3{margin:0!important;line-height:1.2!important;font-size:30px!important}
body.asp-membership-page .asp-how-grid{gap:14px!important}
body.asp-membership-page .asp-how-item{min-height:170px!important;padding:20px!important;border-radius:14px!important}
body.asp-membership-page .asp-how-item strong{margin-top:14px!important;line-height:1.3!important}
body.asp-membership-page .asp-how-item p{margin:9px 0 0!important;line-height:1.6!important}

/* Contact buttons belong INSIDE the How It Works section, like the reference. */
body.asp-membership-page .asp-how .asp-support-strip{margin:30px 0 0!important;padding:24px 18px 18px!important;border:0!important;border-top:1px solid var(--asp-border)!important;border-radius:0!important;background:transparent!important}
body.asp-membership-page .asp-support-actions{gap:10px!important}
body.asp-membership-page .asp-support-btn{min-height:44px!important;padding:10px 20px!important;border-radius:10px!important;background:#11131b!important;color:inherit!important}
body.asp-membership-page .asp-support-strip p{margin:13px 0 0!important}

/* Auth pages: never let the badge touch the title. */
body.asp-membership-page .asp-auth-page{max-width:700px!important;margin-left:auto!important;margin-right:auto!important}
body.asp-membership-page .asp-auth-card{padding:34px!important;border-radius:20px!important}
body.asp-membership-page .asp-auth-card > .asp-kicker{display:inline-flex!important;margin:0 0 15px!important}
body.asp-membership-page .asp-auth-card h2{margin:0 0 11px!important;line-height:1.15!important}
body.asp-membership-page .asp-auth-card > p{margin:0 0 22px!important;line-height:1.55!important}
body.asp-membership-page .asp-auth-card form > label{margin-top:0!important;margin-bottom:18px!important}
body.asp-membership-page .asp-auth-card .asp-form-grid{margin-bottom:0!important}
body.asp-membership-page .asp-auth-card .asp-submit-btn{margin-top:5px!important}
body.asp-membership-page .asp-contact-box{margin-top:26px!important}

/* Keep secondary controls dark; only deliberate primary actions are gold. */
body.asp-membership-page button.asp-btn-ghost,
body.asp-membership-page button.asp-back-pay,
body.asp-membership-page .asp-support-btn,
body.asp-membership-page .asp-method-tab,
body.asp-membership-page .asp-reason span,
body.asp-membership-page .asp-auth-links a:not(.asp-text-link){background:#11131b!important;color:inherit!important}
body.asp-membership-page .asp-btn-primary,
body.asp-membership-page button.asp-btn-primary{background:var(--asp-gold)!important;color:#17130a!important;border-color:transparent!important}
body.asp-membership-page .asp-btn-primary:hover,
body.asp-membership-page button.asp-btn-primary:hover{background:var(--asp-gold)!important;color:#17130a!important;filter:brightness(1.06)!important}

@media(max-width:1000px){body.asp-membership-page .asp-plans{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){
 body.asp-membership-page .asp-wrap{padding:0 12px!important}
 body.asp-membership-page .asp-plan{min-height:0!important}
 body.asp-membership-page .asp-how{padding:24px 18px!important}
 body.asp-membership-page .asp-section-title h3{font-size:25px!important}
 body.asp-membership-page .asp-auth-card{padding:25px 20px!important}
}
/* v2.7 polished membership UI: scoped so theme styles cannot flatten the plugin layout. */
body.asp-membership-page .asp-wrap,
body.asp-membership-page .asp-wrap *{box-sizing:border-box!important}
body.asp-membership-page .asp-wrap{--asp-gold:#f5c542;--asp-green:#2ed47a;--asp-card:#171a24;--asp-border:rgba(255,255,255,.11);font-family:inherit!important}

/* Hero / section heading rhythm */
body.asp-membership-page .asp-hero{padding:34px 18px 40px!important}
body.asp-membership-page .asp-hero .asp-kicker{margin-bottom:16px!important}
body.asp-membership-page .asp-hero h2{margin:0 0 12px!important;line-height:1.12!important}
body.asp-membership-page .asp-hero p{margin:0 auto!important;line-height:1.6!important}

/* Cards: fixed internal rhythm, equal visual height, per-card accents. */
body.asp-membership-page .asp-plans{gap:18px!important;align-items:stretch!important}
body.asp-membership-page .asp-plan{--asp-plan-accent:#f5c542;min-height:540px!important;padding:28px 24px 22px!important;border:1px solid color-mix(in srgb,var(--asp-plan-accent) 48%,transparent)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--asp-plan-accent) 9%,#171a24),rgba(255,255,255,.018))!important;box-shadow:0 18px 48px rgba(0,0,0,.14)!important}
body.asp-membership-page .asp-plan:nth-child(1){--asp-plan-accent:#6655d9}
body.asp-membership-page .asp-plan:nth-child(2){--asp-plan-accent:#d6a51f}
body.asp-membership-page .asp-plan:nth-child(3){--asp-plan-accent:#2ed47a}
body.asp-membership-page .asp-plan:nth-child(4){--asp-plan-accent:#e83f62}
body.asp-membership-page .asp-plan:hover{border-color:color-mix(in srgb,var(--asp-plan-accent) 70%,transparent)!important;box-shadow:0 24px 60px rgba(0,0,0,.22)!important}
body.asp-membership-page .asp-plan-top{min-height:38px!important;margin:0 0 2px!important}
body.asp-membership-page .asp-plan-duration{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:7px 12px!important;border:1px solid color-mix(in srgb,var(--asp-plan-accent) 52%,transparent)!important;border-radius:999px!important;color:var(--asp-plan-accent)!important;background:color-mix(in srgb,var(--asp-plan-accent) 8%,transparent)!important;opacity:1!important;line-height:1!important;letter-spacing:.9px!important}
body.asp-membership-page .asp-plan h3{margin:13px 0 8px!important;line-height:1.15!important;font-size:22px!important;color:var(--asp-plan-accent)!important}
body.asp-membership-page .asp-tagline{min-height:42px!important;margin:0!important;line-height:1.55!important}
body.asp-membership-page .asp-price-row{display:flex!important;align-items:flex-end!important;gap:10px!important;margin-top:24px!important;min-height:48px!important}
body.asp-membership-page .asp-price{font-size:43px!important;line-height:.95!important;letter-spacing:-1px!important}
body.asp-membership-page .asp-old-price{font-size:13px!important;line-height:1.1!important;text-decoration:line-through!important;opacity:.55!important;padding-bottom:2px!important}
body.asp-membership-page .asp-save{margin:7px 0 0!important;font-size:11px!important;font-weight:800!important;color:var(--asp-green)!important;line-height:1.2!important}
body.asp-membership-page .asp-billed{margin-top:7px!important;padding:0 0 20px!important;line-height:1.5!important;border-bottom:1px solid var(--asp-border)!important}
body.asp-membership-page .asp-plan ul{flex:1 1 auto!important;margin:0!important;padding:17px 0 24px!important}
body.asp-membership-page .asp-plan li{line-height:1.8!important;margin:0!important}
body.asp-membership-page .asp-plan li:before{color:var(--asp-green)!important}
body.asp-membership-page .asp-plan .asp-choose{width:100%!important;min-height:48px!important;margin:0!important;border-radius:10px!important;background:var(--asp-gold)!important;color:#17130a!important;border:0!important;font-weight:800!important}

/* Only the primary CTA is yellow; secondary/support controls stay dark. */
body.asp-membership-page .asp-support-btn,
body.asp-membership-page .asp-method-tab,
body.asp-membership-page .asp-btn-ghost,
body.asp-membership-page .asp-reason span{background:#11131b!important;color:inherit!important;border:1px solid var(--asp-border)!important}
body.asp-membership-page .asp-support-btn:hover,
body.asp-membership-page .asp-method-tab:hover,
body.asp-membership-page .asp-btn-ghost:hover,
body.asp-membership-page .asp-reason span:hover{border-color:rgba(245,197,66,.55)!important}

/* How It Works: explicit vertical gap between badge and title. */
body.asp-membership-page .asp-how{margin-top:38px!important;padding:32px!important;border-radius:20px!important}
body.asp-membership-page .asp-section-title{padding:0!important;margin:0 0 28px!important}
body.asp-membership-page .asp-section-title .asp-kicker{margin:0 0 14px!important}
body.asp-membership-page .asp-section-title h3{margin:0!important;font-size:30px!important;line-height:1.15!important}
body.asp-membership-page .asp-how-grid{gap:14px!important}
body.asp-membership-page .asp-how-item{min-height:174px!important;padding:20px!important}
body.asp-membership-page .asp-how-item>span{margin-bottom:0!important}
body.asp-membership-page .asp-how-item strong{display:block!important;margin:15px 0 0!important;line-height:1.3!important}
body.asp-membership-page .asp-how-item p{margin:9px 0 0!important;line-height:1.55!important}

/* Support/contact strip is part of How It Works and has real button spacing. */
body.asp-membership-page .asp-how .asp-support-strip{margin:30px 0 0!important;padding:24px 0 4px!important;border-top:1px solid var(--asp-border)!important;text-align:center!important}
body.asp-membership-page .asp-support-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
body.asp-membership-page .asp-support-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 20px!important;border-radius:10px!important;text-decoration:none!important}
body.asp-membership-page .asp-support-strip p{margin:14px 0 0!important;line-height:1.5!important}

/* Feedback section separation */
body.asp-membership-page .asp-feedback{margin-top:30px!important;padding:28px!important;border-radius:20px!important}
body.asp-membership-page .asp-feedback-heading{gap:16px!important;margin-bottom:24px!important}
body.asp-membership-page .asp-reason-list{gap:10px!important}

/* Auth pages: badge -> title -> description -> fields -> CTA. */
body.asp-membership-page .asp-auth-page{max-width:700px!important;margin:38px auto 60px!important}
body.asp-membership-page .asp-auth-card{padding:34px!important;border-radius:20px!important}
body.asp-membership-page .asp-auth-card>.asp-kicker{display:inline-flex!important;margin:0 0 17px!important}
body.asp-membership-page .asp-auth-card h2{margin:0 0 12px!important;line-height:1.12!important}
body.asp-membership-page .asp-auth-card>p{margin:0 0 24px!important;line-height:1.55!important}
body.asp-membership-page .asp-auth-card form{margin:0!important}
body.asp-membership-page .asp-auth-card label{margin:0 0 18px!important;line-height:1.35!important}
body.asp-membership-page .asp-auth-card .asp-form-grid{gap:18px!important;margin:0!important}
body.asp-membership-page .asp-auth-card .asp-submit-btn{margin-top:4px!important}
body.asp-membership-page .asp-auth-links{margin-top:22px!important;gap:10px!important}
body.asp-membership-page .asp-contact-box{margin:28px 0 0!important;padding:20px!important;border:1px solid var(--asp-border)!important;border-radius:14px!important}
body.asp-membership-page .asp-contact-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:14px!important}
body.asp-membership-page .asp-contact-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:9px 16px!important;border-radius:9px!important;text-decoration:none!important}

/* Payment modal controls: keep the same spacing discipline. */
body.asp-membership-page .asp-stepper{gap:9px!important;margin:24px 0!important}
body.asp-membership-page .asp-method-tabs{gap:9px!important;margin-bottom:18px!important}
body.asp-membership-page .asp-method-tab{min-height:40px!important;padding:9px 14px!important}
body.asp-membership-page .asp-pay-link{margin-top:8px!important}
body.asp-membership-page .asp-pay-note{margin:10px 0 0!important;text-align:center!important}
body.asp-membership-page .asp-important{margin-top:22px!important}

@media(max-width:1000px){
 body.asp-membership-page .asp-plan{min-height:520px!important}
}
@media(max-width:650px){
 body.asp-membership-page .asp-wrap{padding:0 12px!important}
 body.asp-membership-page .asp-plan{min-height:0!important;padding:24px 20px 20px!important}
 body.asp-membership-page .asp-how{padding:24px 18px!important}
 body.asp-membership-page .asp-section-title{margin-bottom:24px!important}
 body.asp-membership-page .asp-section-title h3{font-size:25px!important}
 body.asp-membership-page .asp-feedback{padding:22px 18px!important}
 body.asp-membership-page .asp-auth-card{padding:26px 20px!important}
 body.asp-membership-page .asp-contact-actions .asp-contact-btn{flex:1 1 100%!important}
}

/* =========================================================
   v2.8 FINAL LAYOUT OVERRIDES
   These selectors intentionally use .asp-wrap as the anchor,
   so they still work even if the theme does not add the
   asp-membership-page body class.
   ========================================================= */

/* Membership content should be visually independent of the theme. */
body:has(.asp-wrap) .asp-wrap,
.asp-wrap {
  width:100% !important;
  max-width:1180px !important;
  margin:36px auto 70px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}

/* Keep the theme's generic headings/buttons from changing plugin geometry. */
.asp-wrap h2,
.asp-wrap h3,
.asp-wrap h4,
.asp-wrap p,
.asp-wrap ul,
.asp-wrap li,
.asp-wrap button,
.asp-wrap a { box-sizing:border-box !important; }

/* Hero */
.asp-wrap .asp-hero {
  padding:18px 12px 44px !important;
  text-align:center !important;
}
.asp-wrap .asp-hero .asp-kicker {
  margin:0 0 16px !important;
}
.asp-wrap .asp-hero h2 {
  margin:0 0 14px !important;
  line-height:1.12 !important;
}
.asp-wrap .asp-hero p {
  margin:0 auto !important;
  line-height:1.6 !important;
}

/* Four plan cards */
.asp-wrap .asp-plans {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}
.asp-wrap .asp-plan {
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  min-height:555px !important;
  padding:28px 24px 22px !important;
  border-radius:20px !important;
  overflow:hidden !important;
}

/* Duration badge -> plan title: THIS is the spacing the earlier CSS missed. */
.asp-wrap .asp-plan-top {
  min-height:0 !important;
  height:auto !important;
  margin:0 0 17px !important;
  padding:0 !important;
}
.asp-wrap .asp-plan-duration {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:7px 12px !important;
  margin:0 !important;
  line-height:1 !important;
}
.asp-wrap .asp-plan h3 {
  margin:0 0 9px !important;
  padding:0 !important;
  line-height:1.15 !important;
  font-size:22px !important;
}
.asp-wrap .asp-tagline {
  min-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.5 !important;
}

/* Price + old price + SAVE are now one controlled block. */
.asp-wrap .asp-price-row {
  display:flex !important;
  align-items:flex-end !important;
  gap:12px !important;
  margin:26px 0 0 !important;
  min-height:55px !important;
  padding:0 !important;
}
.asp-wrap .asp-price {
  margin:0 !important;
  padding:0 !important;
  font-size:43px !important;
  line-height:.95 !important;
  letter-spacing:-1px !important;
  white-space:nowrap !important;
}
.asp-wrap .asp-price-meta {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  min-width:0 !important;
  padding-bottom:2px !important;
}
.asp-wrap .asp-old-price {
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.1 !important;
  text-decoration:line-through !important;
}
.asp-wrap .asp-save {
  margin:4px 0 0 !important;
  padding:0 !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}
.asp-wrap .asp-billed {
  margin:9px 0 0 !important;
  padding:0 0 19px !important;
  line-height:1.5 !important;
}

/* Features can be 4, 5, 6 or more without destroying the button position. */
.asp-wrap .asp-plan ul {
  flex:1 1 auto !important;
  margin:0 !important;
  padding:17px 0 25px !important;
  list-style:none !important;
}
.asp-wrap .asp-plan li {
  margin:0 !important;
  padding:0 !important;
  line-height:1.85 !important;
}
.asp-wrap .asp-plan li:before {
  margin-right:9px !important;
}
.asp-wrap .asp-plan .asp-choose {
  display:flex !important;
  width:100% !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 18px !important;
  border-radius:10px !important;
  background:#f5c542 !important;
  color:#17130a !important;
  border:0 !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  flex:0 0 auto !important;
}

/* How It Works: clear vertical rhythm. */
.asp-wrap .asp-how {
  margin:42px 0 0 !important;
  padding:34px 28px 28px !important;
  border-radius:20px !important;
}
.asp-wrap .asp-section-title {
  margin:0 0 30px !important;
  padding:0 !important;
  text-align:center !important;
}
.asp-wrap .asp-section-title .asp-kicker {
  display:inline-flex !important;
  margin:0 0 13px !important;
}
.asp-wrap .asp-section-title h3 {
  margin:0 !important;
  padding:0 !important;
  font-size:30px !important;
  line-height:1.18 !important;
}
.asp-wrap .asp-how-grid {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
.asp-wrap .asp-how-item {
  min-height:174px !important;
  padding:20px !important;
  border-radius:14px !important;
}
.asp-wrap .asp-how-item strong {
  display:block !important;
  margin:15px 0 0 !important;
  line-height:1.3 !important;
}
.asp-wrap .asp-how-item p {
  margin:9px 0 0 !important;
  line-height:1.55 !important;
}

/* Contact buttons inside How It Works */
.asp-wrap .asp-how .asp-support-strip {
  margin:30px 0 0 !important;
  padding:25px 18px 4px !important;
  border-top:1px solid rgba(255,255,255,.11) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  text-align:center !important;
}
.asp-wrap .asp-support-actions {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.asp-wrap .asp-support-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  margin:0 !important;
  padding:10px 20px !important;
  border-radius:10px !important;
  background:#11131b !important;
  color:inherit !important;
  border:1px solid rgba(255,255,255,.11) !important;
  text-decoration:none !important;
  font-weight:800 !important;
}
.asp-wrap .asp-support-strip p {
  margin:14px 0 0 !important;
  line-height:1.5 !important;
}

/* Feedback section */
.asp-wrap .asp-feedback {
  margin:30px 0 0 !important;
  padding:28px !important;
  border-radius:20px !important;
}
.asp-wrap .asp-feedback-heading {
  margin:0 0 24px !important;
  gap:16px !important;
}
.asp-wrap .asp-feedback-heading h3 {
  margin:2px 0 6px !important;
}
.asp-wrap .asp-feedback-heading p {
  margin:0 !important;
  line-height:1.55 !important;
}
.asp-wrap .asp-reason-list {
  display:flex !important;
  gap:10px !important;
  margin:0 0 22px !important;
}

/* Register/Login/Forgot: same badge/title/description rhythm. */
.asp-wrap.asp-auth-page {
  max-width:700px !important;
  margin:38px auto 70px !important;
}
.asp-wrap .asp-auth-card {
  padding:34px !important;
  border-radius:20px !important;
}
.asp-wrap .asp-auth-card > .asp-kicker {
  display:inline-flex !important;
  margin:0 0 17px !important;
}
.asp-wrap .asp-auth-card h2 {
  margin:0 0 12px !important;
  padding:0 !important;
  line-height:1.12 !important;
}
.asp-wrap .asp-auth-card > p {
  margin:0 0 25px !important;
  line-height:1.55 !important;
}
.asp-wrap .asp-auth-card .asp-form-grid {
  gap:18px !important;
  margin:0 !important;
}
.asp-wrap .asp-auth-card label {
  margin:0 0 18px !important;
}
.asp-wrap .asp-auth-card .asp-submit-btn {
  margin:5px 0 0 !important;
  min-height:48px !important;
}
.asp-wrap .asp-auth-switch,
.asp-wrap .asp-auth-links {
  margin-top:22px !important;
}
.asp-wrap .asp-user-contact {
  margin:23px 0 !important;
  padding:20px !important;
}
.asp-wrap .asp-contact-actions {
  display:flex !important;
  gap:12px !important;
  margin-top:14px !important;
  flex-wrap:wrap !important;
}

/* Only intentional primary actions are yellow. */
.asp-wrap .asp-btn-primary,
.asp-wrap button.asp-btn-primary,
.asp-wrap .asp-plan .asp-choose {
  background:#f5c542 !important;
  color:#17130a !important;
  border-color:transparent !important;
}
.asp-wrap .asp-btn-ghost,
.asp-wrap .asp-support-btn,
.asp-wrap .asp-method-tab,
.asp-wrap .asp-reason span,
.asp-wrap .asp-back-pay {
  background:#11131b !important;
  color:inherit !important;
}

/* Responsive */
@media(max-width:1000px){
  .asp-wrap .asp-plans{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .asp-wrap .asp-how-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  body:has(.asp-wrap) .asp-wrap,
  .asp-wrap{margin:22px auto 45px !important;padding:0 12px !important}
  .asp-wrap .asp-plans{grid-template-columns:1fr !important}
  .asp-wrap .asp-plan{min-height:0 !important;padding:25px 20px 20px !important}
  .asp-wrap .asp-how{padding:25px 18px !important}
  .asp-wrap .asp-section-title h3{font-size:25px !important}
  .asp-wrap .asp-how-grid{grid-template-columns:1fr !important}
  .asp-wrap .asp-feedback{padding:22px 18px !important}
  .asp-wrap.asp-auth-page{margin:25px auto 45px !important}
  .asp-wrap .asp-auth-card{padding:26px 20px !important}
  .asp-wrap .asp-form-grid{grid-template-columns:1fr !important}
  .asp-wrap .asp-price{font-size:39px !important}
}

/* ==========================================================
   v2.9 FINAL INTERACTION POLISH
   Feedback choices become visibly selected, and support
   buttons have distinct colors + hover effects.
   These rules intentionally come last so theme/plugin rules
   above cannot flatten the selected state.
   ========================================================== */

/* Feedback/reason choices */
.asp-wrap .asp-feedback .asp-reason span {
  background:#11131b !important;
  color:#d9d9df !important;
  border:1px solid rgba(255,255,255,.13) !important;
  transition:background .22s ease, color .22s ease, border-color .22s ease,
             transform .22s ease, box-shadow .22s ease !important;
}

.asp-wrap .asp-feedback .asp-reason:hover span {
  border-color:rgba(245,197,66,.55) !important;
  background:#171a23 !important;
  transform:translateY(-1px) !important;
}

/* Selected option: fill the button, not just the border */
.asp-wrap .asp-feedback .asp-reason input:checked + span {
  background:#f5c542 !important;
  color:#17130a !important;
  border-color:#f5c542 !important;
  box-shadow:0 5px 16px rgba(245,197,66,.20) !important;
  transform:translateY(-1px) !important;
}

/* Support buttons */
.asp-wrap .asp-support-actions .asp-support-btn {
  background:#229ed9 !important;
  color:#fff !important;
  border:1px solid #229ed9 !important;
  transition:background .22s ease, color .22s ease, border-color .22s ease,
             transform .22s ease, box-shadow .22s ease !important;
}

/* First button: Message Admin */
.asp-wrap .asp-support-actions .asp-support-btn:first-child {
  background:#229ed9 !important;
  color:#fff !important;
  border-color:#229ed9 !important;
}

.asp-wrap .asp-support-actions .asp-support-btn:first-child:hover {
  background:#38b5ef !important;
  color:#fff !important;
  border-color:#38b5ef !important;
  transform:translateY(-2px) !important;
  box-shadow:0 7px 18px rgba(34,158,217,.28) !important;
}

/* Second button: Join Telegram */
.asp-wrap .asp-support-actions .asp-support-btn:nth-child(2) {
  background:#f5c542 !important;
  color:#17130a !important;
  border-color:#f5c542 !important;
}

.asp-wrap .asp-support-actions .asp-support-btn:nth-child(2):hover {
  background:#ffd75a !important;
  color:#111 !important;
  border-color:#ffd75a !important;
  transform:translateY(-2px) !important;
  box-shadow:0 7px 18px rgba(245,197,66,.28) !important;
}

/* If WhatsApp is enabled, make the third support button green. */
.asp-wrap .asp-support-actions .asp-support-btn:nth-child(3) {
  background:#25d366 !important;
  color:#08240f !important;
  border-color:#25d366 !important;
}

.asp-wrap .asp-support-actions .asp-support-btn:nth-child(3):hover {
  background:#42e07c !important;
  color:#08240f !important;
  border-color:#42e07c !important;
  transform:translateY(-2px) !important;
  box-shadow:0 7px 18px rgba(37,211,102,.24) !important;
}

/* Keyboard accessibility */
.asp-wrap .asp-feedback .asp-reason input:focus-visible + span,
.asp-wrap .asp-support-actions .asp-support-btn:focus-visible {
  outline:2px solid #f5c542 !important;
  outline-offset:3px !important;
}

/* Keep selected feedback buttons readable on small screens. */
@media(max-width:650px){
  .asp-wrap .asp-feedback .asp-reason-list {
    gap:10px !important;
  }
  .asp-wrap .asp-feedback .asp-reason {
    width:100% !important;
  }
  .asp-wrap .asp-feedback .asp-reason span {
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .asp-wrap .asp-support-actions .asp-support-btn {
    width:100% !important;
  }
}


/* v3.0: interaction and auth-page polish */
body.asp-membership-page .asp-reason span{
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
body.asp-membership-page .asp-reason:hover span{
  border-color:rgba(245,197,66,.7)!important;
  background:rgba(245,197,66,.10)!important;
  color:#f8dc79!important;
  transform:translateY(-1px)!important;
}
body.asp-membership-page .asp-reason input:checked + span{
  background:var(--asp-gold)!important;
  border-color:var(--asp-gold)!important;
  color:#17130a!important;
  box-shadow:0 8px 22px rgba(245,197,66,.18)!important;
  transform:translateY(-1px)!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn{
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
  background:#171a24!important;
  color:#f5f5f5!important;
  border-color:rgba(255,255,255,.12)!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn:first-child{
  background:#229ed9!important;color:#fff!important;border-color:#229ed9!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn:nth-child(2){
  background:var(--asp-gold)!important;color:#17130a!important;border-color:var(--asp-gold)!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn:nth-child(3){
  background:#25d366!important;color:#07140b!important;border-color:#25d366!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn:hover{
  transform:translateY(-2px)!important;filter:brightness(1.07)!important;
}
body.asp-membership-page .asp-support-actions .asp-support-btn:first-child:hover{box-shadow:0 9px 24px rgba(34,158,217,.25)!important}
body.asp-membership-page .asp-support-actions .asp-support-btn:nth-child(2):hover{box-shadow:0 9px 24px rgba(245,197,66,.22)!important}
body.asp-membership-page .asp-support-actions .asp-support-btn:nth-child(3):hover{box-shadow:0 9px 24px rgba(37,211,102,.22)!important}

/* Register Need help block: centered and visually separated from the form. */
body.asp-membership-page .asp-auth-card .asp-contact-box{
  text-align:center!important;align-items:center!important;padding:24px!important;margin:28px auto 0!important;
}
body.asp-membership-page .asp-auth-card .asp-contact-box strong,
body.asp-membership-page .asp-auth-card .asp-contact-box > span{display:block!important;width:100%!important}
body.asp-membership-page .asp-auth-card .asp-contact-actions{
  justify-content:center!important;align-items:center!important;gap:12px!important;margin-top:12px!important;
}
body.asp-membership-page .asp-auth-card .asp-auth-switch{
  margin:16px 0 0!important;padding-top:0!important;text-align:center!important;
}
body.asp-membership-page .asp-auth-card .asp-auth-switch a{color:var(--asp-gold)!important;text-decoration:none!important}
body.asp-membership-page .asp-auth-card .asp-auth-switch a:hover{text-decoration:underline!important}

/* Logged-in state: make Open My Account unmistakably clickable. */
body.asp-membership-page .asp-logged-notice{
  max-width:700px!important;margin:32px auto!important;padding:28px!important;border:1px solid var(--asp-border)!important;border-radius:18px!important;background:rgba(255,255,255,.025)!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;
}
body.asp-membership-page .asp-logged-notice strong{font-size:17px!important}
body.asp-membership-page .asp-logged-notice .asp-btn{display:inline-flex!important;width:auto!important;min-width:170px!important;justify-content:center!important}

@media(max-width:650px){
 body.asp-membership-page .asp-auth-card .asp-contact-actions{flex-direction:column!important;width:100%!important}
 body.asp-membership-page .asp-auth-card .asp-contact-btn{width:100%!important}
 body.asp-membership-page .asp-logged-notice{margin:22px auto!important;padding:22px 16px!important}
}

/* v3.1 - hard override for themes that strip button styling on membership auth pages. */
html body.asp-membership-page .asp-logged-notice {
  width: min(700px, calc(100% - 32px)) !important;
  max-width: 700px !important;
  margin: 32px auto !important;
  padding: 30px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  text-align: center !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: 0 16px 45px rgba(0,0,0,.16) !important;
}
html body.asp-membership-page .asp-logged-notice strong {
  display: block !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: inherit !important;
}
html body.asp-membership-page .asp-logged-notice a.asp-btn.asp-btn-primary,
html body.asp-membership-page .asp-logged-notice a.asp-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 190px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 24px !important;
  border: 1px solid #f5c542 !important;
  border-radius: 10px !important;
  background: #f5c542 !important;
  color: #17130a !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  box-shadow: 0 8px 24px rgba(245,197,66,.22) !important;
  cursor: pointer !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
html body.asp-membership-page .asp-logged-notice a.asp-btn.asp-btn-primary:hover,
html body.asp-membership-page .asp-logged-notice a.asp-btn:hover {
  background: #ffd65a !important;
  color: #17130a !important;
  border-color: #ffd65a !important;
  filter: brightness(1.03) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(245,197,66,.30) !important;
}

/* Register-page help box: keep the whole block and its actions centered. */
html body.asp-membership-page .asp-auth-card .asp-contact-box {
  text-align: center !important;
  align-items: center !important;
}
html body.asp-membership-page .asp-auth-card .asp-contact-box strong,
html body.asp-membership-page .asp-auth-card .asp-contact-box > span {
  text-align: center !important;
}
html body.asp-membership-page .asp-auth-card .asp-contact-actions {
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
}
html body.asp-membership-page .asp-auth-card .asp-contact-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 190px !important;
}

/* Support buttons on the premium page. */
html body.asp-membership-page .asp-support-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}
html body.asp-membership-page .asp-support-btn {
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
html body.asp-membership-page .asp-support-btn:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
}

@media (max-width:650px) {
  html body.asp-membership-page .asp-logged-notice {
    width: calc(100% - 24px) !important;
    padding: 24px 16px !important;
  }
  html body.asp-membership-page .asp-auth-card .asp-contact-actions {
    flex-direction: column !important;
  }
  html body.asp-membership-page .asp-auth-card .asp-contact-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* v3.2 - theme-independent auth styling. Do not depend on body classes. */
.asp-auth-page .asp-auth-card .asp-contact-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:28px auto 0!important;
  padding:24px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.asp-auth-page .asp-auth-card .asp-contact-box strong,
.asp-auth-page .asp-auth-card .asp-contact-box > span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  margin:0!important;
}
.asp-auth-page .asp-auth-card .asp-contact-box strong{font-size:17px!important;line-height:1.4!important}
.asp-auth-page .asp-auth-card .asp-contact-box > span{margin-top:6px!important;line-height:1.5!important}
.asp-auth-page .asp-auth-card .asp-contact-actions{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  margin:14px 0 0!important;
  flex-wrap:wrap!important;
}
.asp-auth-page .asp-auth-card .asp-contact-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 20px!important;
  box-sizing:border-box!important;
}
.asp-auth-page .asp-auth-card .asp-auth-switch{
  display:block!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1.5!important;
}
.asp-auth-page .asp-auth-card .asp-auth-switch a{
  color:var(--asp-gold,#f5c542)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.asp-auth-page .asp-auth-card .asp-auth-switch a:hover{text-decoration:underline!important}

/* Logged-in message: make the account link a real primary button even when the theme overrides .asp-btn. */
.asp-logged-notice{
  width:min(700px,calc(100% - 32px))!important;
  max-width:700px!important;
  margin:32px auto!important;
  padding:30px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  text-align:center!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.035)!important;
  box-sizing:border-box!important;
}
.asp-logged-notice strong{display:block!important;margin:0!important;font-size:18px!important;line-height:1.45!important}
.asp-logged-notice a.asp-btn,
.asp-logged-notice a.asp-btn.asp-btn-primary,
.asp-logged-notice a[href]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:190px!important;
  min-height:48px!important;
  margin:0!important;
  padding:12px 24px!important;
  border:1px solid #f5c542!important;
  border-radius:10px!important;
  background:#f5c542!important;
  color:#17130a!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  box-shadow:0 8px 24px rgba(245,197,66,.22)!important;
  cursor:pointer!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
  box-sizing:border-box!important;
}
.asp-logged-notice a.asp-btn:hover,
.asp-logged-notice a.asp-btn.asp-btn-primary:hover,
.asp-logged-notice a[href]:hover{
  background:#ffd65a!important;
  color:#17130a!important;
  border-color:#ffd65a!important;
  transform:translateY(-2px)!important;
  filter:none!important;
  box-shadow:0 12px 30px rgba(245,197,66,.30)!important;
}
@media(max-width:650px){
  .asp-auth-page .asp-auth-card .asp-contact-actions{flex-direction:column!important}
  .asp-auth-page .asp-auth-card .asp-contact-btn{width:100%!important;min-width:0!important}
  .asp-logged-notice{width:calc(100% - 24px)!important;padding:24px 16px!important}
  .asp-logged-notice a.asp-btn,.asp-logged-notice a.asp-btn.asp-btn-primary,.asp-logged-notice a[href]{width:100%!important;min-width:0!important}
}

/* v3.3: keep Register login switch at the top of the Need help box */
.asp-auth-page .asp-contact-box .asp-auth-switch{
  order:-1!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  text-align:center!important;
}
.asp-auth-page .asp-contact-box .asp-auth-switch a{
  color:var(--asp-gold,#f5c542)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.asp-auth-page .asp-contact-box .asp-auth-switch a:hover{
  text-decoration:underline!important;
}


/* v3.4 register layout: login switch is separate and always BEFORE Need Help. */
.asp-auth-page .asp-auth-card > .asp-auth-switch{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    margin:28px 0 22px!important;
    padding:0!important;
    order:initial!important;
}
.asp-auth-page .asp-auth-card > .asp-contact-box{
    margin-top:0!important;
}


/* OTP password reset */
.asp-otp-help{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(255,255,255,.03);font-size:14px;line-height:1.6;color:#c8c9d2}
.asp-otp-resend{margin-top:10px}
.asp-auth-card .asp-otp-resend .asp-btn{width:100%}
.asp-auth-card input[name="asp_otp_code"]{letter-spacing:.28em;text-align:center;font-weight:800;font-size:20px}


/* v3.6 OTP resend countdown */
.asp-otp-resend{margin-top:12px!important;text-align:center!important}
.asp-otp-resend button:disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important;filter:none!important}
.asp-otp-resend .asp-resend-countdown{font-variant-numeric:tabular-nums!important}
.asp-otp-resend .asp-resend-hint{margin-top:8px!important;font-size:13px!important;line-height:1.5!important;color:#aeb2bf!important}
.asp-otp-resend .asp-resend-hint strong{color:#f5c542!important;font-variant-numeric:tabular-nums!important}


/* v3.7 Google authentication + account contact editing */
.asp-google-auth{margin:20px 0 6px;text-align:center}.asp-google-button{display:flex;justify-content:center;min-height:44px}.asp-auth-or{display:flex;align-items:center;gap:12px;margin:16px 0;color:rgba(255,255,255,.45);font-size:12px}.asp-auth-or:before,.asp-auth-or:after{content:"";height:1px;flex:1;background:var(--asp-border)}.asp-auth-or span{padding:0 4px}.asp-google-modal[hidden]{display:none!important}.asp-google-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.asp-google-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.asp-google-modal-card{position:relative;z-index:1;width:min(100%,480px);padding:30px;border:1px solid rgba(245,197,66,.35);border-radius:20px;background:#171a24;box-shadow:0 25px 80px rgba(0,0,0,.45);color:#fff}.asp-google-modal-close{position:absolute;top:12px;right:14px;width:34px;height:34px;border:0;background:transparent;color:rgba(255,255,255,.7);font-size:26px;cursor:pointer}.asp-google-modal-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#fff;color:#4285f4;font-weight:900;font-size:22px}.asp-google-modal-card h3{text-align:center;font-size:27px;margin:0 0 10px}.asp-google-modal-card>p{text-align:center;opacity:.68;line-height:1.55;margin:0 0 20px}.asp-google-contact-grid label{display:block;font-weight:700}.asp-google-contact-grid input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(0,0,0,.18);color:inherit;font:inherit}.asp-google-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:rgba(255,255,255,.4)}.asp-google-or:before,.asp-google-or:after{content:"";height:1px;flex:1;background:var(--asp-border)}.asp-google-contact-note{font-size:12px!important;opacity:.55!important;margin:14px 0 18px!important}.asp-google-contact-error{min-height:20px;color:#ff7777;font-size:13px;margin-top:8px}.asp-google-continue{width:100%}.asp-account-contact{margin-top:26px;padding:22px;border:1px solid var(--asp-border);border-radius:14px;background:rgba(255,255,255,.018)}.asp-account-contact h3{margin:0 0 6px;font-size:20px}.asp-account-contact>p{margin:0 0 18px;opacity:.6}.asp-account-contact form{margin:0}.asp-account-contact .asp-btn{margin-top:4px}
.asp-logged-notice{max-width:700px;margin:36px auto 60px;padding:28px;border:1px solid var(--asp-border);border-radius:18px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:space-between;gap:18px}.asp-logged-notice strong{font-size:16px}.asp-logged-notice .asp-btn-primary{background:#229ed9!important;color:#fff!important;border-color:#229ed9!important}.asp-logged-notice .asp-btn-primary:hover{background:#38b5ef!important;border-color:#38b5ef!important}
@media(max-width:650px){.asp-google-modal-card{padding:24px 20px}.asp-logged-notice{flex-direction:column;align-items:stretch}.asp-logged-notice .asp-btn{width:100%}}


/* v3.8: unified account-required + Google layout */
body.asp-membership-page .asp-auth-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(330px,380px)!important;
  align-items:center!important;
  gap:30px!important;
  padding:28px 30px!important;
  margin:30px 0!important;
}
body.asp-membership-page .asp-auth-copy .asp-kicker{margin-bottom:10px!important}
body.asp-membership-page .asp-auth-copy h3{margin:0 0 8px!important;font-size:23px!important;line-height:1.2!important}
body.asp-membership-page .asp-auth-copy p{margin:0!important;line-height:1.55!important}
body.asp-membership-page .asp-auth-choices{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:100%!important}
body.asp-membership-page .asp-auth-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important}
body.asp-membership-page .asp-auth-actions .asp-btn{width:100%!important;min-width:0!important;margin:0!important}
body.asp-membership-page .asp-auth-choices .asp-google-auth{width:100%!important;margin:0!important}
body.asp-membership-page .asp-auth-choices .asp-google-button{width:100%!important;min-height:44px!important}
body.asp-membership-page .asp-auth-choices .asp-google-button > div{margin:0 auto!important}
body.asp-membership-page .asp-auth-choices .asp-auth-or{margin:4px 0 0!important}
.asp-google-error{width:100%;padding:11px 13px;border:1px solid rgba(245,197,66,.28);border-radius:10px;background:rgba(245,197,66,.06);color:#f5d978;font-size:12px;line-height:1.5;text-align:center}
@media(max-width:800px){
  body.asp-membership-page .asp-auth-panel{grid-template-columns:1fr!important;gap:20px!important}
  body.asp-membership-page .asp-auth-choices{max-width:430px!important;margin:0 auto!important;width:100%!important}
}
@media(max-width:650px){
  body.asp-membership-page .asp-auth-panel{padding:22px 18px!important}
  body.asp-membership-page .asp-auth-actions{grid-template-columns:1fr!important}
}

/* v4.0 - final layout normalization for plugin-owned components.
   These rules are intentionally last so theme/plugin CSS cannot create
   oversized gaps, misaligned controls, or flattened buttons. */
html body.asp-membership-page .asp-wrap,
html body.asp-membership-page .asp-wrap *{box-sizing:border-box!important}

/* Membership heading + plan rhythm */
html body.asp-membership-page .asp-hero{height:auto!important;min-height:0!important;padding:34px 18px 34px!important}
html body.asp-membership-page .asp-hero .asp-kicker{display:inline-flex!important;margin:0 0 14px!important}
html body.asp-membership-page .asp-hero h2{margin:0 0 12px!important;line-height:1.12!important}
html body.asp-membership-page .asp-hero p{margin:0 auto!important}
html body.asp-membership-page .asp-plans{align-items:stretch!important}
html body.asp-membership-page .asp-plan{height:auto!important;min-height:540px!important}
html body.asp-membership-page .asp-plan-top{height:auto!important;min-height:34px!important;margin:0 0 8px!important}
html body.asp-membership-page .asp-plan-duration{margin:0!important}
html body.asp-membership-page .asp-plan h3{margin:0 0 8px!important;line-height:1.2!important}
html body.asp-membership-page .asp-tagline{margin:0!important;min-height:42px!important;line-height:1.5!important}
html body.asp-membership-page .asp-price-row{margin:22px 0 0!important;min-height:50px!important;align-items:flex-end!important}
html body.asp-membership-page .asp-billed{margin:7px 0 0!important;padding:0 0 18px!important}
html body.asp-membership-page .asp-plan ul{margin:0!important;padding:16px 0 22px!important}
html body.asp-membership-page .asp-plan .asp-choose{margin-top:auto!important}

/* Account-required block: compact two-column layout, no giant empty area. */
html body.asp-membership-page .asp-auth-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
  align-items:center!important;
  height:auto!important;min-height:0!important;
  margin:30px 0!important;padding:28px 30px!important;gap:28px!important;
}
html body.asp-membership-page .asp-auth-copy{height:auto!important;min-height:0!important}
html body.asp-membership-page .asp-auth-copy .asp-kicker{margin:0 0 12px!important}
html body.asp-membership-page .asp-auth-copy h3{margin:0 0 8px!important;line-height:1.2!important}
html body.asp-membership-page .asp-auth-copy p{margin:0!important;line-height:1.55!important}
html body.asp-membership-page .asp-auth-choices{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;height:auto!important;min-height:0!important}
html body.asp-membership-page .asp-auth-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;height:auto!important}
html body.asp-membership-page .asp-auth-actions .asp-btn{width:100%!important;margin:0!important;min-height:48px!important}
html body.asp-membership-page .asp-auth-choices .asp-google-auth{margin:0!important;width:100%!important}
html body.asp-membership-page .asp-auth-choices .asp-google-button{width:100%!important;min-height:44px!important}
html body.asp-membership-page .asp-auth-choices .asp-google-button > div{margin:0 auto!important}
html body.asp-membership-page .asp-auth-choices .asp-auth-or{margin:4px 0 0!important}

/* How It Works: explicit gap between badge and title and between section blocks. */
html body.asp-membership-page .asp-how{height:auto!important;min-height:0!important;margin:38px 0 0!important;padding:32px!important}
html body.asp-membership-page .asp-section-title{height:auto!important;min-height:0!important;margin:0 0 28px!important;padding:0!important}
html body.asp-membership-page .asp-section-title .asp-kicker{display:inline-flex!important;margin:0 0 14px!important}
html body.asp-membership-page .asp-section-title h3{margin:0!important;line-height:1.15!important}
html body.asp-membership-page .asp-how-grid{height:auto!important;min-height:0!important;gap:14px!important}
html body.asp-membership-page .asp-how-item{height:auto!important;min-height:174px!important}
html body.asp-membership-page .asp-how-item strong{margin:15px 0 0!important}
html body.asp-membership-page .asp-how-item p{margin:9px 0 0!important}

/* Premium-page contact buttons: two distinct buttons with visible hover. */
html body.asp-membership-page .asp-how .asp-support-strip{height:auto!important;min-height:0!important;margin:30px 0 0!important;padding:24px 0 4px!important}
html body.asp-membership-page .asp-support-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important}
html body.asp-membership-page .asp-support-btn{display:inline-flex!important;width:auto!important;min-width:190px!important;min-height:44px!important;margin:0!important;padding:10px 20px!important;border-radius:10px!important;font-weight:800!important;text-decoration:none!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important}
html body.asp-membership-page .asp-support-btn:first-child{background:#229ed9!important;color:#fff!important;border-color:#229ed9!important}
html body.asp-membership-page .asp-support-btn:nth-child(2){background:#f5c542!important;color:#17130a!important;border-color:#f5c542!important}
html body.asp-membership-page .asp-support-btn:nth-child(3){background:#25d366!important;color:#07140b!important;border-color:#25d366!important}
html body.asp-membership-page .asp-support-btn:hover{transform:translateY(-2px)!important;filter:brightness(1.08)!important}

/* Register / login auth cards: remove theme-created vertical gaps. */
html body.asp-membership-page .asp-auth-page{height:auto!important;min-height:0!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card{height:auto!important;min-height:0!important;padding:34px!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card > .asp-kicker{display:inline-flex!important;margin:0 0 14px!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card h2{margin:0 0 10px!important;line-height:1.15!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card > p{margin:0 0 22px!important;line-height:1.55!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card form{height:auto!important;min-height:0!important}
html body.asp-membership-page .asp-auth-page .asp-google-auth{margin:0 0 18px!important}
html body.asp-membership-page .asp-auth-page .asp-google-button{min-height:44px!important}
html body.asp-membership-page .asp-auth-page .asp-auth-or{margin:16px 0 22px!important}
html body.asp-membership-page .asp-auth-page .asp-auth-links{height:auto!important;min-height:0!important;margin:22px 0 0!important;gap:10px!important}

/* Register: existing-account link is ABOVE Need Help, as a separate block. */
html body.asp-membership-page .asp-auth-page .asp-auth-card > .asp-auth-switch{display:block!important;position:static!important;order:initial!important;margin:22px 0 0!important;padding:0!important;text-align:center!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card > .asp-auth-switch a{color:#f5c542!important;font-weight:800!important;text-decoration:none!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card > .asp-auth-switch a:hover{text-decoration:underline!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card .asp-contact-box{height:auto!important;min-height:0!important;margin:20px auto 0!important;padding:24px!important;text-align:center!important;align-items:center!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card .asp-contact-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:14px!important;width:100%!important;margin:14px 0 0!important;flex-wrap:wrap!important}
html body.asp-membership-page .asp-auth-page .asp-auth-card .asp-contact-btn{display:inline-flex!important;min-width:190px!important;min-height:44px!important;margin:0!important}

/* Logged-in page: real gold button, centered and obviously clickable. */
html body.asp-membership-page .asp-logged-notice{height:auto!important;min-height:0!important;width:min(700px,calc(100% - 32px))!important;margin:32px auto!important;padding:30px 24px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:18px!important;text-align:center!important}
html body.asp-membership-page .asp-logged-notice strong{margin:0!important;line-height:1.45!important}
html body.asp-membership-page .asp-logged-notice a.asp-btn{display:inline-flex!important;width:auto!important;min-width:190px!important;min-height:48px!important;margin:0!important;background:#f5c542!important;color:#17130a!important;border:1px solid #f5c542!important;text-decoration:none!important}
html body.asp-membership-page .asp-logged-notice a.asp-btn:hover{background:#ffd65a!important;color:#17130a!important;border-color:#ffd65a!important;transform:translateY(-2px)!important}

/* Feedback choices: selected option is filled, not only outlined. */
html body.asp-membership-page .asp-feedback .asp-reason span{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important}
html body.asp-membership-page .asp-feedback .asp-reason input:checked + span{background:#f5c542!important;color:#17130a!important;border-color:#f5c542!important;box-shadow:0 6px 18px rgba(245,197,66,.18)!important}
html body.asp-membership-page .asp-feedback .asp-reason:hover span{transform:translateY(-1px)!important;border-color:rgba(245,197,66,.65)!important}

@media(max-width:800px){
 html body.asp-membership-page .asp-auth-panel{grid-template-columns:1fr!important;gap:20px!important}
 html body.asp-membership-page .asp-auth-choices{max-width:430px!important;margin:0 auto!important}
}
@media(max-width:650px){
 html body.asp-membership-page .asp-plan{min-height:0!important}
 html body.asp-membership-page .asp-auth-panel{padding:22px 18px!important}
 html body.asp-membership-page .asp-auth-actions{grid-template-columns:1fr!important}
 html body.asp-membership-page .asp-auth-page .asp-auth-card{padding:25px 20px!important}
 html body.asp-membership-page .asp-auth-page .asp-auth-card .asp-contact-actions{flex-direction:column!important}
 html body.asp-membership-page .asp-auth-page .asp-auth-card .asp-contact-btn{width:100%!important;min-width:0!important}
 html body.asp-membership-page .asp-support-btn{width:100%!important;min-width:0!important}
}


/* ================================================================
   v4.1 layout polish — strong overrides for theme conflicts
   ================================================================ */
html body.asp-membership-page .asp-auth-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important;
  grid-template-areas:"copy choices"!important;
  align-items:center!important;
  justify-content:initial!important;
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  margin:30px 0!important;
  padding:30px!important;
  gap:32px!important;
  overflow:visible!important;
}
html body.asp-membership-page .asp-auth-copy{
  grid-area:copy!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}
html body.asp-membership-page .asp-auth-copy .asp-kicker{
  display:inline-flex!important;
  margin:0 0 18px!important;
  line-height:1!important;
}
html body.asp-membership-page .asp-auth-copy h3{
  display:block!important;
  margin:0 0 12px!important;
  padding:0!important;
  line-height:1.2!important;
}
html body.asp-membership-page .asp-auth-copy p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.55!important;
}
html body.asp-membership-page .asp-auth-choices{
  grid-area:choices!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:100%!important;
  max-width:390px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:14px!important;
  height:auto!important;
  min-height:0!important;
}
html body.asp-membership-page .asp-auth-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
html body.asp-membership-page .asp-auth-actions .asp-btn{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
}
html body.asp-membership-page .asp-google-auth{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:14px!important;
}
html body.asp-membership-page .asp-google-button{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:390px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
}
html body.asp-membership-page .asp-google-button > div,
html body.asp-membership-page .asp-google-button iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
html body.asp-membership-page .asp-auth-or{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* More breathing room around highlighted labels/headings everywhere. */
html body.asp-membership-page .asp-section-title .asp-kicker,
html body.asp-membership-page .asp-auth-page .asp-kicker{
  margin-bottom:16px!important;
}
html body.asp-membership-page .asp-auth-page .asp-auth-card h2{
  margin-top:0!important;
  margin-bottom:12px!important;
  line-height:1.2!important;
}

/* Contact/support links: unmistakable buttons, not plain text. */
html body.asp-membership-page .asp-support-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
}
html body.asp-membership-page .asp-support-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:205px!important;
  min-height:46px!important;
  padding:11px 22px!important;
  border-radius:11px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
html body.asp-membership-page .asp-support-btn:first-child{
  background:#229ed9!important;
  color:#fff!important;
  border-color:#229ed9!important;
}
html body.asp-membership-page .asp-support-btn:nth-child(2){
  background:#f5c542!important;
  color:#17130a!important;
  border-color:#f5c542!important;
}
html body.asp-membership-page .asp-support-btn:nth-child(3){
  background:#25d366!important;
  color:#07140b!important;
  border-color:#25d366!important;
}
html body.asp-membership-page .asp-support-btn:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.08)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.26)!important;
}
html body.asp-membership-page .asp-support-btn:focus-visible{
  outline:2px solid #f5c542!important;
  outline-offset:3px!important;
}

/* Account contact form: make fields and save action consistent with the theme. */
html body.asp-membership-page .asp-account-contact{
  margin-top:20px!important;
  padding:24px!important;
  border:1px solid var(--asp-border)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.018)!important;
}
html body.asp-membership-page .asp-account-contact h3{margin:0 0 8px!important}
html body.asp-membership-page .asp-account-contact p{margin:0 0 14px!important;opacity:.65!important}
html body.asp-membership-page .asp-account-contact .asp-form-grid{gap:16px!important}
html body.asp-membership-page .asp-account-contact input{
  width:100%!important;
  min-height:46px!important;
  margin-top:7px!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:9px!important;
  background:rgba(0,0,0,.14)!important;
  color:inherit!important;
}
html body.asp-membership-page .asp-account-contact .asp-btn{margin-top:4px!important}

@media(max-width:800px){
  html body.asp-membership-page .asp-auth-panel{
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "choices"!important;
    gap:22px!important;
  }
  html body.asp-membership-page .asp-auth-choices{
    max-width:430px!important;
    margin:0 auto!important;
  }
}
@media(max-width:650px){
  html body.asp-membership-page .asp-auth-panel{padding:22px 18px!important}
  html body.asp-membership-page .asp-auth-actions{grid-template-columns:1fr!important}
  html body.asp-membership-page .asp-support-btn{width:100%!important;min-width:0!important}
  html body.asp-membership-page .asp-account-contact{padding:18px!important}
}
