/* ===== PREMIUM PAGE ===== */
.premium-page { padding: var(--spacing-8) 0 var(--spacing-20); }

.premium-header {
    text-align: center;
    padding: var(--spacing-10) 0 var(--spacing-12);
}

.premium-header h1 { margin-bottom: var(--spacing-4); }
.premium-header p { color: var(--color-text-muted); font-size: 1.1rem; max-width: 540px; margin: 0 auto; }

/* Pricing grid */
.pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-5);
    max-width: 900px;
    margin: 0 auto var(--spacing-12);
}

@media (min-width: 768px) {
    .pricing-grid { grid-template-columns: repeat(3, 1fr); }
}

.pricing-card {
    background: var(--color-dark-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--spacing-8) var(--spacing-6);
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all var(--transition-base);
}

.pricing-card:hover {
    transform: translateY(-4px);
    border-color: rgba(249,115,22,0.3);
}

.pricing-card.popular {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, rgba(249,115,22,0.05), var(--color-dark-3));
    box-shadow: var(--shadow-glow-orange);
    transform: scale(1.02);
}

.pricing-card.popular:hover { transform: scale(1.02) translateY(-4px); }

.pricing-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    color: white;
    padding: 4px 16px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.pricing-discount-badge {
    display: inline-block;
    background: linear-gradient(135deg, rgba(168,85,247,0.2), rgba(168,85,247,0.1));
    border: 1px solid rgba(168,85,247,0.4);
    color: #c084fc;
    padding: 3px 10px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: var(--spacing-2);
}

.pricing-name {
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: var(--spacing-2);
}

.pricing-desc {
    color: var(--color-text-muted);
    font-size: 0.85rem;
    line-height: 1.6;
    margin-bottom: var(--spacing-5);
    flex: 1;
}

.pricing-price-wrap {
    margin-bottom: var(--spacing-5);
}

.pricing-price {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--color-text);
    line-height: 1;
}

.pricing-orig {
    font-size: 1rem;
    color: var(--color-text-subtle);
    text-decoration: line-through;
    margin-left: 6px;
}

.pricing-period {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    margin-top: 4px;
}

.pricing-features {
    list-style: none;
    margin-bottom: var(--spacing-6);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2);
}

.pricing-features li {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    font-size: 0.875rem;
    color: var(--color-text-muted);
}

.pricing-features li::before {
    content: '✓';
    color: var(--color-accent);
    font-weight: 900;
    font-size: 0.8rem;
    flex-shrink: 0;
}

/* Waitlist modal */
.waitlist-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-4);
    animation: fadeIn 0.2s ease;
}

.waitlist-modal {
    background: var(--color-dark-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--spacing-8);
    max-width: 440px;
    width: 100%;
    animation: scaleIn 0.3s var(--transition-spring);
}

.waitlist-modal h3 {
    font-size: 1.5rem;
    margin-bottom: var(--spacing-2);
}

.waitlist-modal p {
    color: var(--color-text-muted);
    font-size: 0.9rem;
    margin-bottom: var(--spacing-5);
}

.waitlist-input-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
}

.waitlist-input {
    background: var(--color-dark-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    color: var(--color-text);
    font-size: 0.95rem;
    font-family: var(--font-body);
    outline: none;
    transition: border-color var(--transition-fast);
    width: 100%;
}

.waitlist-input:focus { border-color: var(--color-primary); }

.waitlist-success {
    text-align: center;
    padding: var(--spacing-4);
}
.waitlist-success .success-icon { font-size: 3rem; margin-bottom: var(--spacing-3); }
.waitlist-success h3 { margin-bottom: var(--spacing-2); }
.waitlist-success p { color: var(--color-text-muted); font-size: 0.9rem; }

/* Trust badges */
.trust-badges {
    display: flex;
    justify-content: center;
    gap: var(--spacing-6);
    flex-wrap: wrap;
    padding: var(--spacing-8) 0;
    border-top: 1px solid var(--color-border);
}

.trust-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    color: var(--color-text-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.trust-icon { font-size: 1.3rem; }

/* ===== MOBILE PREMIUM PAGE ===== */
.mobile-premium-page {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-6) var(--spacing-4) var(--spacing-20);
    background: var(--color-dark-1);
}

.mobile-premium-inner {
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5);
}

.mobile-premium-hero {
    text-align: center;
    padding: var(--spacing-6) 0 var(--spacing-2);
}

.mobile-premium-crown {
    font-size: 4rem;
    display: block;
    margin-bottom: var(--spacing-4);
    filter: drop-shadow(0 0 20px rgba(168,85,247,0.5));
    animation: heroGlow 3s ease-in-out infinite;
}

.mobile-premium-title {
    font-size: 2rem;
    font-weight: 900;
    background: linear-gradient(135deg, #a855f7, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: var(--spacing-3);
}

.mobile-premium-sub {
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.mobile-premium-features {
    background: var(--color-dark-3);
    border: 1px solid rgba(168,85,247,0.2);
    border-radius: var(--radius-xl);
    padding: var(--spacing-5);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
}

.mobile-premium-features-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-subtle);
    margin-bottom: var(--spacing-1);
}

.mobile-feature-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text);
}

.mobile-feature-icon {
    font-size: 1.25rem;
    width: 32px;
    text-align: center;
    flex-shrink: 0;
}

.mobile-premium-web-card {
    background: linear-gradient(135deg, rgba(168,85,247,0.12), rgba(236,72,153,0.06));
    border: 1px solid rgba(168,85,247,0.3);
    border-radius: var(--radius-xl);
    padding: var(--spacing-6);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-3);
}

.mobile-premium-web-icon {
    font-size: 2.5rem;
}

.mobile-premium-web-label {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    line-height: 1.5;
    margin: 0;
}

.mobile-premium-url {
    font-size: 1.1rem;
    font-weight: 800;
    color: #a855f7;
    letter-spacing: 0.01em;
    background: rgba(168,85,247,0.1);
    border: 1px solid rgba(168,85,247,0.25);
    border-radius: var(--radius-full);
    padding: 8px 20px;
}

.mobile-premium-copy-btn {
    width: 100%;
    background: linear-gradient(135deg, #a855f7, #ec4899);
    border: none;
    font-size: 1rem;
    font-weight: 700;
    padding: 14px;
    border-radius: var(--radius-lg);
}

.mobile-premium-already {
    text-align: center;
    padding: var(--spacing-10) var(--spacing-4);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-4);
}

.mobile-premium-already h2 {
    font-size: 1.5rem;
    font-weight: 900;
}

.mobile-premium-already p {
    color: var(--color-text-muted);
}
