.cart {
 padding: 30px 0;
 overflow: hidden;
}

.cart__wrapper {
 display: flex;
 gap: 20px;
}

.cart__main {
 flex: 1;
}

.cart__actions {
 padding: 13px 25px;
 border-radius: 20px;
 background: #FFF;
 display: flex;
 align-items: center;
 gap: 10px;
 justify-content: space-between;
}

.cart__clear,
.cart__share {
 gap: 10px;
}

.cart__clear-text,
.cart__share-text {
 color: #526086;
 font-size: 13px;
 font-weight: 600;
 line-height: 150%;
 border-bottom: 1px dashed rgba(82, 96, 134, 0.30);
 transition: all .3s;
}

.cart__clear:hover .cart__clear-text,
.cart__share:hover .cart__share-text {
 color: #FC5417;
}

.cart__list {
 margin-top: 25px;
 display: flex;
 flex-direction: column;
 gap: 25px;
 padding: 25px;
 border-radius: 20px;
 background: #FFF;
}

.cart-item {
 display: flex;
 gap: 15px;
 align-items: center;
 justify-content: space-between;
}

.cart-item__info-wrapper {
 display: flex;
 gap: 15px;
 align-items: center;
}

.cart-item__image {
 min-width: 84px;
 width: 84px;
 height: 84px;
 border-radius: 10px;
 border: 1px solid #EDEDED;
 background: #FFF;
 overflow: hidden;
}

.cart-item__image img {
 width: 100%;
 height: 100%;
 object-fit: contain;
}

.cart-item__info {
 max-width: 357px;

}

.cart-item__title {
 overflow: hidden;
 color: #303133;
 text-overflow: ellipsis;
 font-size: 15px;
 font-weight: 600;
 line-height: 139%;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 2;
 align-self: stretch;
}

.cart-item__variant {
 margin-top: 6px;
 padding: 8px 15px;
 border-radius: 10px;
 border: 1px solid #EDEDED;
 background: #FFF;
 color: #303133;
 font-size: 13px;
 font-weight: 600;
 line-height: 150%;
 width: fit-content;
}

.cart-item__price-single {
 color: #8E8F91;
 font-size: 13px;
 font-weight: 500;
 line-height: 150%;
 white-space: nowrap;
}

.cart-item__price-value {
 white-space: nowrap;
}

.cart-item__price-total {
 display: flex;
 align-items: center;
 gap: 7px;
 width: 173px;
}

.cart-item__price-current {
 color: #303133;
 font-family: Oswald;
 font-size: 18px;
 font-weight: 500;
 line-height: 150%;
 white-space: nowrap;
}

.cart-item__price-old {
 color: rgba(142, 143, 145, 0.7);
 font-family: Oswald;
 font-size: 13px;
 font-weight: 400;
 line-height: 145%;
 text-decoration-line: line-through;
 white-space: nowrap;
}

.cart__sidebar {
 flex: 1;
 max-width: 346px;
}

.cart-promo {
 padding: 25px;
 border-radius: 20px;
 background: #111212;
 position: relative;
}

.cart-promo__image {
 position: absolute;
 right: -39.414px;
 top: -30.197px;
 width: 141.401px;
 height: 141.401px;
 transform: rotate(8.744deg);
 aspect-ratio: 141.40/141.40;
}

.cart-promo__image img {
 width: 100%;
 height: 100%;
 object-fit: contain;
}

.cart-promo__title {
 color: #fff;
 margin-bottom: 5px;
 max-width: 227px;
}

.cart-promo__text {
 color: rgba(255, 255, 255, 0.7);
 font-size: 14px;
 font-weight: 400;
 line-height: 150%;
 max-width: 227px;
}

.cart-promo__input-wrapper {
 border-radius: 14px;
 overflow: hidden;
 position: relative;
 width: 100%;
 margin-top: 15px;
}

.cart-promo__input-wrapper .cart-promo__input-icon {
 position: absolute;
 left: 20px;
 top: 50%;
 transform: translateY(-50%);
}

.cart-promo__input {
 padding: 19px 20px 19px 46px;
 background: #303133;
 width: 100%;
 color: #EDEDED;
 font-size: 13px;
 font-weight: 400;
 line-height: 150%;
}

.cart-promo__input::placeholder {
 color: rgba(237, 237, 237, 0.4);
}

.cart-promo__btn {
 margin-top: 10px;
 width: 100%;
 padding: 8px 20px;
 gap: 4px;
 border-radius: 8px;
 font-family: Oswald;
 font-size: 14px;
 font-weight: 500;
 line-height: normal;
 text-transform: uppercase;
}

.cart-bonus {
 position: relative;
 overflow: hidden;
 margin-top: 20px;
 padding: 25px;
 border-radius: 20px;
 background: radial-gradient(79.53% 95.67% at 92.2% 32.24%, #FCAF17 0%, #FC5417 100%);
}

.cart-bonus__img {
 position: absolute;
 top: 0;
 right: 0;
 height: 100%;
 object-fit: cover;
 object-position: center right;
 pointer-events: none;
}

.cart-bonus__title,
.cart-bonus__value,
.cart-bonus__btn {
 position: relative;
}

.cart-bonus__title {
 color: #fff;
 margin-bottom: 5px;
}

.cart-bonus__value {
 color: #FCAF17;
 font-family: Oswald;
 font-size: 21px;
 font-weight: 600;
 line-height: 145%;
 text-transform: uppercase;
}

.cart-bonus__btn {
 margin-top: 15px;
 width: 100%;
 padding: 8px 20px;
 gap: 4px;
 border-radius: 8px;
 font-family: Oswald;
 font-size: 14px;
 font-weight: 500;
 line-height: normal;
 text-transform: uppercase;
}

.cart-summary {
 margin-top: 20px;
 padding: 25px;
 border-radius: 20px;
 background: #FFF;
}

.cart-summary__list {
 margin-top: 15px;
 display: flex;
 flex-direction: column;
 gap: 10px;
}

.cart-summary__row {
 display: flex;
 align-items: center;
 gap: 10px;
}

.cart-summary__label {
 color: #8E8F91;
 font-size: 14px;
 font-weight: 500;
 line-height: 150%;
}

.cart-summary__line {
 flex: 1;
 background-image:
  linear-gradient(90deg, transparent 75%, #8E8F91 75%),
  linear-gradient(0deg, transparent 75%, #8E8F91 75%);
 background-size: 4px 4px;
 background-position: 0 0, 2px 2px;
 display: block;
 height: 1px;
}

.cart-summary__value {
 color: #303133;
 font-size: 14px;
 font-weight: 600;
 line-height: 150%;
}

.cart-summary__value.cart-summary__value--discount {
 color: #FFF;
 font-family: Oswald;
 font-size: 14px;
 font-weight: 500;
 line-height: normal;
 text-transform: uppercase;
 padding: 3px 4px;
 border-radius: 10px;
 background: #FC5417;
}

.cart-summary__value.cart-summary__value--bonus {
 display: flex;
 align-items: center;
 gap: 5px;
 font-family: Oswald;
}

.cart-summary__row--total .cart-summary__value {
 font-size: 18px;
 font-weight: 500;
 line-height: 150%;
 font-family: Oswald;
}

.cart-summary__checkout {
 padding: 16px 25px;
 width: 100%;
 border-radius: 10px;
 gap: 10px;
 font-family: Inter;
 font-size: 15px;
 font-weight: 800;
 line-height: 139%;
 margin-top: 15px;
}

.cart-item__remove-mob {
 display: none;
}

.products-carousel--cart {
 padding-bottom: 60px;
}


@media (max-width: 1265px) {
 .cart-item {
  flex-wrap: wrap;
  align-items: flex-start;
 }

 .cart-item__quantity {
  order: 10;
  width: 45%;
 }

 .cart-item__price-total {
  order: 11;
  width: fit-content;
 }

 .cart-item__price-single {
  display: none;
 }
}

@media (max-width: 1024px) {
 .cart {
  padding: 20px 0 40px;
 }

 .cart__actions {
  padding: 9px 16px;
  border-radius: 12px;
 }

 .cart__list {
  margin-top: 10px;
  gap: 20px;
  padding: 16px;
  border-radius: 12px;
 }

 .cart-item__image {
  min-width: 65px;
  width: 65px;
  height: 65px;
 }

 .cart-item__info-wrapper {
  gap: 9px;
  align-items: center;
 }

 .cart-item__title {
  font-size: 14px;
 }

 .cart-item__variant {
  margin-top: 6px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 12px;
 }

 .cart-item__remove {
  display: none;
 }

 .cart-item__quantity .product-quantity {
  padding: 0;
  border-radius: 0;
  border: none;
  height: 33px;
 }

 .cart-item__quantity .product-quantity__btn {
  width: 33px;
  height: 33px;
 }

 .cart-item__quantity .product-quantity__btn svg {
  width: 16px;
 }

 .product-quantity__input {
  width: 30px;
  font-size: 14px;
 }

 .cart-item {
  gap: 8px;
 }

 .cart-item__price-current {
  font-size: 15px;
 }

 .cart-item__price-old {
  font-size: 12px;
 }

 .cart__sidebar {
  max-width: 306px;
 }

 .cart-promo {
  padding: 16px;
  border-radius: 16px;
 }

 .cart-bonus {
  margin-top: 15px;
  padding: 16px;
  border-radius: 16px;
 }

 .cart-bonus__btn {
  padding: 8px 3px;
 }

 .cart-summary {
  margin-top: 15px;
  padding: 16px;
  border-radius: 16px;
 }

 .cart-summary__label {
  font-size: 13px;
 }

 .cart-summary__value {
  font-size: 13px;
 }

 .cart-summary__row--total .cart-summary__value {
  font-size: 16px;
 }

 .cart-summary__checkout {
  padding: 12px 25px;
  font-size: 14px;
 }

 .cart-item__remove-mob {
  display: flex;
 }

 .products-carousel--cart {
  padding-bottom: 40px;
 }

 .products-carousel--cart .products-carousel__dots {
  display: none;
 }

}


@media (max-width: 768px) {
 .cart__wrapper {
  flex-direction: column;
 }

 .cart__share-text {
  display: none;
 }

 .cart__actions {
  padding: 9px 10px;
 }

 .cart__list {
  padding: 10px;
 }

 .cart__sidebar {
  max-width: 100%;
 }
}

/* Cart Popup */
.cart-popup {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 1000;
 display: flex;
 align-items: center;
 justify-content: center;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s, visibility 0.3s;
}

.cart-popup.is-active {
 opacity: 1;
 visibility: visible;
}

.cart-popup__overlay {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(48, 49, 51, 0.90);
}

.cart-popup__content {
 position: relative;
 background: #FFF;
 border-radius: 20px;
 padding: 25px;
 max-width: 466px;
 width: 100%;
 text-align: center;
}

.cart-popup__close {
 position: absolute;
 top: 18px;
 right: 18px;
 display: flex;
 align-items: center;
 justify-content: center;
}

.cart-popup__close:hover svg path {
 stroke: #FC5417;
}

.cart-popup__title {
 margin-bottom: 10px;
}

.cart-popup__text {
 color: #393B40;
 font-size: 13px;
 font-weight: 500;
 line-height: 150%;
 margin-bottom: 25px;
}

.cart-popup__text .cart-popup__text-value {
 font-weight: 700;
}

.cart-popup__confirm {
 width: 100%;
 padding: 16px 25px;
 border-radius: 10px;
 font-size: 15px;
 font-weight: 800;
 line-height: 139%;
}

.cart-popup__cancel {
 width: 100%;
 padding: 10px 25px;
 border-radius: 10px;
 font-size: 13px;
 font-weight: 700;
 line-height: 150%;
 margin-top: 10px;
 gap: 10px;
}

.cart-popup--bonus .cart-popup__content {
 max-width: 560px;
}

.cart-promo__input-btn {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 20px;


}

@media (max-width: 1024px) {
 .cart-popup__content {
  border-radius: 16px;
  padding: 16px;
  max-width: 328px;
 }

 .cart-popup__title {
  margin-bottom: 6px;
 }

 .cart-popup__text {
  font-size: 12px;
  margin-bottom: 20px;
 }

 .cart-popup__confirm {
  padding: 13px 25px;
  font-size: 14px;
 }

 .cart-popup--bonus .cart-popup__content {
  max-width: 328px;
 }

 .cart-popup__title {
  max-width: 230px;
  margin-inline: auto;
 }
}