.ngpm-tab-link{display:inline-flex;align-items:center;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:800;color:#fd3365;background:#fff1f4}
.ngpm-membership-store{max-width:1180px;margin:40px auto}
.ngpm-current-plan{margin:22px 0}
.ngpm-current-card{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:20px 24px;border:1px solid #f3c4cf;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#fff2f5)}
.ngpm-current-card span{font-size:12px;font-weight:900;letter-spacing:.08em;color:#7b6470}.ngpm-current-card strong{font-size:22px}.ngpm-current-card small{color:#6d6470}
.ngpm-vip-badge{margin-left:auto;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#f7c948,#c68b00);color:#341f00;font-size:12px;letter-spacing:.05em}
.ngpm-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),370px));justify-content:center;align-items:stretch;gap:18px}
.ngpm-plan-card{box-sizing:border-box;display:flex;width:100%;max-width:370px;min-height:400px;flex-direction:column;padding:24px;border:1px solid #eadde1;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(45,9,25,.08)}
.ngpm-plan-card.is-current{border-color:#e2ac24;background:#fffaf0}.ngpm-plan-duration{font-size:11px;font-weight:900;letter-spacing:.1em;color:#fd3365}.ngpm-plan-card h2{margin:10px 0 5px}.ngpm-plan-card p{min-height:48px;color:#726772}.ngpm-plan-price{font-size:28px;color:#2c1721;margin:10px 0}.ngpm-plan-card ul{padding:0;list-style:none;line-height:2;color:#514750;flex:1}.ngpm-plan-card button{width:100%}.ngpm-plan-card button:disabled{opacity:.6;cursor:not-allowed}
.ngpm-plan-catalog{max-width:1180px;margin:40px auto}.ngpm-catalog-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px;border:1px solid #f1d5df;border-radius:26px;background:linear-gradient(135deg,#fff,#fff1f6)}.ngpm-catalog-hero h1{margin:6px 0 8px}.ngpm-catalog-hero p{max-width:720px;margin:0;color:#6d6470;line-height:1.65}.ngpm-catalog-actions{display:flex;flex:0 0 auto;gap:10px}.ngpm-catalog-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0;padding:8px;border:1px solid #eadde1;border-radius:17px;background:#fff}.ngpm-catalog-tabs button{min-height:44px;border:0;border-radius:11px;background:transparent;color:#6d6470;font-weight:850;cursor:pointer}.ngpm-catalog-tabs button.is-active{background:#fff0f5;color:#8a1748}.ngpm-catalog-panel{display:none}.ngpm-catalog-panel.is-active{display:block}.ngpm-catalog-panel>header{margin:0 0 16px}.ngpm-catalog-panel>header h2{margin:0 0 4px}.ngpm-catalog-panel>header p{margin:0;color:#6d6470}.ngpm-plan-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:12px;background:#7b1b48;color:#fff;text-align:center;text-decoration:none;font-weight:850}.ngpm-plan-action:hover{background:#5f1235;color:#fff}
@media(max-width:760px){.ngpm-membership-store{margin:0}.ngpm-vip-badge{margin-left:0}.ngpm-plan-grid{grid-template-columns:1fr}.ngpm-plan-catalog{margin:0}.ngpm-catalog-hero{flex-direction:column;padding:20px;border-radius:20px}.ngpm-catalog-actions{width:100%;flex-direction:column}.ngpm-catalog-actions a{justify-content:center;width:100%}.ngpm-catalog-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ngpm-catalog-tabs button{font-size:12px}}

/* Membership surfaces follow the same neutral white-canvas card system. */
.ngpm-plan-catalog,
.ngpm-membership-store{
    background:#fff!important;
}
.ngpm-catalog-hero,
.ngpm-current-card,
.ngpm-plan-card,
.ngpm-plan-card.is-current{
    border-color:#e8eaf0!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:0 12px 34px rgba(31,37,51,.075)!important;
}
.ngpm-catalog-hero::after{
    display:none!important;
}
.ngpm-plan-catalog{min-height:0}
@media(max-width:760px){.ngpm-plan-card{max-width:none}}

/* Membership catalog hero: editorial hierarchy with responsive actions. */
.ngpm-catalog-hero{
    position:relative;
    isolation:isolate;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end!important;
    gap:28px 42px!important;
    padding:clamp(28px,4vw,48px)!important;
    overflow:hidden;
    border:1px solid #eadfe4!important;
    border-radius:28px!important;
    background:
        radial-gradient(circle at 92% 12%,rgba(253,51,101,.13),transparent 15rem),
        linear-gradient(135deg,#fff 0%,#fff 58%,#fff6f8 100%)!important;
    box-shadow:0 18px 48px rgba(31,37,51,.055);
}
.ngpm-catalog-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-70px;
    bottom:-105px;
    width:250px;
    aspect-ratio:1;
    border:1px solid rgba(253,51,101,.13);
    border-radius:50%;
    box-shadow:0 0 0 34px rgba(253,51,101,.035),0 0 0 68px rgba(253,51,101,.022);
}
.ngpm-catalog-hero>div:first-child{
    min-width:0;
}
.ngpm-catalog-hero .ngpm-eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border:1px solid #ffd0dc;
    border-radius:999px;
    background:#fff4f7;
    color:#c91850!important;
    font-size:11px;
    letter-spacing:.12em;
}
.ngpm-catalog-hero h1{
    max-width:820px;
    margin:18px 0 13px!important;
    color:#202635!important;
    font-size:clamp(34px,4.4vw,56px)!important;
    font-weight:850!important;
    letter-spacing:-.045em;
    line-height:1.04!important;
    text-wrap:balance;
}
.ngpm-catalog-hero p{
    max-width:720px!important;
    color:#5f6b7b!important;
    font-size:clamp(15px,1.5vw,17px);
    line-height:1.7!important;
}
.ngpm-catalog-actions{
    position:relative;
    z-index:1;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:10px!important;
}
.ngpm-catalog-actions a{
    box-sizing:border-box;
    min-height:48px!important;
    padding:0 20px!important;
    border-radius:14px!important;
    font-size:14px;
    text-decoration:none!important;
    box-shadow:none!important;
    transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.ngpm-catalog-actions .ngpm-outline{
    border:1px solid #d9dce4!important;
    background:rgba(255,255,255,.9)!important;
    color:#344054!important;
}
.ngpm-catalog-actions .ngpm-primary-link{
    border:1px solid #fd3365!important;
    background:linear-gradient(135deg,#fd3365,#d91f50)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(217,31,80,.18)!important;
}
.ngpm-catalog-actions a:hover{
    transform:translateY(-2px);
}
.ngpm-catalog-actions .ngpm-outline:hover{
    border-color:#fd9ab3!important;
    background:#fff!important;
    color:#a2154d!important;
}
.ngpm-catalog-actions .ngpm-primary-link:hover{
    box-shadow:0 14px 30px rgba(217,31,80,.25)!important;
}

/* Balanced catalog actions: matching geometry and neutral elevation. */
.ngpm-catalog-actions a{
    min-width:154px!important;
    min-height:48px!important;
    justify-content:center!important;
    border-radius:13px!important;
    font-weight:800!important;
}
.ngpm-catalog-actions .ngpm-outline{
    border-color:#d9dde5!important;
    background:#fff!important;
    color:#344054!important;
    box-shadow:0 7px 20px rgba(31,37,51,.07)!important;
}
.ngpm-catalog-actions .ngpm-primary-link,
.ngpm-catalog-actions .ngpm-primary-link:hover{
    border-color:#fd3365!important;
    background:#fd3365!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:0 7px 20px rgba(31,37,51,.11)!important;
}
.ngpm-catalog-actions a:hover{
    transform:translateY(-1px)!important;
}
.ngpm-catalog-actions a:focus-visible{
    outline:3px solid rgba(253,51,101,.2)!important;
    outline-offset:3px;
}
@media(max-width:1100px){
    .ngpm-catalog-hero{
        grid-template-columns:1fr;
        align-items:start!important;
    }
    .ngpm-catalog-hero h1{
        max-width:none;
        font-size:clamp(36px,6vw,50px)!important;
    }
    .ngpm-catalog-actions{
        justify-content:flex-start;
    }
}
@media(max-width:600px){
    .ngpm-catalog-hero{
        gap:22px!important;
        padding:24px 20px!important;
        border-radius:22px!important;
    }
    .ngpm-catalog-hero h1{
        margin-top:15px!important;
        font-size:clamp(31px,10vw,40px)!important;
        line-height:1.08!important;
    }
    .ngpm-catalog-hero p{
        font-size:14px;
        line-height:1.65!important;
    }
    .ngpm-catalog-actions{
        width:100%;
        flex-direction:column!important;
    }
    .ngpm-catalog-actions a{
        width:100%!important;
    }
}

/* Catalog actions: compact app-style controls with neutral elevation. */
.ngpm-catalog-actions{
    align-self:center!important;
    gap:12px!important;
}
.ngpm-catalog-actions .ngpm-catalog-action{
    display:inline-flex!important;
    width:auto!important;
    min-width:174px!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    padding:0 20px!important;
    border-radius:999px!important;
    font-size:14px!important;
    font-weight:850!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-shadow:0 8px 22px rgba(31,37,51,.08)!important;
    transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease!important;
}
.ngpm-catalog-actions .ngpm-catalog-action svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ngpm-catalog-actions .ngpm-outline.ngpm-catalog-action{
    border:1px solid #d9dee7!important;
    background:#fff!important;
    color:#344054!important;
}
.ngpm-catalog-actions .ngpm-primary-link.ngpm-catalog-action,
.ngpm-catalog-actions .ngpm-primary-link.ngpm-catalog-action:hover{
    border:1px solid #fd3365!important;
    background:#fd3365!important;
    color:#fff!important;
    box-shadow:0 9px 24px rgba(31,37,51,.13)!important;
}
.ngpm-catalog-actions .ngpm-catalog-action:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 12px 28px rgba(31,37,51,.13)!important;
}
.ngpm-catalog-actions .ngpm-outline.ngpm-catalog-action:hover{
    border-color:#c9d0dc!important;
    background:#f8fafc!important;
    color:#202635!important;
}
.ngpm-catalog-actions .ngpm-catalog-action:active{
    transform:translateY(0)!important;
    box-shadow:0 4px 12px rgba(31,37,51,.09)!important;
}
@media(max-width:600px){
    .ngpm-catalog-actions .ngpm-catalog-action{
        width:100%!important;
        min-width:0!important;
    }
}

/* Keep Membership and Membership Plans cards visually identical to the
   compact plan picker used by the listing submission flow. */
.ngpm-plan-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;
    align-items:start!important;
    gap:12px!important;
}
.ngpm-plan-card,
.ngpm-plan-card.is-current{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    align-self:start!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.ngpm-plan-card__content{
    box-sizing:border-box;
    position:relative;
    display:flex;
    width:100%;
    min-height:218px;
    align-items:center;
    flex-direction:column;
    padding:16px;
    border:1px solid #e4e7ec;
    border-radius:18px;
    background:#fff;
    text-align:center;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ngpm-plan-card:hover .ngpm-plan-card__content{
    transform:translateY(-4px);
    border-color:#fd3365;
    box-shadow:0 16px 34px rgba(253,51,101,.12);
}
.ngpm-plan-card.is-featured .ngpm-plan-card__content{
    background:linear-gradient(155deg,#fff 0%,#fff5f8 100%);
}
.ngpm-plan-card.is-current .ngpm-plan-card__content{
    border:2px solid #fd3365;
    background:#fff8fa;
    box-shadow:0 0 0 3px rgba(253,51,101,.09);
}
.ngpm-plan-card__badge{
    position:static;
    order:-1;
    margin:0 0 7px;
    padding:3px 8px;
    border-radius:999px;
    background:#fd3365;
    color:#fff;
    font-size:9px;
    line-height:1.4;
}
.ngpm-plan-card__content>small{
    width:100%;
    overflow:hidden;
    color:#7a8292;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-align:center;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}
.ngpm-plan-card__name{
    display:-webkit-box;
    min-height:36px;
    margin-top:7px;
    overflow:hidden;
    color:#202635;
    font-size:15px;
    line-height:1.2;
    text-align:center;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.ngpm-plan-card__price{
    margin-top:8px;
    color:#fd3365;
    font-size:21px;
    font-weight:900;
    line-height:1;
    text-align:center;
}
.ngpm-plan-card__period{
    margin-top:4px;
    color:#667085;
    font-size:11px;
    text-align:center;
}
.ngpm-plan-card__details{
    width:100%;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #f0e5e9;
    text-align:left;
}
.ngpm-plan-card__details[hidden]{display:none!important}
.ngpm-plan-card__details p{
    min-height:0!important;
    margin:0 0 12px!important;
    color:#667085!important;
    font-size:12px!important;
    line-height:1.55!important;
    text-align:left;
    white-space:pre-line;
}
.ngpm-plan-card__features{
    display:grid;
    width:100%;
    gap:8px;
    margin:0 0 4px!important;
    padding:0!important;
    color:#475467!important;
    font-size:12px;
    line-height:1.45!important;
    list-style:none;
    text-align:left;
}
.ngpm-plan-card__features li{
    display:flex;
    align-items:flex-start;
    gap:8px;
    text-align:left;
}
.ngpm-plan-card__features li::before{
    content:"✓";
    flex:0 0 auto;
    color:#16a34a;
    font-weight:900;
}
.ngpm-plan-card__actions{
    display:grid;
    width:100%;
    grid-template-columns:minmax(62px,.7fr) minmax(86px,1.3fr);
    gap:6px;
    margin-top:auto;
    padding-top:11px;
}
.ngpm-plan-card__more,
.ngpm-plan-card__select{
    box-sizing:border-box;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:35px!important;
    align-items:center;
    justify-content:center;
    margin:0!important;
    padding:7px 8px!important;
    border-radius:9px!important;
    font:inherit!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1.2!important;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer;
}
.ngpm-plan-card__more{
    border:1px solid #dccbd2!important;
    background:#fff!important;
    color:#681536!important;
}
.ngpm-plan-card__select,
.ngpm-plan-card__select:hover{
    border:1px solid #fd3365!important;
    background:#fd3365!important;
    color:#fff!important;
}
.ngpm-plan-card__select:disabled{
    border-color:#f2a7ba!important;
    background:#fff5f8!important;
    color:#c85b7a!important;
    cursor:not-allowed!important;
    opacity:1!important;
}
.ngpm-plan-card__more:focus-visible,
.ngpm-plan-card__select:focus-visible{
    outline:3px solid rgba(253,51,101,.18);
    outline-offset:2px;
}
@media(max-width:720px){
    .ngpm-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .ngpm-plan-card__content{padding:14px}
}
@media(max-width:420px){
    .ngpm-plan-grid{grid-template-columns:1fr!important}
    .ngpm-plan-card__actions{grid-template-columns:1fr 1fr}
}
