/**
 * Cart page — Sophia Pro demo parity
 * https://demo-sophia-pro.wpcustomthemes.com/cart/
 */

/* Page background — Sophia Pro demo: gradient-bg-color (deep → light, top 50%) */
body.woocommerce-cart {
	background-color: var(--wp--preset--color--body-background, #fdf6f2) !important;
	position: relative;
}

body.woocommerce-cart::before {
	background-image: var(--wp--preset--gradient--gradient-bg-color) !important;
	content: '';
	display: block;
	height: 50%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.woocommerce-cart .wp-site-blocks,
.woocommerce-cart main {
	--cart-cols: 120px minmax(0, 1fr) minmax(140px, auto) 120px;
	--cart-page-gutter: clamp(24px, 4vw, 56px);
	background: transparent !important;
}

.woocommerce-cart .wp-site-blocks {
	overflow-x: hidden;
}

/* Header sits over gradient like demo */
body.woocommerce-cart .wp-block-header {
	background-color: transparent !important;
}

/* Page gutters — title row + cart block (matches Sophia Pro cart.html) */
.woocommerce-cart main > .wp-block-group.alignfull {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding-bottom: clamp(48px, 5vw, 80px);
	padding-inline: var(--cart-page-gutter);
	width: 100%;
}

.woocommerce-cart .wp-block-inner-page-title,
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 100%;
	padding-inline: 0;
	width: 100%;
}

/* Legacy wrapper from older template sync */
.woocommerce-cart .wp-block-cart-page {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding: 0 var(--cart-page-gutter) clamp(48px, 5vw, 80px);
	width: 100%;
}

.woocommerce-cart .wp-block-inner-page-title {
	margin-bottom: clamp(20px, 3vw, 36px);
	max-width: none;
	padding: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
	margin: 0;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

.woocommerce-cart .wp-block-cart-page .wp-block-cart-header,
.woocommerce-cart .wp-block-inner-page-title .wp-block-cart-header,
.woocommerce-cart .wp-block-cart-page .wp-block-inner-page-title,
.woocommerce-cart .wp-block-inner-page-title .wp-block-post-title,
.woocommerce-cart .wp-block-cart-page .wp-block-post-title,
.woocommerce-cart .wp-block-cart-page .wp-block-post-title h1,
.woocommerce-cart .wp-block-inner-page-title .wp-block-post-title h1 {
	margin-inline: 0 !important;
	max-width: none !important;
	padding-inline: 0 !important;
	width: auto;
}

.woocommerce-cart .wp-block-inner-page-title.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-inline: 0 !important;
	max-width: none !important;
}

/* Title row */
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart main .woocommerce {
	font-family: var(--wp--preset--font-family--merriweather);
	font-size: var(--wp--preset--font-size--huge-post-title);
	max-width: var(--wp--style--global--wide-size);
}

.wp-block-group.alignwide.wp-block-cart-header {
	flex-wrap: wrap;
	gap: 0 2.5rem;
}

.wp-block-cart-header p,
.wp-block-cart-header p.wp-block-cart-subtitle {
	line-height: 1.35;
	margin-top: 0;
	opacity: 0.85;
	padding-left: 35px;
	position: relative;
}

.wp-block-cart-header p::before,
.wp-block-cart-header p.wp-block-cart-subtitle::before {
	background: url(../images/security-icon.svg) no-repeat;
	background-size: 100%;
	content: '';
	display: inline-block;
	height: 32px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
}

@media screen and (min-width: 40.0625em) {
	.woocommerce-cart .wp-block-inner-page-title .wp-block-cart-subtitle {
		margin-top: 0;
	}
}

/* Desktop title row — title + trust line vertically centered */
@media screen and (min-width: 782px) {
	.wp-block-cart-header {
		align-items: center !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0 2.5rem !important;
	}

	.wp-block-cart-header .wp-block-post-title,
	.wp-block-cart-header h1 {
		margin: 0 !important;
	}

	.wp-block-cart-header p,
	.wp-block-cart-header p.wp-block-cart-subtitle {
		align-self: center !important;
		flex: 0 1 auto;
		margin: 0 !important;
	}
}

/* Product names & prices */
.woocommerce-cart .wc-block-components-product-name {
	font-size: var(--wp--preset--font-size--normal);
}

.wc-block-components-product-price {
	display: block;
	font-weight: 500;
}

.wc-block-cart-item__total .wc-block-components-product-price {
	line-height: 1.4;
}

.wc-block-cart .wc-block-components-product-metadata__description p {
	color: var(--wp--preset--color--secondary-text);
	font-size: var(--wp--preset--font-size--medium-small);
}

.wc-block-components-product-badge {
	background-color: var(--wp--preset--color--body-background-deep);
	border: none;
	border-radius: 12px;
	font-weight: normal;
	padding: 2px 10px;
}

.wc-block-components-product-badge span {
	font-weight: 600;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
	border: 1px solid var(--wp--preset--color--tertiary);
	border-radius: 10px;
	overflow: hidden;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	background-color: var(--wp--preset--color--tertiary);
}

.wc-block-components-quantity-selector::after {
	border: none !important;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	padding: 0.3em 0;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:hover,
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
	border: none;
	box-shadow: none;
	outline: none;
}

button.wc-block-components-quantity-selector__button--plus:hover,
button.wc-block-components-quantity-selector__button--plus:focus,
button.wc-block-components-quantity-selector__button--minus:hover,
button.wc-block-components-quantity-selector__button--minus:focus {
	box-shadow: none;
	outline: none;
}

/* Remove item */
button.wc-block-cart-item__remove-link {
	text-decoration: none !important;
}

button.wc-block-cart-item__remove-link:hover {
	color: var(--wp--preset--color--link-color) !important;
}

/* One trash icon only — theme ::before; hide WC Blocks default SVG (duplicate) */
button.wc-block-cart-item__remove-link svg,
.wc-block-cart-item__remove-link .wc-block-components-icon {
	display: none !important;
}

button.wc-block-cart-item__remove-link::before {
	background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%2213%22%20viewBox%3D%220%200%2011%2013%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M6.9375%2010.625C6.82031%2010.625%206.75%2010.5547%206.75%2010.4375V4.0625C6.75%203.96875%206.82031%203.875%206.9375%203.875H7.3125C7.40625%203.875%207.5%203.96875%207.5%204.0625V10.4375C7.5%2010.5547%207.40625%2010.625%207.3125%2010.625H6.9375ZM3.1875%2010.625C3.07031%2010.625%203%2010.5547%203%2010.4375V4.0625C3%203.96875%203.07031%203.875%203.1875%203.875H3.5625C3.65625%203.875%203.75%203.96875%203.75%204.0625V10.4375C3.75%2010.5547%203.65625%2010.625%203.5625%2010.625H3.1875ZM10.3125%202C10.4062%202%2010.5%202.09375%2010.5%202.1875V2.5625C10.5%202.67969%2010.4062%202.75%2010.3125%202.75H9.75V11.375C9.75%2012.0078%209.23438%2012.5%208.625%2012.5H1.875C1.24219%2012.5%200.75%2012.0078%200.75%2011.375V2.75H0.1875C0.0703125%202.75%200%202.67969%200%202.5625V2.1875C0%202.09375%200.0703125%202%200.1875%202H2.625L3.39844%200.96875C3.60938%200.6875%203.9375%200.5%204.3125%200.5H6.1875C6.53906%200.5%206.86719%200.6875%207.07812%200.96875L7.875%202H10.3125ZM4.00781%201.41406L3.5625%202H6.9375L6.46875%201.41406C6.39844%201.32031%206.30469%201.27344%206.1875%201.25H4.3125C4.17188%201.27344%204.07812%201.32031%204.00781%201.41406ZM9%2011.375V2.75H1.5V11.375C1.5%2011.5859%201.66406%2011.75%201.875%2011.75H8.625C8.8125%2011.75%209%2011.5859%209%2011.375ZM5.0625%2010.625C4.94531%2010.625%204.875%2010.5547%204.875%2010.4375V4.0625C4.875%203.96875%204.94531%203.875%205.0625%203.875H5.4375C5.53125%203.875%205.625%203.96875%205.625%204.0625V10.4375C5.625%2010.5547%205.53125%2010.625%205.4375%2010.625H5.0625Z%22%20fill%3D%22black%22/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: inline-block;
	height: 14px;
	margin-right: 7px;
	position: relative;
	top: 2px;
	width: 14px;
}

.woocommerce-cart button.wc-block-cart-item__remove-link {
	font-size: 0;
	line-height: 0;
	min-height: 24px;
	min-width: 24px;
}

/* Two-column layout — matches Sophia Pro demo cart cards */
.woocommerce-cart .wc-block-cart {
	padding-top: 0 !important;
}

.wc-block-cart .wc-block-components-sidebar-layout,
.wc-block-components-sidebar-layout.wc-block-cart {
	align-items: flex-start !important;
	justify-content: space-between;
	margin-bottom: 0 !important;
	max-width: 100%;
	width: 100%;
}

/* Sophia Pro demo: product card (main column) */
.wc-block-components-sidebar-layout .wc-block-components-main {
	align-self: baseline;
	background-color: var(--wp--preset--color--background);
	border-radius: 15px;
	box-shadow: 0 0 40px -10px rgba(111, 111, 111, 0.1);
	box-sizing: border-box;
	overflow: hidden;
}

@media screen and (min-width: 48.875em) {
	.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	.is-large.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main {
		flex: 0 0 60% !important;
		max-width: 60% !important;
		padding-right: 0 !important;
		width: 60% !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.is-large.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		flex: 0 0 35% !important;
		max-width: 35% !important;
		width: 35% !important;
	}
}

.wc-block-cart .wc-block-cart-items tbody {
	background-color: var(--wp--preset--color--background);
}

/* Sophia Pro demo: cart table header bar */
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__header,
.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header {
	background-color: var(--wp--preset--color--table-heading-color, #ebcab7) !important;
	background-image: none !important;
}

.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header > th {
	background-color: transparent !important;
}

.wc-block-cart table.wc-block-cart-items {
	margin: 0;
}

/* Desktop table header only (demo hides header on mobile card layout) */
@media screen and (min-width: 782px) {
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header th:first-child {
		border-top-left-radius: 15px;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items th.wc-block-cart-items__header-total {
		border-top-right-radius: 15px;
	}
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image {
	padding-left: 30px;
	padding-right: 0;
	text-align: left;
	width: 120px;
}

/* Demo: “Product” in first header cell, “Details” hidden, “Total” on the far right */
table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image span {
	opacity: 1;
	text-transform: capitalize;
	visibility: visible;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product,
.wp-block-header .wc-block-mini-cart.wp-block-woocommerce-mini-cart {
	visibility: visible !important;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product span {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-total {
	text-align: right !important;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-total span {
	text-transform: capitalize;
}

/* Desktop: 4 body columns (image / product / quantity / total) but only 3 header cells — place Total in column 4 */
@media screen and (min-width: 782px) {
	.woocommerce-cart table.wc-block-cart-items,
	.woocommerce-cart table.wc-block-cart-items thead,
	.woocommerce-cart table.wc-block-cart-items tbody {
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header,
	.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row {
		align-items: start;
		display: grid !important;
		grid-template-columns: var(--cart-cols) !important;
		width: 100% !important;
	}

	.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__header > th,
	.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td {
		display: block !important;
		float: none !important;
		grid-row: 1;
		max-width: none !important;
		position: static !important;
		width: auto !important;
	}

	.woocommerce-cart table.wc-block-cart-items th.wc-block-cart-items__header-image,
	.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image {
		grid-column: 1;
	}

	.woocommerce-cart table.wc-block-cart-items th.wc-block-cart-items__header-product,
	.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__product {
		grid-column: 2;
	}

	.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__quantity {
		grid-column: 3;
	}

	.woocommerce-cart table.wc-block-cart-items th.wc-block-cart-items__header-total,
	.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total {
		grid-column: 4;
		justify-self: end;
		text-align: right !important;
		white-space: nowrap !important;
	}

	.woocommerce-cart table.wc-block-cart-items th.wc-block-cart-items__header-total {
		padding: 8px 30px 8px 0 !important;
	}
}

.woocommerce-cart .wc-block-components-sidebar-layout.is-large .wc-block-cart-items,
.woocommerce-cart .wc-block-cart__main .wc-block-cart-items,
.is-large.wc-block-cart .wc-block-cart-items {
	border-bottom: none !important;
}

.is-large.wc-block-cart .wc-block-cart-items td {
	padding: 28px 0 28px 30px;
	vertical-align: top;
}

.is-large.wc-block-cart .wc-block-cart-items th {
	font-size: 16px;
	font-weight: 500;
	padding: 8px 16px 8px 0;
	text-transform: capitalize;
	vertical-align: bottom;
}

.is-large.wc-block-cart .wc-block-cart-items td:last-child,
.is-large.wc-block-cart .wc-block-cart-items th:last-child {
	padding-right: 30px;
}

@media screen and (min-width: 48.875em) {
	.woocommerce-cart .wc-block-components-sidebar-layout.is-large .wc-block-cart-items td.wc-block-cart-item__product {
		padding-left: 0;
	}
}

@media screen and (min-width: 782px) {
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link {
		display: inline !important;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td {
		padding: 28px 0 28px 30px;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items th {
		font-size: 16px;
		font-weight: 500;
		padding: 8px 16px 8px 0;
		text-transform: capitalize;
		vertical-align: bottom;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items th.wc-block-cart-items__header-image {
		padding-left: 30px;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image {
		padding-left: 30px;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__product {
		padding-left: 0;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__total,
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items th.wc-block-cart-items__header-total {
		padding-right: 30px !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price,
	.woocommerce-cart .wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		text-align: right;
	}
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
	border: 1px solid var(--wp--preset--color--border-color-light, var(--wp--preset--color--border-color));
	border-radius: 10px;
	height: 60px;
	object-fit: contain;
	width: 60px;
}

@media screen and (max-width: 781px) {
	.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row {
		padding: 16px 20px;
	}
}

/* Sidebar totals — desktop: align with product card top (demo side-by-side) */
@media screen and (min-width: 782px) {
	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-cart .wc-block-cart-totals-block,
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		align-self: flex-start !important;
		margin-top: 0 !important;
	}
}

.wc-block-components-sidebar {
	margin-top: 30px;
	width: 35%;
}

.wc-block-cart .wc-block-components-sidebar {
	align-self: flex-start;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 0 40px -10px rgba(111, 111, 111, 0.1);
	box-sizing: border-box;
	overflow: hidden;
	padding: clamp(30px, 3.5vw, 42px) !important;
	width: 35%;
}

.wc-block-cart .wp-block-woocommerce-cart-totals-block,
.wc-block-cart .wp-block-woocommerce-filled-cart-block {
	margin-top: 0;
	padding-top: 0;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
	display: block !important;
	margin-top: 0;
}

h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
	font-size: var(--wp--preset--font-size--post-title);
	font-weight: 500;
	text-transform: capitalize;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	border-bottom: none;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-weight: 500;
	text-transform: capitalize;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--wp--preset--color--tan-brown);
	font-weight: 600;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
	border-radius: 4px !important;
	margin: 0 !important;
	padding: 10px 15px !important;
}

/* Proceed to checkout — demo: full-width pill on mobile, fixed width on desktop */
.woocommerce-cart a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-container .wp-element-button {
	border-radius: 32px;
	line-height: 1.5;
	min-height: 55px;
	white-space: normal;
	width: 100%;
	writing-mode: horizontal-tb;
}

@media screen and (min-width: 782px) {
	.wc-block-cart .wc-block-cart__submit-container {
		display: flex;
		justify-content: flex-end;
	}

	.woocommerce-cart .wc-block-cart__submit-container .wp-element-button,
	.woocommerce-cart a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button {
		margin-left: auto;
		max-width: 100%;
		width: 360px !important;
	}
}

/* Empty cart */
.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .wp-block-inner-page-title {
	display: none;
}

.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .wp-site-blocks main {
	padding-top: 0;
}

h2.wp-block-heading.has-text-align-center.with-empty-cart-icon.wc-block-cart__empty-cart__title {
	font-size: var(--wp--preset--font-size--extra-large);
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	background-color: currentColor;
	content: '';
	display: block;
	font-size: 20px;
	height: 5em;
	margin: 0 auto 0.2em;
	mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOCIgaGVpZ2h0PSIzOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTkgMEM4LjUwNCAwIDAgOC41MDQgMCAxOXM4LjUwNCAxOSAxOSAxOSAxOS04LjUwNCAxOS0xOVMyOS40OTYgMCAxOSAwWm02LjEyOSAxMi44NzFhMi40NDkgMi40NDkgMCAwIDEgMi40NTIgMi40NTIgMi40NDkgMi40NDkgMCAwIDEtMi40NTIgMi40NTEgMi40NDkgMi40NDkgMCAwIDEtMi40NTItMi40NTEgMi40NDkgMi40NDkgMCAwIDEgMi40NTItMi40NTJaTTExLjY0NSAzMS4yNThjLTIuMDMgMC0zLjY3Ny0xLjYwOS0zLjY3Ny0zLjYgMC0xLjUzMyAyLjE4My00LjYyOCAzLjE4Ny01Ljk2MWEuNjEuNjEgMCAwIDEgLjk4IDBjMS4wMDQgMS4zMzMgMy4xODggNC40MjggMy4xODggNS45NiAwIDEuOTkyLTEuNjQ4IDMuNjAxLTMuNjc4IDMuNjAxWm0xLjIyNi0xMy40ODRhMi40NDkgMi40NDkgMCAwIDEtMi40NTItMi40NTEgMi40NDkgMi40NDkgMCAwIDEgMi40NTItMi40NTIgMi40NDkgMi40NDkgMCAwIDEgMi40NTIgMi40NTIgMi40NDkgMi40NDkgMCAwIDEtMi40NTIgMi40NTFabTEzLjA0IDExLjgxNEE4Ljk4OSA4Ljk4OSAwIDAgMCAxOSAyNi4zNTVjLTEuNjI0IDAtMS42MjQtMi40NTIgMC0yLjQ1MmExMS40IDExLjQgMCAwIDEgOC43ODggNC4xMjJjMS4wNTcgMS4yNTctLjg1OSAyLjc5Ni0xLjg3OCAxLjU2M1oiLz48L3N2Zz4=");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 5em;
	width: 5em;
}

.wp-block-woocommerce-empty-cart-block h2 {
	font-size: var(--wp--preset--font-size--section-title);
	margin-bottom: 21px;
}

@media screen and (min-width: 64em) {
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-cart .wc-block-components-sidebar {
		margin-top: 0 !important;
	}
}

/* Mobile / tablet — Sophia Pro demo card layout
 * https://demo-sophia-pro.wpcustomthemes.com/cart/
 * Fixes WC default 80px+132px grid (132px product column breaks text). */
/* Phone / narrow view — card stack (px breakpoint: stable vs root font-size) */
@media screen and (max-width: 781px) {
	.wc-block-cart .wc-block-components-sidebar-layout {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 0 !important;
		row-gap: 0 !important;
		width: 100%;
	}

	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.wc-block-cart .wc-block-components-sidebar {
		flex: 1 1 100% !important;
		margin-inline: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	/* 15px between product card and totals card (Safari-safe margin, not flex gap) */
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main {
		margin-bottom: 15px !important;
		padding-inline: 0 !important;
		padding-right: 0 !important;
	}

	/* Match product row padding: 16px 20px */
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-cart .wc-block-cart-totals-block,
	.wc-block-cart .wp-block-woocommerce-cart-totals-block {
		box-sizing: border-box !important;
		margin-top: 0 !important;
		padding: 16px 20px !important;
		padding-inline: 20px !important;
	}

	.wc-block-cart .wp-block-woocommerce-cart-order-summary-block,
	.wc-block-cart .wc-block-cart__totals-title,
	.wc-block-cart .wc-block-components-totals-wrapper {
		box-sizing: border-box !important;
		padding-inline: 0 !important;
	}

	.woocommerce-cart table.wc-block-cart-items {
		table-layout: auto !important;
		width: 100% !important;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header {
		display: none !important;
	}

	.woocommerce-cart .is-large .wc-block-cart-items td,
	.woocommerce-cart .is-large .wc-block-cart-items th {
		padding: 0 !important;
	}

	/*
	 * Safari/iOS: grid/flex on <tr> is unreliable — use float + absolute (demo layout).
	 */
	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items,
	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items tbody {
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-items__row {
		box-sizing: border-box !important;
		display: block !important;
		overflow: hidden !important;
		padding: 16px 20px !important;
		position: relative !important;
		width: 100% !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-items__row > td {
		border: 0 !important;
		display: block !important;
		float: none !important;
		max-width: none !important;
		padding: 0 !important;
		width: auto !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-item__image {
		float: left !important;
		margin: 0 16px 8px 0 !important;
		width: 80px !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-item__product {
		display: block !important;
		overflow: hidden !important;
		padding-right: 4.5rem !important;
		width: auto !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-item__total {
		position: absolute !important;
		right: 20px !important;
		top: 16px !important;
		width: auto !important;
	}

	.woocommerce-cart .wc-block-cart-item__wrap {
		align-items: flex-start !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 6px !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
		display: block !important;
		font-size: var(--wp--preset--font-size--normal, 1rem) !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		overflow-wrap: normal !important;
		white-space: normal !important;
		word-break: normal !important;
	}

	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description,
	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price {
		display: block !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description {
		color: var(--wp--preset--color--body-text, #4a4a4a) !important;
		font-size: var(--wp--preset--font-size--body-small, 0.875rem) !important;
		line-height: 1.45 !important;
		margin-top: 2px !important;
	}

	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price {
		margin-top: 2px !important;
	}

	.woocommerce-cart .wc-block-cart .wc-block-components-main table.wc-block-cart-items .wc-block-cart-item__quantity {
		align-items: center !important;
		clear: both !important;
		display: -webkit-flex !important;
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 12px !important;
		padding-top: 12px !important;
		width: 100% !important;
	}

	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price,
	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
	.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description {
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
		width: 100% !important;
	}

	.woocommerce-cart .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		display: inline-flex !important;
		margin-inline-start: auto !important;
	}

	.woocommerce-cart .is-small table.wc-block-cart-items .wc-block-cart-items__row:first-child,
	.woocommerce-cart .is-mobile table.wc-block-cart-items .wc-block-cart-items__row:first-child,
	.woocommerce-cart .is-large table.wc-block-cart-items .wc-block-cart-items__row:first-child {
		border-top-left-radius: 15px;
		border-top-right-radius: 15px;
	}

	.woocommerce-cart .is-small table.wc-block-cart-items .wc-block-cart-items__row:last-child,
	.woocommerce-cart .is-mobile table.wc-block-cart-items .wc-block-cart-items__row:last-child,
	.woocommerce-cart .is-large table.wc-block-cart-items .wc-block-cart-items__row:last-child {
		border-bottom-left-radius: 15px;
		border-bottom-right-radius: 15px;
	}

	.wc-block-cart .wc-block-cart__submit-container {
		justify-content: stretch !important;
		width: 100%;
	}

	.woocommerce-cart a.wc-block-cart__submit-button,
	.woocommerce-cart .wc-block-cart__submit-container .wp-element-button {
		margin-inline: 0 !important;
		max-width: none !important;
		width: 100% !important;
	}
}

@container (max-width: 699px) {
	.wc-block-cart .wc-block-components-sidebar-layout {
		flex-direction: column !important;
		gap: 0 !important;
		row-gap: 0 !important;
	}

	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main {
		margin-bottom: 15px !important;
		width: 100% !important;
	}

	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		margin-top: 0 !important;
		padding: 16px 20px !important;
		padding-inline: 20px !important;
		width: 100% !important;
	}
}

@media screen and (max-width: 40em) {
	.wp-block-inner-page-title .wp-block-cart-header {
		align-items: flex-start;
		flex-direction: column;
		flex-wrap: wrap !important;
		gap: 0.75rem !important;
	}

	.wp-block-cart-header .wp-block-post-title,
	.wp-block-cart-header h1 {
		font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
		line-height: 1.2 !important;
		width: 100%;
	}

	.wp-block-cart-header p,
	.wp-block-cart-header p.wp-block-cart-subtitle {
		padding-left: 35px;
		width: 100%;
	}
}

/* Cross-sells below cart (filled cart) */
.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block {
	margin-top: clamp(24px, 4vw, 42px);
}

.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
	font-family: var(--wp--preset--font-family--merriweather);
	font-size: var(--wp--preset--font-size--section-title-medium, 1.625rem);
	font-weight: 500;
	margin-bottom: 1rem;
}

/* --- Empty cart (Sophia Pro demo /cart/) --- */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size, 1320px);
	padding-bottom: clamp(42px, 6vw, 72px);
	padding-left: var(--cart-page-gutter, clamp(24px, 4vw, 56px));
	padding-right: var(--cart-page-gutter, clamp(24px, 4vw, 56px));
	width: 100%;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title) {
	font-family: var(--wp--preset--font-family--merriweather, Georgia, serif);
	font-size: var(--wp--preset--font-size--section-title, 1.75rem);
	font-weight: 500;
	margin-bottom: 1.25rem;
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .has-text-align-center a {
	color: var(--wp--preset--color--text-link);
	font-weight: var(--wp--custom--font-weight--medium);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
	margin: clamp(1.5rem, 4vw, 2.5rem) auto;
	max-width: 12rem;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products .wc-block-grid__product {
	background: var(--wp--preset--color--background, #fff);
	border: 0.5px solid #eedcd0;
	border-radius: 10px;
	box-sizing: border-box;
	list-style: none;
	overflow: hidden;
	padding-bottom: 65px !important;
	position: relative;
	text-align: left;
	transition: box-shadow 0.4s ease;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products .wc-block-grid__product:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products .wc-block-grid__product:focus-within {
	box-shadow: rgba(17, 12, 46, 0.15) 0 20px 50px 0;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
	outline: none;
	text-decoration: none;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 21px !important;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	object-fit: contain;
	transition: transform 0.4s ease;
	width: auto;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img {
	transform: scale(1.05);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-onsale {
	background-color: var(--wp--preset--color--primary, var(--wp--preset--color--peach-puff));
	border: none;
	border-radius: 10px;
	color: var(--wp--preset--color--foreground);
	font-weight: 400;
	left: 15px !important;
	padding: 4px 10px;
	position: absolute;
	right: auto !important;
	text-transform: capitalize;
	top: 20px !important;
	z-index: 5;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	font-weight: var(--wp--custom--font-weight--medium);
	margin: 0 0 12px;
	text-align: left;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price del {
	color: var(--wp--preset--color--secondary-text, #888);
	opacity: 0.85;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins {
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),
.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 500;
	margin: 0 0 12px;
}

.wp-block-product-new .wc-block-grid__product .wc-block-grid__product-price,
.woocommerce-cart .wc-block-product-new .wc-block-grid__product-price {
	font-size: 18px;
	margin: 0 auto 12px;
	padding: 0 25px;
}

.wp-block-product-new .wc-block-grid__product .wc-block-grid__product-title,
.woocommerce-cart .wp-block-product-new .wc-block-grid__product-title {
	padding: 0 25px;
}

.wp-block-product-new.wp-block-woocommerce-product-new li.wc-block-grid__product,
.woocommerce-cart .wc-block-product-new li.wc-block-grid__product {
	position: relative;
	text-align: left;
}

.wp-block-product-new.wp-block-woocommerce-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart,
.woocommerce-cart .wc-block-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
	bottom: 0;
	margin: 0;
	position: absolute;
	width: 100%;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-product-new.wp-block-woocommerce-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart a,
.woocommerce-cart .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart a {
	background-color: var(--wp--preset--color--button-color) !important;
	border: 1px solid var(--wp--preset--color--button-color) !important;
	border-radius: 0 !important;
	box-sizing: border-box;
	color: var(--wp--preset--color--light) !important;
	display: block;
	font-size: 15px !important;
	height: 50px;
	line-height: 50px;
	margin: 0 !important;
	padding: 0 1rem !important;
	text-align: center;
	text-transform: capitalize;
	width: 100%;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus,
.wp-block-product-new.wp-block-woocommerce-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart a:hover,
.woocommerce-cart .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-add-to-cart a:hover {
	background-color: var(--wp--preset--color--chocolate-dim) !important;
	border-color: var(--wp--preset--color--chocolate-dim) !important;
	color: var(--wp--preset--color--light) !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__products,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products,
.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__products,
.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__products {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product,
.woocommerce-cart .wc-block-grid.has-3-columns .wc-block-grid__product,
.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product {
	flex: 1 1 100%;
	max-width: 100%;
	padding: 0;
}

@media screen and (min-width: 30em) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product,
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product {
		flex: 1 0 calc(50% - 0.5rem);
		max-width: calc(50% - 0.5rem);
	}
}

@media screen and (min-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__products {
		gap: 2rem 1.5rem;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-3-columns .wc-block-grid__product,
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product {
		flex: 1 0 calc(33.333% - 1rem);
		max-width: calc(33.333% - 1rem);
	}
}

/* --- Mobile cart line items (filled cart) --- */
@media screen and (max-width: 37.5em) {
	.woocommerce-cart .wc-block-components-product-name {
		font-size: var(--wp--preset--font-size--body-default);
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title) {
		font-size: var(--wp--preset--font-size--section-title-medium, 1.625rem);
		margin-top: 1.5rem;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .has-text-align-center a {
		display: inline-block;
		margin-bottom: 0.5rem;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
		font-size: 14px !important;
	}
}

@media screen and (max-width: 48em) {
	.woocommerce-cart .wp-block-inner-page-title,
	.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
		--cart-page-gutter: var(--wp--preset--spacing--24, 24px);
	}
}

