/* Корзина */

.basket-items {
    margin-top: 30px;
}

.basket-items {
    display: table;
    width: calc(100% + 20px);
    margin: 0 -10px;
}

.basket-items table {
    width: 100%;
}

.basket-items tr {
    height: 40px;
}

.basket-items tr a {
    margin: 0 auto;
}

.basket-items tr.basket-product-item {
    border-bottom: 1px dotted #18843b;
    height: 140px;
}

.basket-items tr.basket-product-item:first-child {
    border-top: 1px dotted #18843b;
}

.basket-items tr.basket-product-item:hover {
    background: #f8f8f8;
}

.basket-items tr.basket-product-item.unavailable {
    background-color: #ffe2e2;
}

.basket-items tr.basket-product-item.unavailable:hover {
    background-color: #ffd8d8;
}

.basket-items tr.basket-total {
    height: 48px;
}

.basket-items .basket-total-price {
    font-size: 20px;
    font-weight: bold;
}

.basket-items th,
.basket-items td {
    height: 24px;
    line-height: 24px;
    padding: 10px 5px;
    position: relative;
    text-align: center;
    vertical-align: middle;
}

.basket-items th:first-child,
.basket-items td:first-child {
    padding-left: 10px;
}

.basket-items th.item-number {
    width: 20px;
}

.basket-items th.item-title,
.basket-items td.item-title {
    width: 60%;
    text-align: left;
    word-break: break-word;
}

.basket-items th.item-count,
.basket-items td.item-count {
    width: 10%;
    min-width: 110px;
}

.basket-items th.item-total,
.basket-items td.item-total {
    width: 25%;
    min-width: 85px;
    font-weight: bold;
}

.basket-items th.item-delete,
.basket-items td.item-delete {
    width: 5%;
}

.basket-items td.basket-product-title,
.basket-items td.product-info {
    padding: 5px;
    text-align: left;
}

.basket-items tr.basket-total td {
    vertical-align: bottom;
}

.basket-items tr.basket-total td,
.basket-items tr.basket-discount td {
    padding: 5px;
}

.basket-items .product-image {
    float: left;
    height: 80px;
    width: 60px;
    position: relative;
}

.basket-items .product-image .product-favorite {
    position: absolute;
    left: 62px;
    top: -12px;
}

.basket-items .product-image .product-favorite .icon-heart {
    font-size: 18px;
    padding: 0;
    background: initial;
}

.basket-items .product-image img {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    max-width: 60px;
    max-height: 72px;
}

.basket-items .product-title {
    padding: 5px 5px 5px 90px;
    min-height: 80px;
}

.basket-items .product-id {
    font-size: 12px;
    color: #808080;
}

.basket-items .product-shop-count-error-text {
    font-size: 13px;
    line-height: 1.5em;
}

.basket-items td.item-total .price {
    white-space: nowrap;
    font-size: 18px;
}

.basket-items td.item-total .full-price {
    color: #808080;
    font-size: 14px;
    text-decoration: line-through;
    white-space: nowrap;
}

.basket-items td.item-total .total-discount {
    background: #ff7800;
    color: #ffffff;
    padding: 0 3px 0 5px;
    font-size: 12px;
    white-space: nowrap;
}

.basket-items input.input-count {
    border: 0;
    outline: 0;
    font-size: 16px;
    width: 28px;
    height: 24px;
    line-height: 24px;
    margin: 5px;
    vertical-align: middle;
    text-align: center;
}

.basket-items input.input-count::-webkit-outer-spin-button,
.basket-items input.input-count::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.basket-items input.input-count[type=number] {
    -moz-appearance: textfield;
}

.basket-items td a.action {
    display: inline-block;
    text-decoration: none;
    background: #f8f8f8;
    font-size: 24px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    vertical-align: middle;
    border-radius: 50%;
}

.basket-items td a.action.delete {
    color: #ff6f6d;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}

.basket-items td .button {
    margin-right: 0;
}

.basket-items td .count-alert,
.basket-items td .discount-alert {
    color: red;
    font-size: 12px;
    line-height: 12px;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 30px;
}

/* Форма ввода промокода */
.promocode-form {
    margin-top: -48px;
}

.promocode-form form {
    padding: 0;
    width: 290px;
}

.promocode-form form .fieldWrapper {
    display: flex;
}

.promocode-form form .promocode-label {
    float: left;
    line-height: 40px;
    font-size: 16px;
    margin-right: 10px;
}

.promocode-form form input[type=text] {

    flex: 1;
    width: 160px;
}

.promocode-form form input::placeholder {
    color: #999999;
}

.promocode-form form input:invalid {
    box-shadow: none;
}

.promocode-form form input[type=submit] {
    background: #e8f3e2;
    color: #666666;
    height: 40px;
    margin: 0;
    min-width: 100px;
    width: 100px;
    font-size: 14px;
    font-family: "Montserrat", sans-serif;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
}

.promocode-form form input[type=submit]:hover {
    background: #e2f3d8;
}

.promocode-form .promocode-message {
    margin-top: 15px;
}

.promocode-form .promocode-active {
    position: relative;
    height: 40px;
    line-height: 40px;
}

.promocode-form .promocode-active a {
    text-decoration: none;
}

.promocode-form .promocode-active button {
    border: none;
    text-decoration: none;
    background: #f8f8f8;
    border-radius: 50%;
    cursor: pointer;
}

.basket-items .delivery-type-header {
    font-size: 24px;
    margin-top: 40px;
}

.basket-items label.delivery-type-item {
    display: block;
    min-height: 48px;
    height: fit-content;
    border-bottom: 1px dotted #18843b;
    text-align: left;
    padding: 10px 0;
}

.basket-items label.delivery-type-item:hover {
    cursor: pointer;
    background: #f8f8f8;
}

.basket-items label.delivery-type-item.disabled:hover {
    cursor: initial;
    background: #ffffff;
}

.basket-items label.delivery-type-item.checked {
    background-color: rgba(231, 242, 225, 0.8);
}

.basket-items label.delivery-type-item:first-child {
    border-top: 1px dotted #18843b;
}

.basket-items .delivery-type-select input[type='radio'] {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    margin: 0 10px;
    width: 28px;
}

.basket-items .delivery-type-select input[type='radio']:checked + div {
    color: #18843b;
    font-weight: bold;
}

.basket-items .delivery-type-select input[type='radio']:after {
    width: 14px;
    height: 14px;
    border-radius: 14px;
    position: relative;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 2px solid #18843b;
}

.basket-items .delivery-type-select input[type='radio']:checked:after {
    width: 14px;
    height: 14px;
    border-radius: 14px;
    position: relative;
    background-color: #41ac00;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 2px solid #18843b;
}

.basket-items .delivery-type-select input[type='radio']:disabled + div {
    color: #cccccc;
}

.basket-items .delivery-type-select input[type='radio']:disabled:after {
    border-color: #cccccc;
}

.basket-items .delivery-type-select .delivery-type-info {
    display: inline-block;
    width: 80%;
    vertical-align: middle;
    line-height: 1.5em;
}

.basket-items .delivery-type-select .delivery-type-count {
    font-size: 13px;
    line-height: 1.5;
    color: initial;
    font-weight: normal;
}

.basket-items .delivery-type-select .disabled .delivery-type-count {
    color: #cccccc !important;
}

.basket-count-error-text {
    margin: -10px auto 20px;
}

.basket-items .checkout-link {
    margin-right: 80px;
    text-align: right;
    margin-top: 40px;
}

.basket-items .checkout-link .button {
    display: inline-block;
    width: 240px;
}

.basket-items .checkout-link div.button {
    background: #cccccc;
}

@media (max-width: 767px) {

    .basket-items .product-image .product-favorite {
        position: absolute;
        left: 65px;
        top: -5px;
    }

    .promocode-form {
        margin-top: 20px;
    }

    .promocode-form form {
        margin: 0 auto;
        width: calc(100% - 40px);
        min-width: 280px;
        max-width: 440px;
    }

    .promocode-form form .promocode-label {
        float: unset;
    }

    .promocode-form form .fieldWrapper {
        margin-right: 0;
    }

    .promocode-form .promocode-active,
    .promocode-form .promocode-info {
        text-align: center;
    }

    /*.basket-items .delivery-type-header {*/
        /*text-align: center;*/
    /*}*/

    /*.delivery-type-selection {*/
        /*display: block;*/
        /*font-size: 16px;*/
        /*max-width: 436px;*/
        /*min-width: 276px;*/
        /*margin: 10px auto;*/
        /*width: calc(100% - 40px);*/
    /*}*/

    /*.delivery-type-select {*/
        /*text-align: center;*/
        /*margin: 30px auto 0;*/
    /*}*/
    /*.delivery-type-popbox {*/
        /*width: 100%;*/
    /*}*/

    .basket-items .checkout-link {
        margin: 40px auto 0;
        text-align: center;
        width: 100%;
    }

    .basket-items .checkout-link .button {
        width: calc(100% - 64px);
        max-width: 416px;
        min-width: 256px;
    }
}

@media (max-width: 600px) {

    .basket-items .product-image {
        float: none;
    }

    .basket-items .product-title,
    .basket-items .product-id {
        padding: 0;
        line-height: 1.5em;
    }

    .basket-items .product-shop-count-error-text {
        font-size: 12px;
    }

    .basket-items td a.action {
        margin: 0 2px;
    }
}

@media (max-width: 480px) {

    .basket-items th.item-count,
    .basket-items td.item-count {
        min-width: 60px;
    }

    .basket-items tr.basket-product-item {
        height: 140px;
    }

    .basket-items td {
        position: relative;
        height: 72px;
    }

    .basket-items tr.basket-total td,
    .basket-items tr.basket-discount td {
        height: 30px;
    }

    .basket-items td a.action,
    .basket-items td span.item-count {
        display: block;
        margin: 0 auto;
    }

    .basket-items td .count-control {
        position: relative;
    }

    .basket-items td a.action.add,
    .basket-items td a.action.reduce {
        position: absolute;
        left: 0;
        right: 0;
    }

    .basket-items td a.action.add {
        top: -25px;
    }

    .basket-items td a.action.reduce {
        bottom: -25px;
    }

    .basket-items td .count-alert {
        line-height: 16px;
        max-height: 32px;
        top: 70px;
    }

}

@media (max-width: 380px) {

    .basket-items table,
    .basket-items .delivery-type-select {
        margin: 0 -10px;
        font-size: 14px;
        width: calc(100% + 20px);
    }

    .basket-items .delivery-type-select h3 {
        margin-left: 10px;
    }
}

