/* Компонент итогов/бонусов из checkout-верстки — НИЖЕ родных правил cart.css по приоритету */
/* ================================================================
   Компонент сайдбара итогов + бонусов (из verstka checkout.css),
   т.к. на корзине checkout.css не подключается. Приоритет voda-checkout.
   ================================================================ */
.checkout__sidebar-item {
    border-radius: 14px;
    background: #FFF;
    box-shadow: 0 11px 18px 0 rgba(8, 37, 67, 0.06);
    overflow: hidden;
}
.checkout-order {
    padding: 22px 20px 22px 20px;
}
.checkout-order__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.checkout-order__toggle {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s;
}
.checkout-order__toggle--active {
    transform: rotate(180deg);
}
.checkout-products__items.sidebar {
    padding-top: 12px;
}
.checkout-products__items.sidebar .checkout-product__content {
    max-width: 219px;
}
.checkout-products__items.sidebar .checkout-product__price {
    max-width: 113px;
    width: 100%;
}
.checkout-products__items.sidebar .checkout-product__flex {
    gap: 5px;
}
.checkout-totals {
    padding: 0;
    display: flex;
    flex-direction: column;
}
.checkout-totals__items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}
.checkout-totals__items:first-child {
    margin-top: 0;
}
.checkout-totals_child {
    display: none;
    flex-direction: column;
    gap: 10px;
    padding-left: 10px;
}
.checkout-totals-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkout-totals-item__name {
    font-size: 13px;
    font-weight: 500;
    line-height: 138%;
    color: #92969A;
}
.checkout-totals-item._parent .checkout-totals-item__name {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: .3s;
}
.checkout-totals-item._parent .checkout-totals-item__name:hover {
    color: #20247A;
}
.checkout-totals-item._parent .checkout-totals-item__name svg {
    opacity: 0.7;
    transition: .3s;
}
.checkout-totals-item__name.active svg {
    transform: rotate(180deg);
}
.checkout-totals-item._parent .checkout-totals-item__name:hover svg {
    opacity: 1;
}
.checkout-totals-item__sep {
    flex-grow: 1;
    height: 1px;
    background-image: radial-gradient(circle, #92969A 0.5px, transparent 0.5px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
    opacity: 0.3;   
}
.checkout-totals-item--row {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(52, 62, 74, 0.5);
    font-size: 13px;
    font-weight: 700;
}
.checkout-totals-item__value {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 138%;
    color: #343E4A;
}
.checkout-totals-item__value.delivery-type {
    font-weight: 400;
}
.checkout-totals-item__value > span {
    color: #F00;
}
.checkout-totals-item__value--bonus {
    display: flex;
    align-items: center;
    gap: 4px;
}
.checkout-totals-item__value--bonus::before {
    content: url('../img/icons/icon-bonus.svg');
    width: 20px;
    height: 20px;
}
.checkout-totals-item__value--bonus._red::before {
    content: url('../img/icons/icon-bonus-red.svg');
}
.checkout-totals__sum {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 9px;
    border-top: 1px solid #E7EDF3;
}
.checkout-totals__sum-name {
    font-size: 17px;
    font-weight: 600;
    line-height: 141%; /* 21px */
    color: #191C21;
}
.checkout-totals__sum-value {
    font-size: 22px;
    font-weight: 700;
    line-height: 145%; /* 31.9px */
    color: #20247A;
}
.checkout-totals__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 22px;
    width: 100%;
    border-radius: 12px;
    background-color: #20247A;
    color: #FFFFFF;
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
}
.checkout-totals__btn[disabled] {
    opacity: 0.2;
    pointer-events: none;
}
/* цвет кнопки по выбранному способу оплаты */
.checkout-totals__btn--sbp {
    background-color: #ED9026;
}
.checkout-totals__btn--sbp:hover {
    background-color: #d68120;
}
.checkout-totals__btn--card {
    background-color: #0070F0;
}
.checkout-totals__btn--card:hover {
    background-color: #0089C0;
}
.checkout-totals__btn--cash {
    background-color: #20247A;
}
.checkout-totals__btn--cash:hover {
    background-color: #0B54A0;
}

.checkout-totals_top,
.cart-promocode {
    padding: 16px;
}
.cart-promocode {
    border-top: 1px solid #E7EDF3;
}
.checkout-totals_top {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cart-promocode__form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px;
    background-color: #F2F5F8;
    border-radius: 15px;
}
.cart-promocode__input {
    background-color: transparent;
    width: 100%;
    font-size: 13px;
    padding: 12px;
    color: #191C21;
}
.cart-promocode__input::placeholder {
    color: #A3A4A6;
}

.cart-promocode__submit {
    padding: 9px 12px;
}

.cart-promocode__submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.cart-promocode__block {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px;
}
.cart-promocode__block span {
    color: #191C21;
    display: block;
    font-size: 13px;
}
.cart-promocode__clear {
    width: 44px;
    height: 40px;
    background-color: #19D8C4;
}
.cart-promocode__clear:hover svg path {
    stroke: #FFFFFF;
}
.check-bonus {
    padding: 16px;
    background: url('../img/cart/bonus-banner.jpg');
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    position: relative;
}
.check-bonus::before {
    content: '';
    position: absolute;
    left: 0;
    top: 19px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDQgNjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wIDEuMDAxMzNDMCAwLjI1Nzk1MiAwLjc4MjMxMiAtMC4yMjU1NDMgMS40NDcyMSAwLjEwNjkwN0wzLjQ0NzIxIDEuMTA2OTFDMy43ODYgMS4yNzYzIDQgMS42MjI1NiA0IDIuMDAxMzNWNTcuNzY1M0M0IDU4LjE0NCAzLjc4NiA1OC40OTAzIDMuNDQ3MjEgNTguNjU5N0wxLjQ0NzIxIDU5LjY1OTdDMC43ODIzMTIgNTkuOTkyMSAwIDU5LjUwODYgMCA1OC43NjUzVjEuMDAxMzNaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMzQ1MF8yNjIwMjIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMzQ1MF8yNjIwMjIiIHgxPSItMS41Mzg0MWUtMDciIHkxPSIzMC4zODMzIiB4Mj0iMiIgeTI9IjYwLjM4MzMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzE0Nzc2RCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxOUQ4QzQiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K);
    width: 4px;
    height: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 0;
}
.check-bonus__title {
    color: #191C21;
    font-weight: 600;
    font-size: 17px;
    line-height: 141%;
}
.check-bonus_row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}
.check-bonus__balance {
    font-size: 26px;
    font-weight: 800;
    line-height: 105%;
    color: #20247A;
    display: flex;
    gap: 3px;
    align-items: center;
}
.check-bonus__balance::after {
    content: '';
    display: block;
    background-image: url('../img/icons/icon-bonus.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 0;
    width: 20px;
    height: 20px;
}
.check-bonus__info {
    color: rgba(52, 62, 74, 0.7);
    font-weight: 500;
    font-size: 12px;
    line-height: 133%;

}
.bonus-payment {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}
.bonus-payment__title {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: #343E4A;
}
.bonus-payment__value {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #92969A;
}

.bonus-toggle input {
    opacity: 0;
    position: absolute;
    font-size: 0;
    width: 0;
    height: 0;
}
.bonus-toggle__track {
    padding: 2px;
    width: 46px;
    height: 24px;
    border-radius: 100vmax;
    background-color: #E7EDF3;
    position: relative;
    transition: 0.3s
}
.bonus-toggle__track::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0px 11px 18px 0px rgba(8, 37, 67, 0.06);
    transition: 0.3s;
}
.bonus-toggle>input:checked  + .bonus-toggle__track::after {
    left: calc(100% - 22px);
}
.bonus-toggle>input:checked  + .bonus-toggle__track {
    background-color: #5E920A;
}


.checkout-totals_bottom {
    padding: 16px;
    border-top: 1px solid #E7EDF3;
}
.check-bonus + .checkout-totals_bottom {
    border: none;
}
.checkout-totals_t {
    display: flex;
    align-items: center;
    gap: 5px;
}
.checkout-totals__title {
    color: #191C21;
    font-weight: 600;
    font-size: 17px;
    line-height: 141%;
}
.checkout-totals_t span {
    padding: 3px 6px;
    display: inline-block;
    background-color: #F0F2F3;
    border-radius: 900px;
    color: rgba(52, 62, 74, 0.78);
    font-size: 12px;
}
.checkout-totals__price {
    color: #191C21;
    font-weight: 700;
    font-size: 19px;
    line-height: 147%;
    margin-left: auto;
}
.checkout-totals__checkbox {
    display: flex;
    gap: 10px;
    cursor: pointer;
}
.checkout-totals__checkbox > input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    font-size: 0;
}
.checkout-totals__checkbox-text {
    color: #343E4A;
    font-size: 13px;
    font-weight: 400;
    line-height: 138%; /* 17.94px */
}
.checkout-totals__checkbox-text > a {
    color: #20247A;
    text-decoration: underline;
}

.m-page {
    overflow: hidden;
}
.cart {
    padding-top: 30px;
    padding-bottom: 60px;
    margin-bottom: 154px;
}
.cart.wave::before {
    content: none;
}

.cart__content {
    margin-top: 30px;
    display: flex;
    gap: 25px;
}

.cart-empty {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 40px;
}
/* Дефолтное WooCommerce-уведомление <p class="cart-empty woocommerce-info"> скрываем
   (кастомный пустой блок — <div class="cart-empty"> без woocommerce-info) */
.woocommerce-info.cart-empty {
    display: none !important;
}

.cart-empty__image {
    max-width: 395px;
}

.cart-empty__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.cart-empty__content {
    display: flex;
    align-items: center;
    flex-grow: 1;
    gap: 40px;
}

.cart-empty__content-info{
    max-width: 508px;
}

.cart-empty__title {
    margin-bottom: 8px;
    color: #343e4a;
}
.cart-empty__text {
    line-height: 1.4;
    font-size: 15px;
    color: #343e4a;
}

.cart-empty__btn {
    padding: 18px 23px;
    gap: 8px;
    display: inline-flex;
    margin-left: auto;
    flex-shrink: 0;
}

.cart__main {
    flex-grow: 1;
}

.cart-header {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    border-radius: 18px;
    background-color: #fff;
    padding: 10px;
    margin-bottom: 4px;
    box-shadow: 0px 11px 18px 0px #0825430F;
}

.cart-header__link {
    background-color: #E7EDF3;
    color: #516578;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 8px;
    padding: 6px 8px;
}

.cart-header__checkall {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cart-header__checkall input {
  position: absolute;
  width: 0;
  height: 0;
  font-size: 0;
  opacity: 0;
  pointer-events: none;
}

.cart-header__checkall-text {
    color: #191C21;
    transition: color 0.3s;
    font-size: 13px;
    line-height: 138%;
    font-weight: 600;
}
.cart-header__checkall-text>span {
    color: #343E4A;
    opacity: 0.5;
    font-weight: 400;
}

.cart-header__checkall:hover .cart-header__checkall-text {
    color: #20247A;
}

.cart-header__share {
    margin-left: auto;
    cursor: pointer;
}

.cart-header__share--mobile {
    display: none;
    justify-content: flex-end;
    margin-bottom: 10px;
    margin-left: auto;
}

.cart__contents {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    background-color: #fff;
}

/* CART ITEM */

.cart-item {
    padding: 20px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #F3F4F5;
}
.cart-item:last-child {
    border-bottom: none;
}
.cart-item__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-grow: 1;
}

.cart-item__checkbox label {
    cursor: pointer;
}

.cart-item__checkbox input {
    opacity: 0;
    font-size: 0;
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
}

.cart-item__image {
    aspect-ratio: 1.06 / 1;
    border: 1px solid #F3F4F5;
    border-radius: 10px;
    max-width: 110px;
    margin-left: 8px;
    margin-right: 15px;
    flex-shrink: 0;
    overflow: hidden;
}
.cart-item__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-item__content {
    max-width: 236px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}


.cart-item__name {
    font-size: 14px;
    font-weight: 700;
    line-height: 143%;
    color: #191C21;
}
.cart-item__sku {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #92969A;
}

.cart-item__price {
    align-self: center;
    width: 160px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 3px;
}

.cart-item__price-current {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.47;
    color: #20247A;
}
.cart-item__price-old {
    font-size: 14px;
    line-height: 143%;
    font-weight: 500;
    color: #343E4A;
    opacity: 0.4;
    position: relative;
    margin-left: 23px;
}
.cart-item__price-old::before {
    content: '';
    position: absolute;
    left: -23px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 19px;
    aspect-ratio: 1;
    background-image: url('../img/cart/icons/cart-percent.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 0;
}
.cart-item__price-old::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #AEB2B7;
    transform: rotate(-15deg) translateY(-50%);
}
.cart-item__price-opt {
    font-size: 13px;
    line-height: 138%;
    color: #343E4A;
    opacity: 0.8;
}
.cart-item__tools {
    display: flex;
    gap: 6px;
}
.cart-item__tool {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.3px solid #E7EDF3;
    background-color: #FFFFFF;
    border-radius: 9px;
    transition: 0.3s;
}
.cart-item__tool svg path {
    transition: 0.3s;
}
.cart-item__tool:hover {
    background-color: #fff;
}
.cart-item__tool:hover svg  path {
    stroke: #EF245D;
}
.cart-item__favourite._added {
    background-color: #fff;
}
.cart-item__favourite._added:hover {
    background-color: #F3F4F5;
}

.cart-item__bonus-holder {
    width: 100%;
    display: flex;
}
.cart-item__bonus {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px;
    background-color: #E0EDEB;
    border-radius: 9px;
}
.cart-item__bonus-value {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #343E4A;
}
.cart-item__bonus-hint {
    display: inline-flex;
    padding: 5px;
    border-radius: 8px;
    background-color: #fff;
}


.cart-item__qty {
    display: flex;
    max-width: 131px;
    background-color: #F3F4F5;
    border-radius: 15px;
    padding: 14px 12px;
}
.cart-item__qty .product-cart_qty__btn {
    width: 15px;
    height: 15px;
    border-radius: 0;
    padding: 0;
    background-color: transparent!important;
}
.cart-item__qty .product-cart_qty__btn svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.cart-item__qty--row {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 55px;
    width: 100%;
    gap: 5px;
}
.cart-item__qty--row span {
    color: #191C21;
    opacity: 0.5;
    font-size: 14px;
    font-weight: 600;
}
.cart-item__qty .product-cart_qty__text {
    width: auto;
}

.cart-item__burger {
    display: none;
    /* align-self: flex-start; */
}

.cart-item-burger {
    position: relative;
}

.cart-item-burger--popup {
    padding: 0;
    background-color: #fff;
}

.cart-item-burger__icon {
    cursor: pointer;
}
.cart-item-burger__icon svg {
    display: block;
}
.cart-item-burger__menu {
    position: absolute;
    width: 143px;
    top: calc(100% + 7px);
    right: -17px;
    background-color: #fff;
    box-shadow: 0px 11px 40px 0px #00000040;
    border-radius: 16px;
    z-index: 10;
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
}
.cart-item-burger__menu::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 15px;
    top: -15px;
    left: 0;
}
.cart-item-burger__menu::after {
    content: '';
    position: absolute;
    top: -6px;
    right: 20px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    background-color: #fff;
}
.cart-item-burger__menu-item {
    padding: 12px 14px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    font-weight: 500;
    color: #343E4A;
    cursor: pointer;
    border-bottom: 1px solid #F3F4F5;
    transition: color 0.3s;
}
.cart-item-burger__menu-item:hover {
    color: #20247A;
}
.cart-item-burger__menu-item:last-child {
    border-bottom: none;
}
.cart-item-burger__menu-item svg {
    flex-shrink: 0;
}

.cart-item-burger:hover .cart-item-burger__menu {
    opacity: 1;
    pointer-events: all;
}

.cart__sidebar {
    width: 461px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/* WooCommerce оборачивает итоги в .cart_totals (нужен для AJAX-замены),
   display:contents убирает обёртку из лейаута, чтобы дети были flex-элементами .cart__sidebar */
.cart_totals {
    display: contents;
}
.cart-shipping {
    background: linear-gradient(115deg, #00A5E6 -34.49%, #1A1E77 102.34%);
    border-radius: 14px;
}
.cart-shipping__header {
    padding: 12px 0px 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    overflow: hidden;
}
.cart-shipping__text {
    padding: 10px 0;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
}
.cart-shipping__text > span {
    color: #19D8C4;
}
.cart-shipping__img {
    width: 120px;
    height: 67px;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    flex-shrink: 0;
}

.cart-shipping--completed .cart-shipping__header {
    gap: 10px;
    padding: 0;
    padding-right: 4px;
}
.cart-shipping--completed .cart-shipping__footer {
    display: none;
}
.cart-shipping--completed .cart-shipping__text {
    padding: 22px 0px 22px 20px
}

.cart-shipping--completed .cart-shipping__img {
    width: 144px;
    margin-bottom: -6px;
    align-self: flex-end;
}

.cart-shipping__footer {
    padding: 8px 20px 22px 20px;
}

.cart-shipping__progress {
    height: 7px;
    position: relative;
    border-radius: 100vmax;
    background-color: #fff;
    overflow: hidden;
}
.cart-shipping__progress-fill {
    position: absolute;
    top: 0;
    left: 0px;
    height: 100%;
    border-radius: 100vmax;
    background:
    repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.2) 0,
        rgba(255, 255, 255, 0.2) 10px,
        transparent 10px,
        transparent 20px
        ),
        linear-gradient(90deg, #6fcf97, #56ccf2);
    transition: width 0.3s;
}

.cart-shipping__footer-text {
    margin-top: 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.cart-shipping__footer-text > span {
    color: #19D8C4;
    font-weight: 700;
}

/* CART SHIPPING TOP */

.cart-shipping-top {
    margin-top: 20px;
    display: none;
    align-items: center;
    gap: 27px;
}
.cart-shipping-top .cart-shipping-top__content {
    padding: 16px;
    max-width: 532px;
    width: 100%;
}
.cart-shipping-top .cart-shipping__header {
    padding: 0;
}
.cart-shipping-top .cart-shipping__text {
    padding-top: 0;
}
.cart-shipping-top .cart-shipping__footer {
    padding: 0;
}
.cart-shipping-top .cart-shipping-top__image {
    align-self: flex-end;
    margin-left: auto;
    flex-shrink: 0;
    overflow: hidden;
}
.cart-shipping-top .cart-shipping__img {
    width: 182px;
    height: auto;
    margin-top: 8px;
    margin-right: 4px;
}

.cart-shipping-top.cart-shipping--completed .cart-shipping__text {
    padding: 0;
}
.cart-shipping-top.cart-shipping--completed .cart-shipping__img {
    width: 97px;
}
.cart-shipping-top.cart-shipping--completed .cart-shipping-top__image {
    margin-right: 12.5%;
}


/* Промокод */

.cart-promocode {
    padding: 22px 20px;
    background-color: #FDFDFD;
    border-radius: 14px;
    border: 1px dashed #0B54A0;
    background-image: url('../img/cart/cart-promocode.png');
    background-repeat: no-repeat;
    background-position: 101% 50%;
    background-size: auto 100%;
}
.cart-promocode__title {
    font-size: 16px;
    color: #343e4a;
    font-weight: 700;
    line-height: 1.5;
    max-width: 175px;
    margin-bottom: 10px;
}
.cart-promocode__form {
    display: flex;
    gap: 10px;
    padding: 6px;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid #F3F4F5;
    box-shadow: 0px 11px 18px 0px #0825430F;
}
.cart-promocode__input {
    width: 100%;
    font-size: 13px;
    padding: 9px 0 10px 9px;
    color: #343e4a;
}
.cart-promocode__input::placeholder {
    color: #A3A4A6;
}

.cart-promocode__submit {
    padding: 9px 12px;
}

.cart-promocode__submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* CART CHECK */

.cart__check {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 22px 20px;
    background-color: #fff;
    border-radius: 14px;
}
.bonus-payment {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}
.bonus-payment__title {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: #343E4A;
}
.bonus-payment__value {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #92969A;
}

.bonus-toggle input {
    opacity: 0;
    position: absolute;
    font-size: 0;
    width: 0;
    height: 0;
}
.bonus-toggle__track {
    padding: 2px;
    width: 46px;
    height: 24px;
    border-radius: 100vmax;
    background-color: #E7EDF3;
    position: relative;
    transition: 0.3s
}
.bonus-toggle__track::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0px 11px 18px 0px rgba(8, 37, 67, 0.06);
    transition: 0.3s;
}
.bonus-toggle>input:checked  + .bonus-toggle__track::after {
    left: calc(100% - 22px);
}
.bonus-toggle>input:checked  + .bonus-toggle__track {
    background-color: #5E920A;
}

.check-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(240, 240, 240, 1);
}
.check__info-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.check-info__name {
    max-width: 70%;
    font-size: 13px;
    font-weight: 500;
    color: #92969A;
}
.check-info__separator {
    flex-grow: 1;
    height: 1px;
    background-image: radial-gradient(circle, #92969A 0.5px, transparent 0.5px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
    opacity: 0.3;
}
.check-info__value {
    font-size: 13px;
    font-weight: 700;
    color: #343E4A;
}
.check-info__value.bonus {
    display: flex;
    align-items: center;
    gap: 4px;
}
.check-info__value.bonus::before {
    content: url('../img/icons/icon-bonus.svg');
    width: 20px;
    height: 20px;
}
.check-info__value>span{
    color: #F00F00;
}

/* Стили для промокодов */
.check__info-row.coupon-row {
    background-color: #F4F8FD;
    padding: 10px 12px;
    border-radius: 8px;
    margin: -5px 0;
}

.check__info-row.coupon-row .check-info__name {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #343E4A;
    font-weight: 600;
}

.check__info-row.coupon-row .check-info__name strong {
    color: #20247A;
}

.woocommerce-remove-coupon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #fff;
    color: #92969A;
    transition: 0.3s;
    margin-left: auto;
}

.woocommerce-remove-coupon:hover {
    color: #EF245D;
}

.woocommerce-remove-coupon svg {
    width: 10px;
    height: 10px;
}

.check-info__value.coupon-discount {
    color: #5E920A;
    font-weight: 700;
}

.check-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.check-total__name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #191c21;
}
.check-total__value {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: #20247A;
}
.check-submit {
    padding: 18px 30px;
}
.check-submit span span {
    opacity: 0.35;
}



/* CART HELP */

.cart-help {
    padding: 20px;
    background: 
        url('../img/cart/cart-help.png'),
        linear-gradient(135deg, #F4F8FD 0%, #C3E9E4 100%);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: auto 100%;
}
.cart-help__content {
    max-width: 210px;
    margin-left: auto;
}
.cart-help__title {
    font-size: 15px;
    font-weight: 700;
    color: #20517A;
    margin-bottom: 3px;
}
.cart-help__subtitle {
    font-size: 13px;
    font-weight: 500;
    color: #343E4A;
}
.cart-help__btn {
    margin-top: 8px;
    display: inline-flex;
    padding: 10px 12px;
}
.cart-help__btn:hover svg path {
    stroke: #fff;
    fill: transparent;
}

/* .popup-cart-product-tools {
    align-items: flex-end;
}
.popup-cart-product-tools .popup-inner{
    padding: 0;
    width: 100%;
    border-radius: 15px 15px 0 0;
    padding-bottom: 50px;
} */
.popup-cart-product-tools .popup__title {
    padding: 14px;
    font-size: 17px;
    line-height: 1.23;
}
.popup-cart-product-tools .cart-item-burger__menu-item {
    border-top: 1px solid #F3F4F5;
}
.popup-cart-product-tools .cart-item-burger__menu-item:last-child {
    border-top: none;
}

.cart-add {
    padding-top: 60px;
    overflow: hidden;
}
.cart-add_slider {
    overflow: visible;
    margin-top: 30px;
}

/* Cart Interested Section */
.cart-interested {
    padding-top: 60px;
    padding-bottom: 60px;
}
.cart-interested__title {
    margin-bottom: 30px;
}
.cart-interested_slider {
    overflow: visible;
}
.cart-interested_pagination {
    margin-top: 30px;
}
.footer::before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI3MSIgdmlld0JveD0iMCAwIDE5MjAgNzEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xOTIwIDE0LjE3MTJDODcxLjUgLTExIDc3NiAxNTUuNSAwIDAuMjgxMjVWNzAuMjgxMkgxOTIwTDE5MjAgMTQuMTcxMloiIGZpbGw9IiM0OTIwN0UiLz4KPC9zdmc+Cg==);
}

.viewed-products {
    padding-bottom: 96px;
}
.product-view {
    height: auto;
}



.cart-lk {
    position: relative;
    z-index: 1;
    padding-top: 52px;
}
.cart-lk__bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top right;
    z-index: -1;
    border-radius: 18px;
}
.cart-lk__icon {
    position: absolute;
    top: -11px;
    left: -14px;
    width: 93px;
    aspect-ratio: 1;
    background-color: #1F27B5;
    border-radius: 50%;
}
.cart-lk__icon img {
    position: absolute;
    width: 158px;
    height: auto;
    left: -32px;
    top: -25px;
}
.cart-lk__title {
    color: #FFFFFF;
    max-width: 185px;
    margin-left: 90px;
    font-size: 23px;
    line-height: 117%;
    letter-spacing: -0.03em;
    font-weight: 600;
}
.cart-lk__text {
    margin-top: 8px;
    max-width: 190px;
    color: #FFFFFF;
    margin-left: 90px;
    font-size: 13px;
    line-height: 138%;
    font-weight: 500;
}
.cart-lk__text span {
    color: #19D8C4;
}
.cart-lk__btn {
    margin-top: 21px;
    background-color: #EF245D;
    box-shadow: 0px 4px 0px 0px #CA1A4C, 0px 6px 19px 0px #FFFFFF75 inset, 0px 1px 0px 0px #FFFFFF30, 0px 10px 14px 0px #00000040;
    border-radius: 16px;
    height: 57px;
    border-radius: 0 0 18px 18px;
    gap: 8px;
    width: 100%;
}
.cart-lk__btn:hover {
    background-color: #d32254;
}
.cart-lk__btn span {
    color: #FFFFFF;
    font-size: 16px;
}

.cart-bonus {
    padding: 10px 12px 10px 11px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 16px;
}
.cart-bonus__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.cart-bonus_indicator {
    width: 53px;
    aspect-ratio: 1;
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cart-bonus_indicator__ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}
.cart-bonus_indicator__track {
    fill: #FFFFFF;
    stroke: #E7EDF3;
    stroke-width: 3;
}
.cart-bonus_indicator__bar {
    fill: none;
    stroke: url(#cart-bonus-grad);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 153.94;
    stroke-dashoffset: 153.94;
    transition: stroke-dashoffset 0.6s ease;
}
.cart-bonus._green .cart-bonus_indicator__bar {
    stroke: url(#cart-bonus-grad2);
}
.cart-bonus_indicator__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Старый статичный вариант индикатора */
.cart-bonus_indicator--inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #D7E6F5;
    background-color: #FFFFFF;
}
.cart-bonus__title {
    color: #EF245D;
    font-size: 14px;
    line-height: 143%;
    font-weight: 600;
}
.cart-bonus._green .cart-bonus__title {
    color: #5E920A;
}
.cart-bonus__text {
    font-size: 13px;
    line-height: 138%;
    color: #6D7884;
}
.cart-bonus__text span {
    color: #191C21;
    font-weight: 700;
}

.cart-total {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}


@media screen and (min-width: 992px) {
    .cart__contents {
        gap: 4px;
        background-color: transparent;
        border-radius: 0;
    }
    .cart-item {
        border-radius: 18px;
        background-color: #FFFFFF;
        padding: 10px;
    }
}

@media screen and (max-width: 1550px) {
    .cart-item {
        padding: 10px;
    }
    .cart-item__image {
        max-width: 90px;
    }
}

@media screen and (max-width: 1260px) {
    .viewed-products {
        padding-bottom: 20px;
        padding-top: 20px;
    }
    .cart {
        padding-top: 20px;
    }
    .cart__content {
        margin-top: 20px;
        gap: 15px;
    }
    .cart-header {
        padding: 15px;
    }
    .cart__sidebar {
        width: 348px;
    }
    .cart-help__content {
        max-width: 178px;
    }
    .cart-shipping {
        display: none;
    }
    .cart-shipping-top {
        display: flex;
    }
    .cart-shipping__text {
        font-size: 15px;
    }
    .cart-promocode,
    .cart__check {
        padding: 16px;
    }

    .cart-help {
        background-position: -20px 0px, center;
    }

    .cart-item__main {
        gap: 15px;
    }

    .cart-item__name {
        font-size: 14px;
    }
    .cart-item__price-current {
        font-size: 16px;
    }
    .cart-item__price-old {
        font-size: 15px;
    }

    .cart-item__price {
        min-width: 122px;
    }
    


    .cart-lk {
        padding-top: 37px;
    }
    .cart-lk__bg {
        border-radius: 13px;
    }
    .cart-lk__icon {
        width: 67px;
    }
    .cart-lk__icon img {
        width: 115px;
        left: -23px;
        top: -19px;
    }
    .cart-lk__title {
        font-size: 15px;
        line-height: 140%;
        max-width: 130px;
        margin-left: 65px;
    }
    .cart-lk__text {
        margin-left: 65px;
        font-size: 12px;
        line-height: 133%;
        margin-top: 6px;
        max-width: 120px;
    }
    .cart-lk__btn {
        margin-top: 13px;
    }
}

@media screen and (max-width: 991px) {
    .cart {
        padding-bottom: 30px;
        margin-bottom: 62px;
    }

    .cart-header {
        gap: 15px;
        padding: 12px 10px;
        border-radius: 12px;
    }
    .cart-header__share-text {
        display: none;
    }

    .cart__content {
        margin-top: 20px;
    }
    .cart-empty {
        gap: 20px;
    }
    .cart-empty__image {
        max-width: 285px;
    }
    .cart-empty__content {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .cart-empty__title {
        margin-bottom: 4px;
    }
    .cart-empty__text {
        font-size: 14px;
    }
    .cart-empty__btn {
        padding: 12px 16px;
        font-size: 13px;
        margin-left: 0;
    }


    .cart-item {
        padding: 12px 10px;
    }
    .cart-item__image {
        margin-left: 8px;
        max-width: 54px;
        margin-right: 12px;
    }
    .cart-item__name {
        font-size: 13px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }
    .cart-item__sku {
        display: none;
    }

    .cart-item__main {
        flex-wrap: wrap;
        row-gap: 5px;
        column-gap: 0;
    }
    .cart-item__content {
        order: 1;
        max-width: none;
        width: calc(100% - 16px);
    }
    .cart-item__burger {
        order: 2;
        align-self: flex-start;
    }
    .cart-item__price  {
        order: 4;
        min-width: auto;
        width: calc(100% - 160px);
        justify-content: flex-end;
        column-gap: 3px;
        row-gap: 2px;
    }
    .cart-item__bonus-holder {
        justify-content: flex-end;
    }
    .cart-item__price-opt {
        font-size: 10px;
    }
    .cart-item__price-current {
        font-size: 13px;
    }
    .cart-item__price-old {
        font-size: 12px;
        font-weight: 500;
    }
    .cart-item__bonus {
        margin-left: 0;
        padding: 0;
        background-color: #fff;
    }
    .cart-item__bonus-hint {
        padding: 2px;
        border-radius: 50%;
        background-color: #EFF5FB;
    }
    .cart-item__qty {
        max-width: 103px;
        padding: 4px 12px;
        border-radius: 6px;
        order: 3;
    }
    .product-cart_qty__text {
        font-size: 14px;
    }
    .product-cart_qty__btn {
        width: 10px;
        height: 10px;
    }
    

    .cart-add {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .cart-interested {
        padding-top: 20px;
        padding-bottom: 20px;
    }


    

}

@media screen and (max-width: 768px) {
    .cart {
        padding-top: 15px;
    }
    .cart-header {
        justify-content: space-between;
        gap: 8px;
    }
    .cart-header__delete-text {
        display: none;
    }
    .cart-header__share {
        margin-left: 0;
    }
    .cart-header__delete {
        margin-left: auto;
    }

    .cart-item-burger--hover {
        display: none;
    }
    .cart-item-burger--popup {
        display: block;
    }
    .cart__content {
        flex-direction: column;
    }
    .cart__sidebar {
        width: 100%;
    }
    .cart-shipping {
        display: block;
    }
    .cart-shipping-top  {
        display: none;
    }

    .cart-header  {
        margin-bottom: 10px;
        border-radius: 12px;
    }

    .cart-shipping.cart-shipping--completed .cart-shipping__header {
        min-height: 74px;
        
    }
    .cart-shipping.cart-shipping--completed .cart-shipping__img {
        width: 110px;
        margin-right: 12px;
    }
    .cart-shipping.cart-shipping--completed .cart-shipping__text {
        padding: 16px 0 16px 16px;
        line-height: 1.4;
    }
    .cart-shipping__header {
        padding: 14px 16px 0 16px;
    }
    .cart-shipping__footer {
        padding: 4px 16px 16px 16px;
    }
    .cart-shipping__text {
        padding-top: 2px;
        padding-bottom: 14px;
    }


    .cart-help {
        background-position: left top;
    }


}


@media screen and (max-width: 580px) {
    .cart {
        margin-bottom: 8.056vw;
    }
    .cart-empty {
        flex-direction: column;
        align-items: center;
    }
    .cart-empty__content {
        text-align: center;
    }
    .cart-empty__btn {
        width: 100%;
    }

    .cart-item__price {
        width: calc(100% - 103px);
    }

    .cart-bonus {
        border-radius: 12px;
        padding: 10px 12px 60px;
        gap: 24px;
        align-items: flex-start;
        aspect-ratio: 302/129;
    }
    .cart-bonus__bg {
        object-position: bottom;
    }
    .cart-bonus__title {
        font-size: 13px;
        line-height: 138%;
        margin-bottom: 4px;
        max-width: 180px;
    }
    .cart-bonus_indicator {
        width: 44px;
    }
    .cart-bonus_indicator__icon svg {
        width: 18px;
        flex-shrink: 0;
        height: auto;
    }
}

/* Скрываем стандартные уведомления WooCommerce на странице корзины */
.woocommerce-notices-wrapper {
    display: none !important;
}

/* Toast уведомление для корзины */
.cart-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #20247A;
    color: #FFFFFF;
    padding: 16px 20px;
    border-radius: 12px;
    box-shadow: 0px 11px 40px rgba(32, 36, 122, 0.4);
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 140%;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    max-width: 350px;
}

.cart-toast svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.cart-toast span {
    flex: 1;
}

/* Показываем уведомление */
.cart-toast--show {
    opacity: 1;
    transform: translateY(0);
}

/* Вариант с ошибкой */
.cart-toast--error {
    background: #EF245D;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .cart-toast {
        top: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
        font-size: 14px;
        padding: 14px 16px;
    }
}
