:root :where(.wp-block-woocommerce-cart) {

	table.wc-block-cart-items {
		margin: 0;
		border-bottom: none;

		.wc-block-cart-items__header {

			th {
				padding: 20px 0 24px 0;

				text-transform: none;
				font-size: 16px;
				font-weight: 400;
				line-height: 24px; /* 150% */

				&.wc-block-cart-items__header-image {
					text-align: left;
				}
			}
		}

		td {
			padding: 32px 0;
			border-top: none;
			margin: 0;

			&.wc-block-cart-item__product {
				padding-left: 24px;
			}
		}

		tr td {
			border-top: 1px solid  var(--wp--preset--color--slate-200);
		}

		.wc-block-components-product-name {
			color: var(--wp--preset--color--slate-800);
			font-size: 16px;
			font-weight: 525;
			line-height: 24px;
			text-decoration: none;
			padding-top: 8px;
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 1;

		}

		.wc-block-cart-item__prices {

			.wc-block-components-product-price {
				color: var(--wp--preset--color--slate-800);
				font-weight: 525;
				display: flex;
				gap: 10px;

				del {
					color: var(--wp--preset--color--slate-500);
					order: 2;
					font-size: 14px;
				}

				ins {
					margin-left: 0;
					color: var(--wp--preset--color--red-600);
					order: 1;
				}
			}
		}

		.wc-block-cart-items__row {

			.wc-block-components-quantity-selector,
			.wc-block-cart-item__wrap > * {
				margin: 0;
			}

			.wc-block-components-quantity-selector {
				padding: 4px 6px 4px 6px;
				border-radius: 9px;
				width: 96px;
				gap: 2px;
				border: 2px solid var(--wp--preset--color--slate-200);

				.wc-block-components-quantity-selector__input {
					padding: 0;
					min-width: 0;
					font-size: 12px;
					min-height: 10px;
					font-weight: 500;
					line-height: 16px;
					color: var(--wp--preset--color--slate-700);

				}

				.wc-block-components-quantity-selector__button {
					display: flex;
					min-width: 14px;
					justify-content: center;
					align-items: center;
					padding: 0;
					border-radius: 9px 0 0 9px;
					opacity: 1;
				}

				.wc-block-components-quantity-selector__input,
				.wc-block-components-quantity-selector__button {

					&:focus {
						box-shadow: none;
					}
				}

				&::after {
					border: 0;
				}
			}

			.wc-block-cart-item__quantity {
				display: flex;
				gap: 14px;
				flex-direction: column;
				align-self: start;

				.wc-block-cart-item__remove-link {
					font-size: 14px;
					font-weight: 525;
					line-height: 20px;
					color: var(--wp--preset--color--slate-700);
					text-underline-offset: 5px;
				}
			}

			.wc-block-cart-item__wrap {
				display: flex;
				flex-direction: column;
				gap: 10px;

				> *:empty {
					display: none;
				}

				.wc-block-components-product-badge {
					width: fit-content;
					font-size: 12px;
					font-weight: 525;
					padding: 4px 14px;
					background-color: var(--wp--preset--color--green-700);
					border-radius: 100px;
					color: var(--wp--preset--color--white);
					text-transform: capitalize;
				}
			}

			.wc-block-cart-item__image {

				a {
					display: block;
					background-color: var(--wp--preset--color--slate-100);
					padding: 16px;
					width: 72px;
					height: 72px;
					border-radius: 16px;
				}

				img {
					border-radius: 16px;
					aspect-ratio: 1;
				}
			}

			.wc-block-cart-item__total {

				.wc-block-components-product-price {
					color: var(--wp--preset--color--slate-800);
					font-size: 16px;
					font-weight: 525;
					padding-top: 8px;
				}

				.wc-block-components-product-badge {
					padding: 0 0.5em;
				}
			}
		}
	}

	.wp-block-woocommerce-cart-totals-block {
		padding: 20px;
		background-color: var(--wp--preset--color--slate-50);
		border-radius: 24px;
		display: flex;
		flex-direction: column;
		gap: 24px;


		.wc-block-cart__payment-options:empty {
			display: none;
		}

		.wc-block-cart__totals-title {
			padding: 0;
			text-transform: none;
			color: var(--wp--preset--color--stone-950);
			font-size: 24px;
			font-weight: 600;
			line-height: 32px;
			margin-bottom: 8px;
		}

		.wc-block-components-totals-wrapper,
		.wp-block-woocommerce-cart-order-summary-totals-block {
			border-top: none;
			padding: 0;
		}

		.wp-block-woocommerce-cart-order-summary-totals-block {
			margin: 0;
			display: flex;
			flex-direction: column;
			gap: 16px;

			.wc-block-components-formatted-money-amount {
				font-weight: 700;
			}
		}

		.wp-block-woocommerce-cart-order-summary-totals-block:not(:has(*)),
		.wp-block-woocommerce-cart-order-summary-totals-block:empty {
			display: none;
		}

		.wp-block-woocommerce-cart-order-summary-block {
			border-bottom: none;
			margin: 0;
			display: flex;
			flex-direction: column;
			gap: 24px;
		}

		.wc-block-components-totals-footer-item {

			.wc-block-components-totals-item__label,
			.wc-block-components-totals-item__value {
				color: var(--wp--preset--color--slate-800);
				font-weight: 525;
			}

			.wc-block-components-totals-item__label {
				font-size: 18px;
				line-height: 28px;
				display: flex;
				justify-content: space-between;
			}

			.wc-block-components-totals-item__value {
				font-size: 20px;
				line-height: 28px;
				font-weight: 600;
			}
		}

		.wc-block-components-totals-item__description:not(:empty) {
			margin-top: 8px;
		}

		.wc-block-components-totals-coupon {

			.wc-block-components-panel__button {
				font-size: 18px;
				font-weight: 500;
				line-height: 28px;
				margin-bottom: 20px;
			}

			.wc-block-components-totals-coupon__form {
				display: flex;
				flex-direction: column;
				gap: 12px;

				.wc-block-components-totals-coupon__input {
					flex: none;

					label {
						left: 16px;
						font-size: 14px;
					}

					input {
						border-radius: 12px !important;
						border: 2px solid var(--wp--preset--color--slate-200);
						color: var(--wp--preset--color--slate-700);
						background-color: #fff;
						outline: 0;
						padding-left: 15px;

						&:focus {
							box-shadow: none;
						}
					}
				}

				.wc-block-components-totals-coupon__button {
					background-color: var(--wp--preset--color--slate-100);
					color: var(--wp--preset--color--slate-700);
					border-radius: 12px;
					border: 2px solid var(--wp--preset--color--slate-200);
					font-size: 14px;
					font-weight: 525;
					line-height: 20px;
					padding: 10px 20px;
				}

			}
		}
	}

	.wc-block-components-button__text {
		font-size: 14px;
		font-weight: 525;
		line-height: 20px; /* 142.857% */
	}

	.wc-block-cart__submit-button {
		padding: 12px 20px;

	}

	.wc-block-components-main {
		padding-right: 0;
		width: 100%;
	}
}


.wc-block-components-sidebar-layout {
	align-items: flex-start;
	justify-content: space-between;
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--24);
	row-gap: 32px;
}

.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .block-editor-block-list__layout {
	justify-content: space-between;
}

.wc-block-cart__submit {
	margin-bottom: 0;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon {

	&::before {
		background-image: url("../../../../assets/images/banners/empty-cart.webp");
		margin-bottom: var(--wp--preset--spacing--14);
		width: 189px;
		height: 195px;
		aspect-ratio: 63/65;
		mask-image: none;
		background-color: transparent;
		background-repeat: no-repeat;
	}
}

.is-mobile,
.is-medium,
.is-small {

	table.wc-block-cart-items {

		.wc-block-cart-items__row {

			td.wc-block-cart-item__product {
				padding-top: 32px;
			}
		}
	}
}

@media (max-width: 1023px) {

	.wc-block-components-sidebar {
		width: 100%;
	}

	.wc-block-cart-item__image {

		a {
			padding: 8px !important;
			width: 55px !important;
			height: 55px !important;
		}
	}
}

@media ( min-width: 768px) {

	:root :where(.wp-block-woocommerce-cart) {

		table.wc-block-cart-items {

			.wc-block-cart-item__prices {

				.wc-block-components-product-price {
					font-size: 18px;
					line-height: 28px;
				}
			}

			.wc-block-cart-items__row {

				.wc-block-cart-item__quantity {
					flex-direction: row;
					gap: 24px;
					align-items: center;
				}

				.wc-block-cart-item__total {
					padding-right: 0;

					.wc-block-components-product-price {
						padding-top: 8px;
						font-size: 16px;
						font-weight: 525;
						line-height: 24px;
						color: var(--wp--preset--color--slate-800);


					}
				}
			}
		}

		.wp-block-woocommerce-cart-totals-block {
			padding: 48px;
		}
	}
}

@media (min-width: 1024px) {

	.wc-block-components-sidebar-layout {

		.wc-block-components-main {
			width: 57.56%;
		}

		.wp-block-woocommerce-cart-totals-block {
			max-width: 416px;
		}
	}
}

.woocommerce-cart {

	.wp-block-post-title.alignwide,
	main .woocommerce.alignwide {
		max-width: var(--wp--style--global--wide-size);
	}

	.wp-site-blocks:has(.wp-block-woocommerce-empty-cart-block) .wp-block-post-title {
		display: none;
	}
}
