/* =========================================================
   GARDEN OF ABI — ELEMENTOR PRO CART
   Scope: outer Elementor container class .goa-cart-page
========================================================= */

.goa-cart-page {
	--goa-paper: #fafaf8;
	--goa-panel: #f5f2eb;
	--goa-ink: #111111;
	--goa-muted: #8b8983;
	--goa-line: rgba(17, 17, 17, 0.14);
	--goa-green: #2b4b3a;
	--goa-ground: #eaf3de;
	--goa-grow: #f5ead8;
	--goa-glow: #fbeaf0;
	--goa-serif: "Cormorant Infant", Georgia, serif;
	--goa-sans: "Quicksand", Arial, sans-serif;

	width: 100%;
	padding: 72px 40px 105px !important;
	background: var(--goa-paper);
	overflow: visible !important;
}

.goa-cart-page > .e-con-inner {
	width: 100%;
	max-width: 1200px !important;
	margin-inline: auto;
}

/* ---------------------------------------------------------
   PAGE INTRO BUILT IN ELEMENTOR
--------------------------------------------------------- */

.goa-cart-page .goa-cart-kicker {
	margin: 0 0 20px !important;
	text-align: center;
}

.goa-cart-page .goa-cart-kicker,
.goa-cart-page .goa-cart-kicker * {
	color: var(--goa-muted) !important;
	font-family: var(--goa-sans) !important;
	font-size: 8px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
}

.goa-cart-page .goa-cart-title {
	margin: 0 0 76px !important;
	text-align: center;
}

.goa-cart-page .goa-cart-title .elementor-heading-title {
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: clamp(52px, 4.3vw, 70px) !important;
	font-weight: 400 !important;
	line-height: 0.96 !important;
	letter-spacing: -0.035em !important;
	text-transform: none !important;
}

.goa-cart-page .goa-cart-title em,
.goa-cart-page .goa-cart-title i {
	font-weight: 400 !important;
	font-style: italic !important;
}

/* ---------------------------------------------------------
   GLOBAL CART RESET
--------------------------------------------------------- */

.goa-cart-page .goa-cart-widget,
.goa-cart-page .goa-cart-widget .woocommerce,
.goa-cart-page .elementor-widget-woocommerce-cart,
.goa-cart-page .elementor-widget-woocommerce-cart .woocommerce {
	width: 100%;
	color: var(--goa-ink);
	font-family: var(--goa-sans);
}

.goa-cart-page .goa-cart-widget *,
.goa-cart-page .elementor-widget-woocommerce-cart * {
	box-sizing: border-box;
}

.goa-cart-page .e-cart__container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 370px !important;
	align-items: start !important;
	gap: clamp(58px, 7vw, 92px) !important;
	width: 100% !important;
}

.goa-cart-page .e-cart__column,
.goa-cart-page .e-cart__column-start,
.goa-cart-page .e-cart__column-end,
.goa-cart-page .e-cart__column-inner,
.goa-cart-page .e-cart-section,
.goa-cart-page .e-shop-table,
.goa-cart-page .e-cart-totals,
.goa-cart-page .cart-collaterals,
.goa-cart-page .cart_totals {
	min-width: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.goa-cart-page .e-cart__column-start,
.goa-cart-page .e-cart__column-start .e-cart-section,
.goa-cart-page .e-shop-table {
	padding: 0 !important;
	background: transparent !important;
}

.goa-cart-page .e-cart__column-end {
	padding: 0 !important;
	background: var(--goa-panel) !important;
}

.goa-cart-page .e-cart__column-end .e-cart__column-inner,
.goa-cart-page .e-cart__column-end .e-cart-section,
.goa-cart-page .e-cart__column-end .e-cart-totals,
.goa-cart-page .e-cart__column-end .cart_totals {
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
}

.goa-cart-page .e-cart__column-end .e-cart__column-inner {
	padding: 47px 40px 41px !important;
}

/* ---------------------------------------------------------
   PRODUCT TABLE
--------------------------------------------------------- */

.goa-cart-page form.woocommerce-cart-form,
.goa-cart-page table.woocommerce-cart-form__contents {
	width: 100% !important;
	margin: 0 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents {
	border: 0 !important;
	border-collapse: collapse !important;
	background: transparent !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead,
.goa-cart-page table.woocommerce-cart-form__contents tbody {
	display: block !important;
	width: 100% !important;
}

.goa-cart-page table.woocommerce-cart-form__contents th,
.goa-cart-page table.woocommerce-cart-form__contents td {
	border: 0 !important;
	background: transparent !important;
}

/* Header */

.goa-cart-page table.woocommerce-cart-form__contents thead tr {
	display: grid !important;
	grid-template-columns: 118px minmax(0, 1fr) 108px 92px;
	column-gap: 25px;
	width: 100%;
	padding: 0 0 18px !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead th {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	color: var(--goa-muted) !important;
	font-family: var(--goa-sans) !important;
	font-size: 8px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead .product-remove,
.goa-cart-page table.woocommerce-cart-form__contents thead .product-thumbnail,
.goa-cart-page table.woocommerce-cart-form__contents thead .product-price {
	display: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead .product-name {
	grid-column: 1 / 3;
	text-align: left !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead .product-quantity {
	grid-column: 3;
	text-align: center !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead .product-subtotal {
	grid-column: 4;
	text-align: right !important;
}

/* Dynamic product rows */

.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
	display: grid !important;
	grid-template-columns: 118px minmax(0, 1fr) 108px 92px;
	grid-template-rows: 1fr auto;
	column-gap: 25px;
	width: 100%;
	min-height: 190px;
	padding: 28px 0 !important;
	border: 0 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item + tr.cart_item {
	margin-top: 5px;
}

.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item > td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Hide default standalone unit price completely */

.goa-cart-page table.woocommerce-cart-form__contents .product-price {
	display: none !important;
}

/* Product image */

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail {
	grid-column: 1;
	grid-row: 1 / 3;
	align-self: center;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail a {
	display: block;
	width: 100%;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail img {
	display: block !important;
	width: 118px !important;
	height: 150px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	border: 0 !important;
	border-radius: 0 !important;
}

/* Product name and metadata */

.goa-cart-page table.woocommerce-cart-form__contents td.product-name {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: center;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 8px !important;
	text-align: left !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-name::before {
	display: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-name > a {
	order: 2;
	display: block;
	margin: 0 0 10px !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: 23px !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.018em !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-name > a:hover {
	opacity: 0.62;
}

.goa-cart-page .goa-cart-eyebrow {
	order: 1;
	display: block;
	margin: 0 0 9px;
	color: var(--goa-muted);
	font-family: var(--goa-sans);
	font-size: 7px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.goa-cart-page .goa-cart-cycle {
	order: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
	margin: 0;
	padding: 4px 9px 3px;
	color: var(--goa-green);
	background: var(--goa-ground);
	font-family: var(--goa-sans);
	font-size: 7px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.goa-cart-page .goa-cart-cycle--grow {
	background: var(--goa-grow);
}

.goa-cart-page .goa-cart-cycle--glow {
	background: var(--goa-glow);
}

.goa-cart-page td.product-name dl.variation,
.goa-cart-page td.product-name .variation {
	order: 4;
	display: flex !important;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 9px 0 0 !important;
	color: var(--goa-muted) !important;
	font-family: var(--goa-sans) !important;
	font-size: 8px !important;
	line-height: 1.55 !important;
}

.goa-cart-page td.product-name dl.variation dt,
.goa-cart-page td.product-name dl.variation dd {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.goa-cart-page td.product-name dl.variation dt {
	font-weight: 500 !important;
}

.goa-cart-page td.product-name dl.variation p {
	margin: 0 !important;
}

/* Quantity */

.goa-cart-page table.woocommerce-cart-form__contents td.product-quantity {
	grid-column: 3;
	grid-row: 1;
	align-self: center;
	justify-self: center;
	text-align: center !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-quantity::before {
	display: none !important;
}

.goa-cart-page .quantity {
	display: grid !important;
	grid-template-columns: 32px 40px 32px;
	align-items: center;
	justify-content: center;
	width: 104px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.goa-cart-page .quantity .goa-qty-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-sans) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.goa-cart-page .quantity .goa-qty-button:hover {
	background: rgba(17, 17, 17, 0.045) !important;
}

.goa-cart-page .quantity input.qty {
	display: block !important;
	width: 40px !important;
	min-width: 40px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-sans) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	line-height: 38px !important;
	text-align: center !important;
	box-shadow: none !important;
	appearance: textfield !important;
	-moz-appearance: textfield !important;
}

.goa-cart-page .quantity input.qty::-webkit-inner-spin-button,
.goa-cart-page .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

/* Remove */

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove {
	grid-column: 3;
	grid-row: 2;
	align-self: start;
	justify-self: center;
	padding-top: 8px !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove::before {
	display: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove a.remove {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--goa-muted) !important;
	font-size: 0 !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove a.remove::after {
	content: "REMOVE";
	font-family: var(--goa-sans);
	font-size: 7px;
	font-weight: 400;
	letter-spacing: 0.14em;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove a.remove:hover {
	color: var(--goa-ink) !important;
}

/* Product line total */

.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal {
	grid-column: 4;
	grid-row: 1 / 3;
	align-self: center;
	justify-self: end;
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: right !important;
	white-space: nowrap;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal::before {
	display: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal .amount,
.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal bdi {
	color: inherit !important;
	font: inherit !important;
}

/* Action row: coupon is moved into Summary with JS */

.goa-cart-page table.woocommerce-cart-form__contents tr:not(.cart_item) td.actions {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.goa-cart-page button[name="update_cart"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ---------------------------------------------------------
   SUMMARY PANEL
--------------------------------------------------------- */

.goa-cart-page .cart_totals {
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
}

.goa-cart-page .cart_totals h2 {
	order: 1;
	margin: 0 0 29px !important;
	padding: 0 !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.015em !important;
	text-align: left !important;
	text-transform: none !important;
}

.goa-cart-page .cart_totals table.shop_table {
	order: 2;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	background: transparent !important;
}

.goa-cart-page .cart_totals table.shop_table tbody {
	display: block !important;
	width: 100% !important;
}

.goa-cart-page .cart_totals table.shop_table tr {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 10px 0 !important;
	border: 0 !important;
}

.goa-cart-page .cart_totals table.shop_table th,
.goa-cart-page .cart_totals table.shop_table td {
	display: block !important;
	width: auto !important;
	max-width: 66%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--goa-sans) !important;
	font-size: 9px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

.goa-cart-page .cart_totals table.shop_table th {
	color: var(--goa-muted) !important;
	text-align: left !important;
}

.goa-cart-page .cart_totals table.shop_table td {
	color: var(--goa-ink) !important;
	text-align: right !important;
}

.goa-cart-page .cart_totals table.shop_table td *,
.goa-cart-page .cart_totals table.shop_table td .amount,
.goa-cart-page .cart_totals table.shop_table td bdi {
	color: inherit !important;
	font: inherit !important;
}

/* JS creates a clean total row after coupon */

.goa-cart-page .cart_totals tr.goa-original-total,
.goa-cart-page .cart_totals tr.order-total.goa-original-total {
	display: none !important;
}

.goa-cart-page .goa-summary-total {
	order: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin: 2px 0 26px;
	padding: 24px 0 0;
	border-top: 1px solid var(--goa-line);
}

.goa-cart-page .goa-summary-total__label {
	color: var(--goa-ink);
	font-family: var(--goa-sans);
	font-size: 8px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.goa-cart-page .goa-summary-total__value,
.goa-cart-page .goa-summary-total__value *,
.goa-cart-page .goa-summary-total__value .amount,
.goa-cart-page .goa-summary-total__value bdi {
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	white-space: nowrap;
}

/* Coupon moved from product form to Summary */

.goa-cart-page .goa-summary-coupon {
	order: 3;
	width: 100% !important;
	margin: 24px 0 27px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon > h3,
.goa-cart-page .goa-summary-coupon .e-cart-section-title {
	display: none !important;
}

.goa-cart-page .goa-summary-coupon .coupon,
.goa-cart-page .coupon.goa-summary-coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 67px;
	gap: 8px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.goa-cart-page .goa-summary-coupon .coupon label,
.goa-cart-page .coupon.goa-summary-coupon label {
	display: none !important;
}

.goa-cart-page .goa-summary-coupon input#coupon_code,
.goa-cart-page .coupon.goa-summary-coupon input#coupon_code {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 13px !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-sans) !important;
	font-size: 7px !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon button[name="apply_coupon"],
.goa-cart-page .coupon.goa-summary-coupon button[name="apply_coupon"] {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 67px !important;
	min-width: 67px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 8px !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-sans) !important;
	font-size: 7px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon button[name="apply_coupon"]:hover,
.goa-cart-page .coupon.goa-summary-coupon button[name="apply_coupon"]:hover {
	border-color: var(--goa-ink) !important;
	background: var(--goa-ink) !important;
	color: #fff !important;
}

/* Checkout */

.goa-cart-page .cart_totals .wc-proceed-to-checkout {
	order: 5;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.goa-cart-page .cart_totals .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 49px !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 1px solid var(--goa-ink) !important;
	border-radius: 0 !important;
	background: var(--goa-ink) !important;
	color: #fff !important;
	font-family: var(--goa-sans) !important;
	font-size: 8px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.15em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.goa-cart-page .cart_totals .checkout-button:hover {
	border-color: var(--goa-green) !important;
	background: var(--goa-green) !important;
	color: #fff !important;
}

.goa-cart-page .goa-cart-summary-note {
	order: 6;
	margin: 13px auto 0;
	color: var(--goa-muted);
	font-family: var(--goa-sans);
	font-size: 7px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
}

.goa-cart-page .goa-continue-shopping {
	order: 7;
	display: block;
	margin: 17px auto 0;
	color: var(--goa-muted) !important;
	font-family: var(--goa-sans);
	font-size: 7px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
}

.goa-cart-page .goa-continue-shopping:hover {
	color: var(--goa-ink) !important;
}

/* Notices */

.goa-cart-page .woocommerce-notices-wrapper {
	margin: 0 0 28px;
}

.goa-cart-page .woocommerce-message,
.goa-cart-page .woocommerce-error,
.goa-cart-page .woocommerce-info {
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: var(--goa-sans) !important;
	font-size: 11px !important;
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 1024px) {
	.goa-cart-page {
		padding: 58px 28px 85px !important;
	}

	.goa-cart-page .goa-cart-title {
		margin-bottom: 56px !important;
	}

	.goa-cart-page .e-cart__container {
		grid-template-columns: minmax(0, 1fr) 330px !important;
		gap: 42px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents thead tr,
	.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
		grid-template-columns: 98px minmax(0, 1fr) 100px 76px;
		column-gap: 18px;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail img {
		width: 98px !important;
		height: 128px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-name > a {
		font-size: 20px !important;
	}

	.goa-cart-page .e-cart__column-end .e-cart__column-inner {
		padding: 38px 28px 34px !important;
	}
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
	.goa-cart-page {
		padding: 40px 18px 65px !important;
	}

	.goa-cart-page .goa-cart-kicker {
		margin-bottom: 15px !important;
	}

	.goa-cart-page .goa-cart-title {
		margin-bottom: 40px !important;
	}

	.goa-cart-page .goa-cart-title .elementor-heading-title {
		font-size: 49px !important;
	}

	.goa-cart-page .e-cart__container {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 36px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents thead {
		display: none !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
		grid-template-columns: 88px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 15px;
		row-gap: 11px;
		min-height: 0;
		padding: 22px 0 !important;
		border-bottom: 1px solid var(--goa-line) !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item:first-child {
		padding-top: 0 !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / 4;
		align-self: start;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail img {
		width: 88px !important;
		height: 116px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-name {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-name > a {
		margin-bottom: 8px !important;
		font-size: 19px !important;
	}

	.goa-cart-page .goa-cart-eyebrow {
		margin-bottom: 6px;
		font-size: 6.5px;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		justify-self: start;
		font-size: 19px !important;
		text-align: left !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-quantity {
		grid-column: 2;
		grid-row: 3;
		align-self: center;
		justify-self: start;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-remove {
		grid-column: 2;
		grid-row: 3;
		align-self: center;
		justify-self: end;
		padding-top: 0 !important;
	}

	.goa-cart-page .quantity {
		grid-template-columns: 30px 38px 30px;
		width: 98px !important;
		height: 38px !important;
	}

	.goa-cart-page .quantity .goa-qty-button {
		width: 30px !important;
		height: 36px !important;
	}

	.goa-cart-page .quantity input.qty {
		width: 38px !important;
		min-width: 38px !important;
		height: 36px !important;
		line-height: 36px !important;
	}

	.goa-cart-page .e-cart__column-end .e-cart__column-inner {
		padding: 34px 25px 31px !important;
	}

	.goa-cart-page .cart_totals h2 {
		font-size: 26px !important;
	}
}

/* =========================================================
   GOA CART 1.1.1 — ELEMENTOR MARKUP CORRECTIONS
========================================================= */

/*
 * WooCommerce/Elementor can print a second unit price underneath the image.
 * The client design uses only the far-right line total.
 */
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail::before,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail::after {
	display: none !important;
	content: none !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail > *:not(a),
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail > a + *,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail .product-price,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail .price,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail .amount,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail .woocommerce-Price-amount,
.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail .e-cart__product-price,
.goa-cart-page .goa-thumbnail-extra {
	display: none !important;
}

/*
 * Elementor versions can wrap the product title. Do not require the link to
 * be a direct child of td.product-name.
 */
.goa-cart-page table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
	color: var(--goa-ink) !important;
	font-family: var(--goa-serif) !important;
	font-size: 23px !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.018em !important;
	text-decoration: none !important;
	text-transform: none !important;
}

/*
 * The JavaScript physically places the eyebrow before the title. These rules
 * remove the old flex-order dependency.
 */
.goa-cart-page .goa-cart-eyebrow {
	order: initial !important;
	display: block !important;
	width: 100%;
	margin: 0 0 8px !important;
}

.goa-cart-page .goa-cart-cycle {
	order: initial !important;
	margin-top: 9px !important;
}

/*
 * WooCommerce responsive-table CSS adds data-title through ::before. In the
 * Summary this caused text such as "Subtotal€278.00".
 */
.goa-cart-page .cart_totals table.shop_table th::before,
.goa-cart-page .cart_totals table.shop_table th::after,
.goa-cart-page .cart_totals table.shop_table td::before,
.goa-cart-page .cart_totals table.shop_table td::after {
	display: none !important;
	content: none !important;
}

/* Keep summary labels and values in clean opposite columns. */
.goa-cart-page .cart_totals table.shop_table tr {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: start !important;
	column-gap: 18px !important;
}

.goa-cart-page .cart_totals table.shop_table th,
.goa-cart-page .cart_totals table.shop_table td {
	width: auto !important;
	max-width: none !important;
}

.goa-cart-page .cart_totals table.shop_table td {
	justify-self: end !important;
	white-space: nowrap !important;
}

/*
 * Coupon form: support both the classic WooCommerce .coupon markup and the
 * newer Elementor .e-cart__coupon-form wrapper.
 */
.goa-cart-page .goa-summary-coupon {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 25px 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon .e-cart__coupon-form,
.goa-cart-page .goa-summary-coupon form,
.goa-cart-page .goa-summary-coupon .coupon,
.goa-cart-page .coupon.goa-summary-coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 66px !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon .e-cart__coupon-form > *,
.goa-cart-page .goa-summary-coupon form > *,
.goa-cart-page .goa-summary-coupon .coupon > * {
	min-width: 0 !important;
	margin: 0 !important;
}

.goa-cart-page .goa-summary-coupon input[type="text"],
.goa-cart-page .goa-summary-coupon input#coupon_code,
.goa-cart-page .coupon.goa-summary-coupon input#coupon_code {
	display: block !important;
	grid-column: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 13px !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon button,
.goa-cart-page .goa-summary-coupon button[name="apply_coupon"],
.goa-cart-page .coupon.goa-summary-coupon button[name="apply_coupon"] {
	display: flex !important;
	grid-column: 2 !important;
	align-items: center !important;
	justify-content: center !important;
	width: 66px !important;
	min-width: 66px !important;
	max-width: 66px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 6px !important;
}

/* Remove Elementor coupon labels/toggles that are not in the client design. */
.goa-cart-page .goa-summary-coupon label,
.goa-cart-page .goa-summary-coupon .e-cart-section-title,
.goa-cart-page .goa-summary-coupon .e-cart__coupon-title,
.goa-cart-page .goa-summary-coupon .e-cart__coupon-toggle {
	display: none !important;
}

/* Client reference has the total immediately after the coupon. */
.goa-cart-page .goa-summary-total {
	margin-top: 0 !important;
	padding-top: 25px !important;
}

/* Tablet title size when Elementor wraps the title in another element. */
@media (max-width: 1024px) {
	.goa-cart-page table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
		font-size: 20px !important;
	}
}

@media (max-width: 767px) {
	.goa-cart-page table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
		font-size: 19px !important;
	}
}

/* =========================================================
   GOA CART 1.2.0 — CLIENT MATCH REFINEMENT
========================================================= */

/* Use the requested brand fonts explicitly throughout the component. */
.goa-cart-page,
.goa-cart-page input,
.goa-cart-page button,
.goa-cart-page select,
.goa-cart-page textarea {
	font-family: "Quicksand", Arial, sans-serif !important;
}

.goa-cart-page .goa-cart-title .elementor-heading-title,
.goa-cart-page td.product-name a:not(.remove),
.goa-cart-page td.product-subtotal,
.goa-cart-page .cart_totals h2,
.goa-cart-page .goa-summary-total__value,
.goa-cart-page .goa-summary-total__value * {
	font-family: "Cormorant Infant", Georgia, serif !important;
}

/* Match the narrower, editorial client composition. */
.goa-cart-page .goa-cart-widget,
.goa-cart-page .elementor-widget-woocommerce-cart {
	width: 100% !important;
	max-width: 1100px !important;
	margin-inline: auto !important;
}

.goa-cart-page .e-cart__container {
	grid-template-columns: minmax(0, 1fr) 390px !important;
	gap: 58px !important;
}

/*
 * The supplied client design includes a small centered kicker above the title.
 * It is generated here so a separate Elementor widget is not required.
 */
.goa-cart-page .goa-cart-title::before {
	content: "GARDEN OF ABI";
	display: block;
	margin: 0 0 17px;
	color: var(--goa-muted);
	font-family: "Quicksand", Arial, sans-serif;
	font-size: 7px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0.23em;
	text-align: center;
	text-transform: uppercase;
}

.goa-cart-page .goa-cart-kicker {
	display: none !important;
}

.goa-cart-page .goa-cart-title {
	margin: 0 0 72px !important;
}

.goa-cart-page .goa-cart-title .elementor-heading-title {
	font-size: 64px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 0.93 !important;
	letter-spacing: -0.038em !important;
}

.goa-cart-page .goa-cart-title .elementor-heading-title em,
.goa-cart-page .goa-cart-title .elementor-heading-title i {
	font-style: italic !important;
}

/* Exact product row proportions. */
.goa-cart-page table.woocommerce-cart-form__contents thead tr,
.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
	grid-template-columns: 112px minmax(0, 1fr) 98px 82px !important;
	column-gap: 22px !important;
}

/*
 * Place quantity and Remove beneath the product description, as in the client
 * reference, rather than in a separate far-right column.
 */
.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
	grid-template-rows: auto 40px !important;
	align-content: center !important;
	row-gap: 12px !important;
	min-height: 185px !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail {
	grid-column: 1 !important;
	grid-row: 1 / 3 !important;
	align-self: center !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail img {
	width: 112px !important;
	height: 142px !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	padding: 0 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
	margin: 0 !important;
	font-size: 21px !important;
	font-weight: 400 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.012em !important;
}

.goa-cart-page .goa-cart-eyebrow {
	margin-bottom: 7px !important;
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 6.5px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.16em !important;
}

.goa-cart-page .goa-cart-cycle {
	margin-top: 8px !important;
	min-height: 17px !important;
	padding: 4px 8px 3px !important;
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 6.5px !important;
	letter-spacing: 0.09em !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-quantity {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	justify-self: start !important;
	margin: 0 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-remove {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: center !important;
	justify-self: start !important;
	margin-left: 116px !important;
	padding: 0 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal {
	grid-column: 4 !important;
	grid-row: 1 / 3 !important;
	align-self: center !important;
	justify-self: end !important;
	font-size: 20px !important;
}

/* Remove every possible Elementor/WooCommerce unit-price rendering. */
.goa-cart-page form.woocommerce-cart-form td.product-price,
.goa-cart-page form.woocommerce-cart-form td[data-title="Price"],
.goa-cart-page form.woocommerce-cart-form .cart_item > .product-price,
.goa-cart-page form.woocommerce-cart-form .cart_item > [class~="product-price"] {
	display: none !important;
	visibility: hidden !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.goa-cart-page form.woocommerce-cart-form td.product-price::before,
.goa-cart-page form.woocommerce-cart-form td.product-price::after {
	display: none !important;
	content: none !important;
}

/* Summary panel dimensions and text scale. */
.goa-cart-page .e-cart__column-end .e-cart__column-inner {
	min-height: 575px !important;
	padding: 48px 40px 38px !important;
}

.goa-cart-page .cart_totals h2 {
	margin-bottom: 31px !important;
	font-size: 27px !important;
	line-height: 1 !important;
}

.goa-cart-page .cart_totals table.shop_table tr {
	padding: 11px 0 !important;
}

.goa-cart-page .cart_totals table.shop_table th,
.goa-cart-page .cart_totals table.shop_table td {
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 8px !important;
	line-height: 1.5 !important;
}

/* Hide all legacy Elementor coupon shells. */
.goa-cart-page .goa-original-coupon-shell {
	display: none !important;
}

/* New clean coupon row. */
.goa-cart-page .goa-summary-coupon-ui {
	order: 3;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 67px !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 27px 0 27px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon-ui input[name="coupon_code"] {
	display: block !important;
	grid-column: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 13px !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 7px !important;
	font-weight: 400 !important;
	line-height: 40px !important;
	letter-spacing: 0.11em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon-ui button[name="apply_coupon"] {
	display: flex !important;
	grid-column: 2 !important;
	align-items: center !important;
	justify-content: center !important;
	width: 67px !important;
	min-width: 67px !important;
	max-width: 67px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 7px !important;
	border: 1px solid var(--goa-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--goa-ink) !important;
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 7px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: 0.09em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.goa-cart-page .goa-summary-coupon-ui button[name="apply_coupon"]:hover {
	border-color: var(--goa-ink) !important;
	background: var(--goa-ink) !important;
	color: #fff !important;
}

.goa-cart-page .goa-summary-total {
	order: 4 !important;
	margin: 0 0 27px !important;
	padding: 26px 0 0 !important;
}

.goa-cart-page .goa-summary-total__label {
	font-size: 7px !important;
}

.goa-cart-page .goa-summary-total__value,
.goa-cart-page .goa-summary-total__value *,
.goa-cart-page .goa-summary-total__value .amount,
.goa-cart-page .goa-summary-total__value bdi {
	font-size: 30px !important;
}

.goa-cart-page .cart_totals .checkout-button {
	min-height: 50px !important;
	font-size: 7.5px !important;
}

.goa-cart-page .goa-cart-summary-note,
.goa-cart-page .goa-continue-shopping {
	font-family: "Quicksand", Arial, sans-serif !important;
	font-size: 6.5px !important;
}

/* Keep Elementor's quantity header, though the control is editorially placed. */
.goa-cart-page table.woocommerce-cart-form__contents thead .product-quantity {
	grid-column: 3 !important;
}

.goa-cart-page table.woocommerce-cart-form__contents thead .product-subtotal {
	grid-column: 4 !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.goa-cart-page .goa-cart-widget,
	.goa-cart-page .elementor-widget-woocommerce-cart {
		max-width: 920px !important;
	}

	.goa-cart-page .e-cart__container {
		grid-template-columns: minmax(0, 1fr) 340px !important;
		gap: 38px !important;
	}

	.goa-cart-page .goa-cart-title .elementor-heading-title {
		font-size: 58px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents thead tr,
	.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
		grid-template-columns: 96px minmax(0, 1fr) 78px 70px !important;
		column-gap: 17px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail img {
		width: 96px !important;
		height: 122px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
		font-size: 19px !important;
	}

	.goa-cart-page .e-cart__column-end .e-cart__column-inner {
		min-height: 520px !important;
		padding: 39px 28px 32px !important;
	}
}

/* Mobile remains stacked and readable. */
@media (max-width: 767px) {
	.goa-cart-page .goa-cart-title::before {
		margin-bottom: 14px;
		font-size: 6.5px;
	}

	.goa-cart-page .goa-cart-title .elementor-heading-title {
		font-size: 49px !important;
	}

	.goa-cart-page .e-cart__container {
		grid-template-columns: 1fr !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents tbody tr.cart_item {
		grid-template-columns: 88px minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		min-height: 0 !important;
		row-gap: 10px !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-thumbnail {
		grid-column: 1 !important;
		grid-row: 1 / 4 !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-name {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: start !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-subtotal {
		grid-column: 2 !important;
		grid-row: 2 !important;
		justify-self: start !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-quantity {
		grid-column: 2 !important;
		grid-row: 3 !important;
	}

	.goa-cart-page table.woocommerce-cart-form__contents td.product-remove {
		grid-column: 2 !important;
		grid-row: 3 !important;
		margin-left: 112px !important;
	}

	.goa-cart-page .e-cart__column-end .e-cart__column-inner {
		min-height: 0 !important;
		padding: 34px 25px 31px !important;
	}
}

