/*
    Pricing
*/
.pricing__pill {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    border-radius: 4.5625rem;
    border: .5px solid #E1E1E1;
    padding: .5rem;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15);
}

.pricing__pill.-desktop {
    display: none;
}

.pricing__toggle {
    display: block;
    padding: .38rem 1rem;
    font-size: .875rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-on-select-pill);
    background-color: var(--color-select-pill);
    border-radius: 3.4375rem;
    border: none;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .06);
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease;
}

.pricing__toggle:hover {
    background-color: var(--color-select-pill-hover);
}

.pricing__toggle.-active {
    color: var(--color-on-select-pill-active);
    background-color: var(--color-select-pill-active);
}

.pricing__toggle.-active:hover {
    background-color: var(--color-select-pill-active-hover);
}

.pricing__pill.-active .pricing__toggle {
    color: var(--color-inverse-primary);
}

.pricing__pill.-active .pricing__toggle.-active {
    color: var(--color-inverse-on-primary);
    background-color: var(--color-inverse-primary);
}

.pricing__package {
    display: none;
    border-radius: 1.25rem;
    padding: 1.5rem 1rem 2rem 1rem;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15);
    color: var(--color-on-surface);
    border: 1.5px solid var(--color-primary);
}

.pricing__package.-active {
    display: flex;
}

.pricing__package.-popular {
    padding-top: 1rem;
    border-width: 2.5px;
    background: linear-gradient(180deg, var(--color-service-bg-dark) -50%, #FFF 28.87%);
}

.pricing__info-bubble {
    align-self: flex-end;
    border-radius: 1.375rem;
    margin-bottom: 1rem;
    border: .5px solid var(--color-warning);
}

.pricing__package-content {
    grid-template-columns: 1fr;
    grid-template-areas:
        'info'
        'services'
        'button';
    row-gap: 1.5rem;
}

.pricing__package-info {
    grid-area: info;
    align-items: center;
    text-align: center;
}

.pricing__price-info {
    font-size: 0.9375rem;
}

.pricing__package-services {
    grid-area: services;
    border-top: 1px solid #E1E1E1;
    padding-top: 1.5rem;
}

.pricing__feature-group + .pricing__feature-group {
    margin-top: 1.25rem;
}

.pricing__feature-heading {
    font-size: .8125rem;
    text-transform: uppercase;
}

.pricing__feature-list {
    font-size: .9375rem;
    line-height: 1.45;
}

.pricing__feature-item {
    align-items: flex-start;
}

.pricing__feature-bullet {
    flex: 0 0 auto;
    width: .3125rem;
    height: .3125rem;
    border-radius: 50%;
    margin-top: .5rem;
    background-color: var(--color-warning);
}

.pricing__service-checkmark {
    flex-shrink: 0;
    height: 1.5rem;
    width: 1.5rem;
    border-radius: .75rem;
    color: var(--color-surface);
    background-color: var(--color-passive);
}

.pricing__package.-popular .pricing__service-checkmark {
    background-color: var(--color-on-surface);
}

.pricing__trial-button {
    grid-area: button;
}

.pricing__availability-message {
    max-width: 44rem;
    color: var(--color-on-surface);
    text-align: center;
}

.pricing__trial-button.-disabled {
    opacity: .75;
}

@media screen and (min-width: 1200px) {
    .pricing__pill.-mobile {
        display: none;
    }

    .pricing__pill.-desktop {
        display: flex;
        width: fit-content;
        justify-self: center;
    }

    .pricing__package {
        display: flex;
        min-height: 38rem;
        padding: 2rem 1.5rem 3rem 1.5rem;
    }

    .pricing__package:not(.-popular) {
        margin-top: 2.5rem;
    }

    .pricing__packages {
        align-items: flex-start;
    }

    .pricing__package.-popular {
        padding-top: 1.5rem;
    }

    .pricing__info-bubble {
        margin-bottom: .75rem;
    }

    .pricing__package-content {
        grid-template-areas:
            'info'
            'button'
            'services';
    }

    .pricing__package-info {
        align-items: flex-start;
        text-align: left;
    }

    .pricing__package-description {
        min-height: 5.75rem;
    }

    .pricing__trial-button {
        font-size: .9375rem;
    }
}
