.vu-premium-intro { padding: 2rem 1.5rem 1.75rem; }
.vu-premium-intro h2 { font-size: clamp(1.8rem, 4vw, 2.25rem); font-weight: 800; line-height: 1.15; letter-spacing: -.045em; }
.vu-premium-intro p { color: var(--vu-muted); line-height: 1.65; margin-top: .8rem; max-width: 33rem; font-size: .95rem; }
.vu-plan-comparison table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.vu-plan-comparison th:first-child { width: 54%; }
.vu-plan-comparison th, .vu-plan-comparison td { padding: 1rem .75rem; border-bottom: 1px solid var(--az-border); }
.vu-plan-comparison th:first-child { padding-left: 1.5rem; text-align: left; }
.vu-plan-comparison thead th { font-size: 1.1rem; font-weight: 750; text-align: center; border-top: 1px solid var(--az-border); }
.vu-plan-comparison tbody th { font-size: .85rem; font-weight: 450; }
.vu-plan-comparison td { text-align: center; }
.vu-plan-comparison .fi-icon { width: 1.25rem; height: 1.25rem; margin: auto; }
.vu-plan-comparison .vu-feature-included { color: #15803d; }
.vu-plan-comparison .vu-feature-excluded { color: #b91c1c; }
.dark .vu-plan-comparison .vu-feature-included { color: #4ade80; }
.dark .vu-plan-comparison .vu-feature-excluded { color: #f87171; }
.vu-premium-purchase { padding: 1.5rem; }
.vu-billing-plans { display: grid; gap: .65rem; min-width: 0; }
.vu-billing-plans legend { margin-bottom: .8rem; font-weight: 650; font-size: .9rem; }
.vu-billing-plan { display: flex; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid var(--az-border); cursor: pointer; transition: border-color 160ms ease; }
.vu-billing-plan.vu-selected { border-color: var(--vu-muted); }
.vu-billing-plan input { accent-color: var(--vu-text); flex-shrink: 0; }
.vu-billing-plan > span:not(.vu-plan-savings) { display: grid; gap: .2rem; }
.vu-billing-plan strong { font-size: .85rem; }
.vu-billing-plan small { font-size: .75rem; color: var(--vu-muted); }
.vu-plan-savings { margin-left: auto; font-size: .7rem; padding: .25rem .45rem; background: #facc15; color: #422006; text-align: right; }
.vu-premium-buy { display: block; width: 100%; padding: .8rem 1rem; margin-top: 1rem; background: var(--vu-text); color: var(--az-main); font-weight: 650; font-size: .9rem; cursor: pointer; }
.vu-premium-buy:disabled { background: var(--az-hover); color: var(--vu-muted); cursor: default; }
.vu-billing-caption { text-align: center; color: var(--vu-muted); font-size: .75rem; margin-top: .7rem; line-height: 1.6; }
.vu-premium-footnote { margin-top: 1.5rem; color: var(--vu-muted); font-size: .8rem; line-height: 1.6; }
.vu-subscription-status { padding: 1.25rem 1.5rem; border-top: 1px solid var(--az-border); display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.vu-subscription-status h3 { font-size: .95rem; font-weight: 650; }
.vu-subscription-status p { font-size: .8rem; color: var(--vu-muted); margin-top: .4rem; }
.vu-billing-notice, .vu-billing-error { margin: 0 1.5rem 1rem; padding: .8rem; border: 1px solid var(--az-border); font-size: .85rem; }
.vu-billing-error { color: #dc2626; }.dark .vu-billing-error { color: #f87171; }
.vu-premium-badge { display: inline-flex; vertical-align: middle; margin-left: .15em; color: #0075d5; }
.dark .vu-premium-badge { color: #38aaff; }
.vu-premium-badge .fi-icon { width: .9em; height: .9em; }
@media (max-width: 480px) {
    .vu-premium-intro, .vu-premium-purchase { padding: 1.25rem 1rem; }
    .vu-plan-comparison th, .vu-plan-comparison td { padding: .85rem .4rem; }
    .vu-plan-comparison th:first-child { padding-left: 1rem; width: 50%; }
    .vu-plan-comparison thead th { font-size: 1rem; }
    .vu-billing-plan { padding: .8rem; }
}
@media (prefers-reduced-motion: reduce) { .vu-billing-plan { transition: none; } }

.vu-subscriber-summary strong { font-weight: 700; }
.vu-premium-cancel-row { padding-top: 2rem; }
.vu-premium-cancel { display: inline-block; color: #dc2626; cursor: pointer; }
.dark .vu-premium-cancel { color: #ff7777; }
.vu-premium-cancel:hover { text-decoration: underline; }

.vu-moderator-badge { display: inline-flex; vertical-align: middle; margin-left: .15em; color: black; }
.vu-moderator-badge .fi-icon { width: .9em; height: .9em; }
.dark .vu-moderator-badge { color: white; }
.vu-verified-badge { display: inline-flex; vertical-align: middle; margin-left: .15em; color: black; filter: none; }
.vu-verified-badge .fi-icon { width: .9em; height: .9em; }
.dark .vu-verified-badge { color: white; }

.vu-creator-badge, .vu-community-owner-badge { display: inline-flex; align-items: center; vertical-align: middle; margin-left: .15em; flex-shrink: 0; }
.vu-creator-badge { color: #d4af37 !important; }
:is(.vu-creator-badge, .vu-community-owner-badge) .fi-icon { width: .9em; height: .9em; }
.vu-hire-badge { display: inline-flex; vertical-align: middle; margin-left: .2em; flex-shrink: 0; color: #15803d !important; }
.dark .vu-hire-badge { color: #4ade80 !important; }
.vu-hire-badge .fi-icon { width: .9em; height: .9em; }
