﻿/* ===========================================================
   Pricing Hero
=========================================================== */

.pricing-hero {
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    border-bottom: 1px solid #e9ecef;
}

    .pricing-hero .lead {
        max-width: 760px;
        margin: 0 auto;
        color: #6c757d;
    }
.hero-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

    .hero-buttons .btn {
        min-width: 180px;
    }

#pricingYearBadge {
    margin-bottom: 1.5rem;
}
/* ===========================================================
   Category Section
=========================================================== */

.pricing-category {
    margin-bottom: 4rem;
}

    .pricing-category:last-child {
        margin-bottom: 0;
    }

.pricing-category-title {
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}


/* ===========================================================
   Pricing Cards
=========================================================== */

.pricing-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 1rem;
    padding: 2rem;
    transition: .25s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

    .pricing-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 32px rgba(0,0,0,.10);
    }

.pricing-title {
    font-weight: 700;
    margin-bottom: 1rem;
}

.pricing-price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--bs-primary);
    margin-bottom: 1rem;
}

.pricing-description {
    color: #6c757d;
    margin-bottom: 0;
}
.pricing-price-label {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: .80rem;
    color: #6c757d;
    margin-bottom: .35rem;
}

/* ===========================================================
   Additional Services Table
=========================================================== */

.pricing-table {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #e9ecef;
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

    .pricing-table table {
        margin-bottom: 0;
    }

    .pricing-table th {
        background: var(--bs-primary);
        color: white;
    }

    .pricing-table td,
    .pricing-table th {
        padding: 1rem;
    }

    .pricing-table tbody tr:hover {
        background: #f8f9fa;
    }


/* ===========================================================
   Pricing Promise
=========================================================== */

.pricing-promise {
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
}

    .pricing-promise h2 {
        font-weight: 700;
        margin-bottom: 1rem;
    }

    .pricing-promise p {
        max-width: 760px;
        margin: auto;
    }


/* ===========================================================
   CTA
=========================================================== */

.pricing-cta h2 {
    font-weight: 700;
}

.pricing-cta .btn {
    min-width: 220px;
}


/* ===========================================================
   Empty / Error
=========================================================== */

.pricing-empty-state {
    text-align: center;
    padding: 5rem 2rem;
    border: 2px dashed #dee2e6;
    border-radius: 1rem;
}

    .pricing-empty-state i {
        font-size: 3rem;
        color: #adb5bd;
        margin-bottom: 1rem;
    }

    .pricing-empty-state h3 {
        margin-bottom: 1rem;
    }

/* ===========================================================
   Animation
=========================================================== */

.pricing-category {
    animation: pricingFade .35s ease;
}

@keyframes pricingFade {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ===========================================================
   Responsive
=========================================================== */

@media (max-width: 768px) {

    .pricing-category-title {
        font-size: 1.6rem;
    }

    .pricing-price {
        font-size: 1.7rem;
    }
}
