.pricing-page { max-width: 1100px; margin: 0 auto; padding: 24px 20px 60px; }
.pricing-hero { text-align: center; margin-bottom: 36px; }
.pricing-hero h1 { font-size: 2rem; margin-bottom: 8px; }
.pricing-hero p { color: var(--text-secondary); max-width: 560px; margin: 0 auto; line-height: 1.7; }

.premium-feats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin: 32px 0;
}
.premium-feat {
    background: var(--lava-glass);
    backdrop-filter: blur(16px);
    border: 1px solid var(--lava-glass-border);
    border-radius: 14px;
    padding: 16px;
    text-align: center;
    font-size: 0.9rem;
}
.premium-feat i { font-size: 1.5rem; color: #6366f1; margin-bottom: 8px; display: block; }

.payment-overlay {
    position: fixed; inset: 0; z-index: 3000;
    background: rgba(0,0,0,.6); backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    padding: 16px; opacity: 0; pointer-events: none; transition: opacity .3s;
}
.payment-overlay.show { opacity: 1; pointer-events: auto; }

.payment-modal {
    background: var(--bg-card, #fff);
    border-radius: 20px; width: 100%; max-width: 520px;
    max-height: 90vh; overflow-y: auto;
    box-shadow: 0 25px 60px rgba(0,0,0,.3);
    transform: scale(.95); transition: transform .3s;
}
.payment-overlay.show .payment-modal { transform: scale(1); }

.payment-modal-header {
    padding: 20px 24px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff; border-radius: 20px 20px 0 0;
    display: flex; justify-content: space-between; align-items: center;
}
.payment-modal-body { padding: 24px; }

.payment-summary {
    background: rgba(99,102,241,.08);
    border-radius: 12px; padding: 16px; margin-bottom: 20px;
}
.payment-summary .row { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 0.95rem; }
.payment-summary .total { font-size: 1.3rem; font-weight: 800; color: #6366f1; margin-top: 8px; }

.method-cards { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.method-card {
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 12px; padding: 14px; cursor: pointer; transition: all .2s;
}
.method-card.selected { border-color: #6366f1; background: rgba(99,102,241,.06); }
.method-card strong { display: block; margin-bottom: 4px; }
.method-card small { color: var(--text-muted, #64748b); }

.pay-field { margin-bottom: 14px; }
.pay-field label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; }
.pay-field input, .pay-field textarea {
    width: 100%; padding: 10px 14px; border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px; font-family: inherit; background: var(--bg-input, #fff);
}
.pay-field input[type=file] { padding: 8px; }

.pay-submit {
    width: 100%; padding: 14px; border: none; border-radius: 12px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff; font-weight: 700; font-size: 1rem; cursor: pointer; font-family: inherit;
}
.pay-submit:disabled { opacity: .5; cursor: not-allowed; }

.payment-success {
    text-align: center; padding: 30px 20px;
}
.payment-success i { font-size: 3rem; color: #22c55e; margin-bottom: 12px; }
