.price-box {
    box-shadow: 0 3px 6px #00000029;
    font-size: 1.4rem;
    padding: 20px;
}

@media screen and (min-width: 960px) {
    .price-box {
        font-size: 1.6rem;
        padding: 40px;
    }
}

.price-box>.row {
    align-items: center;
    background: linear-gradient(to right, #05010A 1px, transparent 1px) left bottom/4px 1px repeat-x;
    display: flex;
    flex-wrap: wrap;
    padding: 1em 0;
}

.price-box>.row>.name,
.price-box>.row>.price {
    flex: 1 1 100%;
}

.price-box>.row>.name {
    font-weight: 400;
    margin-bottom: 1em;
}

@media screen and (min-width: 960px) {
    .price-box>.row>.name {
        flex: 1 1 calc(100% - 80px);
        margin-bottom: 0;
    }
}

.price-box>.row>.price {
    font-weight: 700;
    text-align: right;
}

@media screen and (min-width: 960px) {
    .price-box>.row>.price {
        flex: 0 1 80px;
    }
}

.price-text {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    position: relative;
}

.price-text.-confirm {
    color: #3FAE29;
    font-size: 2rem;
    text-decoration: underline;
}

@media screen and (min-width: 960px) {
    .price-text.-confirm {
        font-size: 3rem;
    }
}

.price-text.-delivery {
    border-bottom: 1px solid #7C848D;
    font-size: 2.4rem;
    justify-content: flex-end;
}

@media screen and (min-width: 960px) {
    .price-text.-delivery {
        font-size: 2.6rem;
    }
}

.price-text>.icon-component {
    height: 40px;
    left: 8px;
    position: relative;
    top: 4px;
    width: 40px;
}

.price-text>.small {
    font-size: 1.6rem;
    font-weight: 500;
}

@media screen and (min-width: 960px) {
    .price-text>.small {
        font-size: 2rem;
    }
}