.sidebar-component {
    display: none;
    max-height: calc(var(--vh, 1vh) * 100);
    min-height: calc(var(--vh, 1vh) * 100);
    overflow-y: scroll;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.35s;
    width: 100vw;
    z-index: 5;
}

@media screen and (min-width: 960px) {
    .sidebar-component {
        flex: 0 1 30%;
        max-height: 100%;
        max-width: 380px;
        min-height: 0;
        overflow-y: auto;
    }
}

@media screen and (min-width: 1500px) {
    .sidebar-component:not(.-calc) {
        display: block;
        flex: 0 1 30%;
        max-height: 100%;
        max-width: 380px;
        min-height: 0;
        overflow-y: auto;
        position: static;
        z-index: auto;
    }
}

.sidebar-component>.container {
    background: #54606C;
    color: #FFFFFF;
    height: calc(calc(var(--vh, 1vh) * 100) - 153px);
    min-height: calc(var(--vh, 1vh) * 100);
    overflow-y: auto;
    padding: 40px 35px 80px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 960px) {
    .sidebar-component>.container {
        padding: 80px 35px 50px;
        height: calc(calc(var(--vh, 1vh) * 100) - 244px);
    }
}

@media screen and (min-width: 960px) {
    .sidebar-component>.container.item-select {
        padding: 80px 35px 120px;
    }
}

@media screen and (min-width: 1500px) {
    .sidebar-component:not(.-calc)>.container {
        min-height: 0;
    }
}

.sidebar-component>.container>.form {
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

.sidebar-component>.container>.form>.row {
    border-bottom: 1px solid #CBCED2;
    display: flex;
    padding: 28px 0;
}

.sidebar-component>.container>.form>.row>.texts {
    flex: 1 1 60%;
    padding-left: 1em;
}

.sidebar-component>.container>.form>.row>.texts>.count,
.sidebar-component>.container>.form>.row>.texts>.point,
.sidebar-component>.container>.form>.row>.texts>.price {
    text-align: right;
}

.sidebar-component>.container>.form>.row>.texts>.counter {
    align-items: center;
    display: flex;
    font-size: 1.8rem;
    justify-content: flex-end;
}

.sidebar-component>.container>.form>.row>.texts>.counter>.count {
    padding: 0 1em;
}

.sidebar-component>.container>.form>.row>.texts>.name {
    font-size: 1.4rem;
    font-weight: 700;
}

.sidebar-component>.container>.form>.row>.texts>.point {
    margin-bottom: 1.5em;
}

.sidebar-component>.container>.form>.row>.texts>.price {
    font-weight: 700;
}

.sidebar-component>.container>.form>.row>.thumbs {
    flex: 0 1 auto;
}

.sidebar-component>.container>.form>.row>.thumbs>.thumb {
    border-radius: 10px;
    height: 76px;
    margin-bottom: 1em;
    overflow: hidden;
    width: 76px;
}

.sidebar-component>.container>.form>.row>.thumbs>.thumb>img {
    width: 100%;
}

.sidebar-component>.container>.title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    padding-top: 2.5em;
}

.sidebar-component>.container>.title>.small {
    font-size: 1.4rem;
}

.sidebar-component>.container>.total {
    align-items: center;
    background: #FFFFFF;
    border-radius: 10px;
    color: #05010A;
    display: flex;
    padding: 14px 20px;
}

.sidebar-component>.container>.total>.text {
    flex: 1 1 auto;
    font-size: 1.6rem;
    font-weight: 700;
}

.sidebar-component>.container>.total>.texts>.price {
    font-size: 2.4rem;
    font-weight: 900;
    text-align: right;
}

.sidebar-component>.container>.total>.texts>.price>.point {
    display: block;
    font-size: 1.8rem;
    font-weight: 500;
    padding-top: 0.5em;
}

.sidebar-open {
    background: #0FC191;
    border-radius: 10px 0 0 10px;
    box-shadow: 0 3px 6px #00000029;
    height: 60px;
    position: fixed;
    right: 0;
    top: 15px;
    width: 60px;
    z-index: 10;
}

@media screen and (min-width: 1500px) {
    .sidebar-open:not(.-calc) {
        display: none;
    }
}