.cbp-cart-price-container {
    & select {
        border: solid 1px black !important;
        border-radius: 8px!important;

        font-size: .875rem!important;

        min-width: 100%;

        padding-bottom: .375rem!important;
        padding-top: .375rem!important;
        padding-right: 1.75rem !important;

        width: auto;
    }
}

.cbp-cart-price-display {
    display: flex;

    gap: .875rem;

    justify-content: space-between;

    margin-top: .5rem;

    & div {
        line-height: 1.25;

        white-space: nowrap;
    }

    &>div {
        font-size: .875rem;
    }

    & .cbp-price-title {
        color: #e02f7e;
    }
}

.cbp-prices-table-container {
    border: 0 solid #e02f7e;
    border-radius: 12px;
    box-shadow: 0 0 4px #c1c4db;

    margin-bottom: 1rem;

    overflow: clip;

    width: 100%;

    & .header {
        background: #e02f7e;
        /*border-radius: 0 0 16px 16px;*/

        display: grid;

        grid-template-columns: repeat(4, minmax(0, 1fr));

        margin-bottom: 0;

        padding: .25rem 1rem;

        & div {
            color: white;

            font-size: .75rem;
            font-weight: 800;

            padding: .25rem .25rem;

            text-align: left;
            text-transform: uppercase;

            &:not(:first-child) {
                padding-left: .5rem;
            }

            &:not(:last-of-type) {
                border-right: solid 1px white;

                padding-right: .5rem;
            }
        }
    }

    & .content {
        display: grid;

        grid-template-columns: repeat(4, minmax(0, 1fr));

        padding: .25rem 1rem;

        & > div {
            color: black;

            font-size: .875rem;

            padding: .25rem .25rem;

            &:not(:first-child) {
                padding-left: .5rem;
            }

            &:not(:last-of-type) {
                border-right: solid 1px #e02f7e;

                padding-right: .5rem;
            }
        }
    }

    & tbody tr {

        & td {
            font-size: .875rem;

            padding: .5rem .5rem!important;

            & .cbp-discount {
                background: #e02f7e;
                border-radius: .125rem;

                color: white;

                padding: .125rem .25rem;

                width: fit-content;
            }

            &>label {
                display: inline-block;

                height: 100%;

                width: 100%;
            }
        }

        &:nth-child(odd) {
            background-color: #fff;
        }

        &:nth-child(even) {
            background-color: #f5f5f5;
        }
    }
}

.cbp-discount-text {
    break-inside: avoid;

    display: inline-block;

    font-size: .75rem!important;
}

@media screen and (max-width: 640px) {
    .cbp-cart-price-container {
        & select {
            width: fit-content!important;
        }
    }

    .cbp-prices-table-container {
        border-radius: 8px;

        & .header {
            padding: .25rem;

            & div {
                font-size: .625rem;

                padding: .25rem .25rem!important;

                &:not(:last-of-type) {
                    border-right: solid 1px white;
                }
            }
        }

        & .content {
            display: grid;

            grid-template-columns: repeat(4, minmax(0, 1fr));

            padding: .25rem;

            & > div {
                color: black;

                font-size: .75rem;

                padding: .25rem .25rem!important;

                &:not(:last-of-type) {
                    border-right: solid 1px #e02f7e;
                }
            }
        }

        & tbody tr {

            & td {
                font-size: .75rem;

                padding: .25rem .25rem!important;
            }
        }
    }
}
