/* ===== SECTION: Cart Page - Start ===== */
.cart-wrapper {
	padding-top: 40px;
	padding-bottom: 120px;
}

.cart-box {
	display: flex;
	flex-direction: column;
	gap: 64px;
	width: 100%;
	padding: 32px;
	background: var(--light-gray);
	border-radius: var(--radius-large);
}

.cart-box__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cart-empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.cart-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 626px;
	gap: 32px;
	align-items: start;
}

/* Позиції - Start */
.cart-page-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.cart-page-items .product-item {
	padding: 16px 40px 16px 16px;
	background: var(--white);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-medium);
}

.cart-page-items .product-item__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 53px;
	width: 53px;
	height: 53px;
	padding: 0;
	border: 1px solid var(--input-border);
	border-radius: var(--radius-max);
}

.cart-page-items .product-item__remove img {
	display: block;
	width: 19px;
	height: 23px;
	object-fit: contain;
}

.cart-page-items .product-item__remove span {
	display: none;
}

@media not all and (pointer: coarse) {
	.cart-page-items .product-item__remove:hover {
		background: var(--red);
		border-color: var(--red);
	}

	.cart-page-items .product-item__remove:hover img {
		filter: brightness(0) invert(1);
	}
}
/* Позиції - End */

/* Подарункове пакування - Start */
.cart-gift-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 16px 40px 16px 16px;
	background: var(--white);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-medium);
}

.cart-gift-wrap__info {
	display: flex;
	align-items: center;
	gap: 40px;
	min-width: 0;
}

.cart-gift-wrap__info img {
	flex: 0 0 132px;
	width: 132px;
	height: 126px;
	object-fit: cover;
	background: var(--card-gray);
	border-radius: var(--radius-mid);
}

.cart-gift-wrap__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.cart-gift-wrap__title {
	font-family: var(--font-family-2);
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	color: var(--black);
}

.cart-gift-wrap__side {
	display: flex;
	align-items: center;
	gap: 32px;
}

.cart-gift-wrap__price {
	font-family: var(--font-family-2);
	font-weight: 500;
	font-size: 28px;
	line-height: 34px;
	white-space: nowrap;
	color: var(--black);
}

.cart-gift-wrap__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 53px;
	width: 53px;
	height: 53px;
	padding: 0;
	background: var(--black);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-max);
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.cart-gift-wrap__btn img {
	width: 25px;
	height: 25px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.cart-gift-wrap.is-added .cart-gift-wrap__btn img {
	width: 19px;
	height: 23px;
}

@media not all and (pointer: coarse) {
	.cart-gift-wrap__btn:hover {
		background: var(--primary);
	}

	.cart-gift-wrap__btn:hover img {
		filter: none;
	}

	.cart-gift-wrap.is-added .cart-gift-wrap__btn:hover {
		background: var(--red);
	}

	.cart-gift-wrap.is-added .cart-gift-wrap__btn:hover img {
		filter: brightness(0) invert(1);
	}
}
/* Подарункове пакування - End */

/* Промокод - Start */
.cart-coupon {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: 24px;
	background: var(--white);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-medium);
}

.cart-coupon__title {
	font-family: var(--font-family-2);
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	color: var(--black);
}

.cart-coupon__applied {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.cart-coupon__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 24px;
	background: var(--status-success-bg);
	border-radius: var(--radius-pill);
	color: var(--status-success-text);
}

.cart-coupon__remove {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	text-decoration: underline;
	color: var(--status-success-text);
}

.cart-coupon__row {
	display: flex;
	align-items: center;
	gap: 24px;
}

.cart-coupon__row .form-input {
	flex: 1 1 auto;
	min-width: 0;
	height: 61px;
	padding: 16px 24px;
	background: var(--white);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-pill);
}

.cart-coupon__message {
	color: var(--red);
}

.cart-coupon__message.is-success {
	color: var(--status-success-text);
}
/* Промокод - End */

/* Разом - Start */
.cart-summary {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: 40px;
	background: var(--white);
	border: 1px solid var(--input-border);
	border-radius: var(--radius-medium);
}

.cart-summary__lines {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.cart-summary__line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	background: var(--card-gray);
	border-radius: var(--radius-tiny);
	font-family: var(--font-family-1);
	font-weight: 500;
	font-size: 16px;
	line-height: 19px;
}

.cart-free-shipping {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-left: 24px;
	border: 1px solid var(--input-border);
	border-radius: var(--radius-tiny);
	overflow: hidden;
}

.cart-free-shipping__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 0;
	min-width: 0;
}

.cart-free-shipping__title {
	font-family: var(--font-family-1);
	font-size: 20px;
	line-height: 24px;
	color: var(--black);
}

.cart-free-shipping__bar {
	position: relative;
	height: 8px;
	margin-top: 20px;
	background: var(--input-border);
	border-radius: var(--radius-large);
	overflow: hidden;
}

.cart-free-shipping__bar span {
	display: block;
	height: 100%;
	background: var(--black);
	border-radius: inherit;
}

.cart-free-shipping img {
	flex: 0 0 153px;
	width: 153px;
	height: 136px;
	object-fit: contain;
}

.cart-summary__total-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.cart-summary__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	font-family: var(--font-family-2);
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	color: var(--black);
}

.cart-summary__total-group .btn {
	width: 100%;
}

.cart-summary__note {
	font-weight: 500;
	text-align: center;
}

.cart-secure {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}

.cart-secure__pay {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cart-secure__pay img {
	width: 201px;
	height: 37px;
	object-fit: contain;
}

.cart-secure__methods {
	display: flex;
	align-items: center;
	gap: 24px;
}
/* Разом - End */

/* Апсейл - Start */
.cart-upsell {
	padding-bottom: 120px;
}

.cart-upsell .one-column {
	gap: 80px;
}

.cart-upsell__head {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.cart-upsell__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.cart-upsell__card {
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 16px;
	background: var(--light-gray);
	border-radius: var(--radius-mid);
}

.cart-upsell__image {
	display: flex;
	flex: 0 0 154px;
	width: 154px;
	height: 154px;
	overflow: hidden;
	background: var(--white);
	border-radius: var(--radius-tiny);
}

.cart-upsell__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-upsell__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	min-width: 0;
	padding-top: 6px;
}

.cart-upsell__name {
	color: var(--black);
	transition: all 0.3s ease-in-out;
}

@media not all and (pointer: coarse) {
	.cart-upsell__name:hover {
		color: var(--primary-ring);
	}
}

.cart-upsell__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.cart-upsell__price {
	font-family: var(--font-family-2);
	font-weight: 500;
	font-size: 24px;
	line-height: 29px;
	color: var(--black);
}

.cart-upsell__price del {
	font-size: 16px;
}
/* Апсейл - End */

@media (max-width: 1680px) {
	.cart-wrapper {
		padding-bottom: 96px;
	}

	.cart-box {
		gap: 52px;
		padding: 29px;
	}

	.cart-cols {
		grid-template-columns: minmax(0, 1fr) 470px;
		gap: 24px;
	}

	.cart-summary {
		gap: 24px;
		padding: 29px;
	}

	.cart-gift-wrap__info {
		gap: 24px;
	}

	.cart-gift-wrap__info img {
		flex: 0 0 110px;
		width: 110px;
		height: 105px;
	}

	.cart-gift-wrap__price {
		font-size: 20px;
		line-height: 24px;
	}

	.cart-free-shipping img {
		flex: 0 0 120px;
		width: 120px;
		height: 107px;
	}

	.cart-secure {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.cart-upsell {
		padding-bottom: 96px;
	}

	.cart-upsell .one-column {
		gap: 56px;
	}

	.cart-upsell__card {
		gap: 24px;
	}

	.cart-upsell__image {
		flex: 0 0 130px;
		width: 130px;
		height: 130px;
	}

	.cart-upsell__body {
		gap: 24px;
	}

	.cart-upsell__price {
		font-size: 20px;
		line-height: 24px;
	}
}

@media (max-width: 1279px) {
	.cart-wrapper {
		padding-bottom: 80px;
	}

	.cart-box {
		gap: 32px;
		padding: 20px;
		border-radius: var(--radius-medium);
	}

	.cart-box__head {
		gap: 12px;
	}

	.cart-cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.cart-page-items {
		gap: 8px;
	}

	.cart-page-items .product-item {
		flex-wrap: wrap;
		padding: 12px;
	}

	.cart-page-items .product-item__info {
		flex: 1 1 0;
		min-width: 0;
	}

	.cart-page-items .product-item__side {
		flex-direction: row-reverse;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin-left: 0;
	}

	.cart-page-items .product-item__remove {
		flex: 0 0 43px;
		width: 43px;
		height: 43px;
	}

	.cart-page-items .product-item__remove img {
		width: 15px;
		height: 18px;
	}

	.cart-gift-wrap {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 12px;
	}

	.cart-gift-wrap__info {
		gap: 12px;
	}

	.cart-gift-wrap__info img {
		flex: 0 0 66px;
		width: 66px;
		height: 63px;
		border-radius: var(--radius-tiny);
	}

	.cart-gift-wrap__title {
		font-size: 14px;
		line-height: 17px;
	}

	.cart-gift-wrap__side {
		justify-content: space-between;
		gap: 16px;
	}

	.cart-gift-wrap__price {
		font-size: 14px;
		line-height: 17px;
	}

	.cart-gift-wrap__btn {
		flex: 0 0 43px;
		width: 43px;
		height: 43px;
	}

	.cart-gift-wrap__btn img {
		width: 18px;
		height: 18px;
	}

	.cart-coupon {
		gap: 16px;
		padding: 16px;
		border-radius: var(--radius-mid);
	}

	.cart-coupon__row {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.cart-coupon__row .form-input {
		height: 45px;
		padding: 13px 20px;
	}

	.cart-coupon__row .btn {
		width: 100%;
	}

	.cart-summary {
		gap: 20px;
		padding: 20px;
		border-radius: var(--radius-mid);
	}

	.cart-free-shipping {
		padding-left: 16px;
	}

	.cart-free-shipping__title {
		font-size: 16px;
		line-height: 19px;
	}

	.cart-free-shipping__bar {
		margin-top: 12px;
	}

	.cart-free-shipping img {
		flex: 0 0 90px;
		width: 90px;
		height: 80px;
	}

	.cart-secure__pay img {
		width: 160px;
		height: 30px;
	}

	.cart-secure__methods {
		gap: 16px;
	}

	.cart-upsell {
		padding-bottom: 80px;
	}

	.cart-upsell .one-column {
		gap: 24px;
	}

	.cart-upsell__head {
		gap: 12px;
	}

	.cart-upsell__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.cart-upsell__card {
		gap: 12px;
		padding: 12px;
	}

	.cart-upsell__image {
		flex: 0 0 88px;
		width: 88px;
		height: 88px;
	}

	.cart-upsell__body {
		gap: 12px;
		padding-top: 0;
	}

	.cart-upsell__price {
		font-size: 16px;
		line-height: 19px;
	}
}
/* ===== SECTION: Cart Page - End ===== */
