.pricing-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 1rem 2.5rem;
}

body:has(.pricing-page) .guest-layout {
    align-items: flex-start;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.pricing-page-header {
    padding-top: 0.5rem;
}

.pricing-back-link {
    color: var(--text-secondary, #64748b);
}

.pricing-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
}

.pricing-table-card {
    overflow: hidden;
}

.pricing-table {
    font-size: 0.8125rem;
}

.pricing-table th,
.pricing-table td {
    vertical-align: middle;
    padding: 0.65rem 0.75rem;
}

.pricing-table-head th {
    background: #f8fafc;
    border-bottom-width: 2px;
}

.pricing-col-label {
    min-width: 220px;
    width: 28%;
}

.pricing-col-package {
    min-width: 140px;
}

.pricing-package-name {
    font-weight: 700;
    font-size: 0.95rem;
    color: #1e40af;
}

.pricing-section-row td {
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

.pricing-price strong {
    font-size: 1.1rem;
    color: #0f172a;
}

.pricing-badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.pricing-badge--yes {
    background: #dcfce7;
    color: #166534;
}

.pricing-badge--no {
    background: #fee2e2;
    color: #991b1b;
}

.pricing-badge--text {
    background: #e0f2fe;
    color: #075985;
    border-radius: 0.375rem;
    white-space: normal;
}

@media (max-width: 767.98px) {
    .pricing-table {
        font-size: 0.75rem;
    }

    .pricing-col-label {
        min-width: 160px;
    }
}
