.membership-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 22px;
    padding: 3px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .02em;
    vertical-align: middle;
    white-space: nowrap;
    flex: 0 0 auto;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .10);
}

.vip-member-shimmer {
    position: absolute;
    inset: -50%;
    background: radial-gradient(circle, rgba(255,255,255,.13) 0%, transparent 70%);
    animation: vip-member-shimmer 3s linear infinite;
}

@keyframes vip-member-shimmer {
    to { transform: rotate(360deg); }
}

.membership-badge.is-compact {
    min-height: 18px;
    padding: 2px 7px;
    font-size: 10px;
}

.membership-tier-vip.membership-style-classic_gold {
    color: #713f12;
    border-color: rgba(217, 119, 6, .30);
    background: linear-gradient(135deg, #fef3c7, #fbbf24);
}

.membership-tier-vip.membership-style-sapphire {
    color: #eff6ff;
    border-color: rgba(147, 197, 253, .55);
    background: linear-gradient(135deg, #1d4ed8, #38bdf8);
}

.membership-tier-vip.membership-style-platinum {
    color: #334155;
    border-color: rgba(148, 163, 184, .50);
    background: linear-gradient(135deg, #f8fafc, #cbd5e1);
}

.membership-tier-svip {
    color: #fff;
    box-shadow: 0 4px 14px rgba(109, 40, 217, .24), inset 0 1px 0 rgba(255,255,255,.28);
}

.membership-tier-svip.membership-style-royal_purple {
    border-color: rgba(221, 214, 254, .45);
    background: linear-gradient(135deg, #4c1d95, #8b5cf6 55%, #d946ef);
}

.membership-tier-svip.membership-style-royal_blue {
    border-color: rgba(191, 219, 254, .45);
    background: linear-gradient(135deg, #172554, #2563eb 58%, #22d3ee);
}

.membership-tier-svip.membership-style-ruby {
    border-color: rgba(254, 202, 202, .45);
    background: linear-gradient(135deg, #7f1d1d, #e11d48 60%, #fb7185);
}

.membership-tier-sss {
    color: #fff7d6;
    border-color: rgba(253, 230, 138, .55);
    text-shadow: 0 1px 5px rgba(0, 0, 0, .45);
    box-shadow: 0 5px 18px rgba(15, 23, 42, .35), inset 0 1px 0 rgba(255,255,255,.26);
}

.membership-tier-sss.membership-style-obsidian_gold {
    background: linear-gradient(120deg, #020617, #1e293b 35%, #b45309 68%, #fde68a 100%);
}

.membership-tier-sss.membership-style-aurora {
    background: linear-gradient(120deg, #0f172a, #7c3aed, #0891b2, #f59e0b);
    background-size: 180% 180%;
    animation: membership-aurora 5s ease infinite;
}

.membership-tier-sss.membership-style-diamond {
    color: #082f49;
    border-color: rgba(255,255,255,.8);
    text-shadow: none;
    background: linear-gradient(135deg, #fff, #bae6fd 35%, #e9d5ff 68%, #fff);
}

@keyframes membership-aurora {
    0%, 100% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .membership-tier-sss.membership-style-aurora,
    .vip-member-shimmer { animation: none; }
}
