body.bp-cart-page .bp-content-area {
	padding-block: 36px 76px;
}

body.bp-cart-page .entry-title {
	margin: 0 0 26px;
	color: #242328;
	font-family: var(--bp-font-body);
	font-size: 34px;
	font-weight: var(--bp-font-weight-body);
	line-height: 1.18;
}

body.bp-cart-page .woocommerce-notices-wrapper,
body.bp-cart-page .woocommerce-message,
body.bp-cart-page .woocommerce-error,
body.bp-cart-page .woocommerce-info {
	margin: 0 0 24px;
}

body.bp-cart-page .woocommerce-message,
body.bp-cart-page .woocommerce-error,
body.bp-cart-page .woocommerce-info {
	padding: 15px 18px;
	border: 1px solid #e7dfdb;
	border-radius: 10px;
	background: #fbf8f6;
	color: #342e2b;
	list-style: none;
}

body.bp-cart-page .woocommerce-error {
	border-color: #d7aaa7;
	background: #fff8f7;
}

body.bp-cart-page .bp-cart__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: #fff;
	table-layout: fixed;
}

body.bp-cart-page .bp-cart__table th,
body.bp-cart-page .bp-cart__table td {
	border: 0;
	text-align: left;
	vertical-align: middle;
}

body.bp-cart-page .bp-cart__table thead th {
	padding: 17px 18px;
	background: #f7f3f1;
	color: #3d3734;
	font-size: 13px;
	font-weight: var(--bp-font-weight-body);
	letter-spacing: .035em;
	text-transform: uppercase;
}

body.bp-cart-page .bp-cart__table thead th:first-child {
	padding-left: 24px;
	border-radius: 12px 0 0 12px;
}

body.bp-cart-page .bp-cart__table thead th:last-child {
	border-radius: 0 12px 12px 0;
}

body.bp-cart-page .bp-cart__col-thumbnail { width: 130px; }
body.bp-cart-page .bp-cart__col-product { width: auto; }
body.bp-cart-page .bp-cart__col-price { width: 145px; }
body.bp-cart-page .bp-cart__col-quantity { width: 170px; }
body.bp-cart-page .bp-cart__col-total { width: 145px; }
body.bp-cart-page .bp-cart__col-remove { width: 54px; }

body.bp-cart-page .bp-cart__table tr.cart_item {
	border-bottom: 1px solid #f0edea;
	background: #fff;
}

body.bp-cart-page .bp-cart__table tr.cart_item > td {
	padding: 24px 18px;
	border-bottom: 0;
	background: #fff;
}

body.bp-cart-page .bp-cart__table tr.cart_item > td.product-thumbnail {
	padding-left: 0;
	padding-right: 10px;
}

body.bp-cart-page .product-thumbnail a {
	display: block;
	width: 108px;
	max-width: 100%;
	height: 108px;
	overflow: hidden;
	border: 1px solid #f0edea;
	border-radius: 10px;
	background: #fff;
}

body.bp-cart-page .product-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	object-fit: contain;
}

body.bp-cart-page .product-name > a {
	color: #342822;
	font-size: 16px;
	font-weight: var(--bp-font-weight-body);
	line-height: 1.35;
	text-decoration: none;
}

body.bp-cart-page .product-name > a:hover,
body.bp-cart-page .product-name > a:focus-visible {
	color: #76584b;
}

body.bp-cart-page .product-name dl.variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 2px 7px;
	margin: 8px 0 0;
	color: #766e6a;
	font-size: 13px;
}

body.bp-cart-page .product-name dl.variation dt,
body.bp-cart-page .product-name dl.variation dd,
body.bp-cart-page .product-name dl.variation p {
	margin: 0;
}

body.bp-cart-page .product-price,
body.bp-cart-page .product-subtotal {
	color: #282326;
	font-size: 15px;
	font-weight: var(--bp-font-weight-body);
}

body.bp-cart-page .bp-cart-quantity {
	display: grid;
	grid-template-columns: 38px minmax(42px, 1fr) 38px;
	align-items: stretch;
	width: 128px;
	height: 46px;
	overflow: hidden;
	border: 1px solid rgba(75, 56, 49, .24);
	border-radius: 12px;
	background: #fff;
}

body.bp-cart-page .bp-cart-quantity .quantity {
	display: block;
	width: 100%;
	margin: 0;
}

body.bp-cart-page .bp-cart-quantity input.qty {
	width: 100%;
	height: 44px;
	min-height: 44px;
	padding: 0 3px;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: #242328;
	font: inherit;
	font-weight: var(--bp-font-weight-body);
	text-align: center;
	-moz-appearance: textfield;
}

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

body.bp-cart-page .bp-cart-quantity__button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #5b4740;
	font: inherit;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

body.bp-cart-page .bp-cart-quantity__button:hover,
body.bp-cart-page .bp-cart-quantity__button:focus-visible {
	background: rgba(75, 56, 49, .07);
}

body.bp-cart-page .bp-cart-quantity__button:disabled {
	color: rgba(75, 56, 49, .25);
	cursor: default;
}

body.bp-cart-page .bp-cart-quantity.is-static {
	display: block;
	width: auto;
	height: auto;
	border: 0;
}

body.bp-cart-page .bp-cart-quantity.is-static .bp-cart-quantity__button {
	display: none;
}

body.bp-cart-page .product-remove {
	text-align: right;
}

body.bp-cart-page .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #ddd4d0;
	border-radius: 50%;
	background: #fff;
	color: #7b6d67 !important;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

body.bp-cart-page .product-remove .remove:hover,
body.bp-cart-page .product-remove .remove:focus-visible {
	border-color: #9d342f;
	background: #fff8f7;
	color: #9d342f !important;
}

body.bp-cart-page .bp-cart__summary-row td {
	padding: 28px 0 20px;
}

body.bp-cart-page .bp-cart__summary {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 34px;
	font-size: 16px;
	font-weight: var(--bp-font-weight-body);
}

body.bp-cart-page .bp-cart__summary strong {
	min-width: 145px;
	color: #4b3831;
	font-size: 22px;
	text-align: left;
}

body.bp-cart-page .bp-cart__actions-row td.actions {
	padding: 22px 0 0;
	border-top: 1px solid #ece7e4;
}

body.bp-cart-page .bp-cart__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

body.bp-cart-page .bp-cart__actions-end {
	display: flex;
	align-items: center;
	gap: 12px;
}

body.bp-cart-page .bp-cart__button,
body.bp-cart-page .return-to-shop .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 12px 22px;
	border: 1px solid #4b3831;
	border-radius: 12px;
	box-shadow: none;
	font: inherit;
	font-size: 14px;
	font-weight: var(--bp-font-weight-body);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

body.bp-cart-page .bp-cart__button--back,
body.bp-cart-page .bp-cart__button--empty {
	background: #fff;
	color: #4b3831;
}

body.bp-cart-page .bp-cart__button--checkout,
body.bp-cart-page .return-to-shop .button {
	background: #4b3831 !important;
	color: #fff !important;
}

body.bp-cart-page .bp-cart__button:hover,
body.bp-cart-page .bp-cart__button:focus-visible,
body.bp-cart-page .return-to-shop .button:hover,
body.bp-cart-page .return-to-shop .button:focus-visible {
	border-color: #35251f !important;
	background: #35251f !important;
	color: #fff !important;
}

body.bp-cart-page .bp-cart__update[hidden] {
	display: none !important;
}

body.bp-cart-page .woocommerce-cart-form.processing {
	pointer-events: none;
	opacity: .62;
}

body.bp-cart-page .cart-empty.woocommerce-info {
	margin: 0;
	padding: 48px 24px;
	border: 1px solid #ece5e1;
	border-radius: 16px;
	background: #fbf8f6;
	font-size: 20px;
	font-weight: var(--bp-font-weight-body);
	text-align: center;
}

body.bp-cart-page .return-to-shop {
	margin: 22px 0 0;
	text-align: center;
}

@media (max-width: 767px) {
	body.bp-cart-page .bp-content-area {
		width: min(100% - 28px, var(--bp-content-width));
		padding-block: 22px 54px;
	}

	body.bp-cart-page .entry-title {
		margin-bottom: 18px;
		font-size: 26px;
		font-weight: var(--bp-font-weight-body);
		line-height: 1.18;
	}

	body.bp-cart-page .bp-cart__table,
	body.bp-cart-page .bp-cart__table tbody,
	body.bp-cart-page .bp-cart__table tr,
	body.bp-cart-page .bp-cart__table td {
		display: block;
		width: 100%;
	}

	body.bp-cart-page .bp-cart__table colgroup,
	body.bp-cart-page .bp-cart__table thead {
		display: none;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 86px minmax(0, 1fr) 34px;
		grid-template-rows: auto;
		gap: 10px 14px;
		padding: 20px 0;
		border-bottom: 1px solid #f0edea;
		background: #fff;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > td {
		width: auto;
		padding: 0;
		border: 0;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-thumbnail {
		display: block !important;
		grid-column: 1;
		grid-row: 1 / span 4;
		padding: 0;
	}

	body.bp-cart-page .product-thumbnail img {
		width: 100%;
		height: 100%;
		border-radius: 0;
	}

	body.bp-cart-page .product-thumbnail a {
		width: 86px;
		max-width: 100%;
		height: 86px;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-name {
		grid-column: 2;
		grid-row: 1;
		padding-right: 4px;
	}

	body.bp-cart-page .product-name > a {
		font-size: 15px;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-price,
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-quantity,
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-subtotal {
		grid-column: 2 / 4;
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		font-size: 14px;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-price { grid-row: 2; }
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-quantity { grid-row: 3; }
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-subtotal { grid-row: 4; }

	body.bp-cart-page .bp-cart__table tr.cart_item > [data-title]::before {
		content: attr(data-title) ":";
		color: #79706c;
		font-size: 12px;
		font-weight: var(--bp-font-weight-body);
		text-transform: none;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-name::before {
		display: none;
	}

	body.bp-cart-page .bp-cart__table tr > td:not([data-title])::before,
	body.bp-cart-page .bp-cart__table tr > td[data-title=""]::before {
		display: none !important;
		content: none !important;
	}

	body.bp-cart-page .bp-cart-quantity {
		width: 116px;
		height: 42px;
		grid-template-columns: 34px minmax(42px, 1fr) 34px;
	}

	body.bp-cart-page .bp-cart-quantity input.qty {
		height: 40px;
		min-height: 40px;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-remove {
		position: static;
		grid-column: 3;
		grid-row: 1;
		text-align: right;
	}

	body.bp-cart-page .product-remove .remove {
		width: 32px;
		height: 32px;
	}

	body.bp-cart-page .bp-cart__summary-row td {
		padding: 24px 0 18px;
	}

	body.bp-cart-page .bp-cart__summary {
		justify-content: space-between;
		gap: 16px;
	}

	body.bp-cart-page .bp-cart__summary strong {
		min-width: 0;
		font-size: 20px;
		text-align: right;
	}

	body.bp-cart-page .bp-cart__actions-row td.actions {
		padding-top: 18px;
	}

	body.bp-cart-page .bp-cart__actions,
	body.bp-cart-page .bp-cart__actions-end {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	body.bp-cart-page .bp-cart__actions-end {
		gap: 10px;
	}

	body.bp-cart-page .bp-cart__button {
		width: 100%;
	}

	body.bp-cart-page .cart-empty.woocommerce-info {
		padding: 36px 18px;
		font-size: 18px;
	}
}

/* Brand typography migration: Cart. */
body.bp-cart-page,
body.bp-cart-page button,
body.bp-cart-page input,
body.bp-cart-page select,
body.bp-cart-page textarea {
	font-family: var(--bp-font-body);
	font-weight: var(--bp-font-weight-body);
	font-synthesis: none;
}

body.bp-cart-page .entry-title {
	font-family: var(--bp-font-display);
	font-size: var(--bp-text-page-title);
	font-weight: var(--bp-font-weight-display);
	line-height: var(--bp-line-tight);
	letter-spacing: var(--bp-tracking-normal);
}

body.bp-cart-page .woocommerce-message,
body.bp-cart-page .woocommerce-error,
body.bp-cart-page .woocommerce-info {
	font-size: var(--bp-text-meta);
	font-weight: var(--bp-font-weight-body);
	line-height: var(--bp-line-body);
}

body.bp-cart-page .bp-cart__table thead th {
	font-size: var(--bp-text-small);
	font-weight: var(--bp-font-weight-body);
}

body.bp-cart-page .product-name > a {
	font-size: var(--bp-text-product-title);
	font-weight: var(--bp-font-weight-body);
	line-height: var(--bp-line-ui);
}

body.bp-cart-page .product-name dl.variation {
	font-size: var(--bp-text-small);
	font-weight: var(--bp-font-weight-body);
	line-height: var(--bp-line-ui);
}

body.bp-cart-page .product-price,
body.bp-cart-page .product-subtotal,
body.bp-cart-page .bp-cart-quantity input.qty {
	font-size: var(--bp-text-button);
	font-weight: var(--bp-font-weight-body);
}

body.bp-cart-page .bp-cart__summary,
body.bp-cart-page .cart_totals table,
body.bp-cart-page .coupon {
	font-size: var(--bp-text-body);
	font-weight: var(--bp-font-weight-body);
}

body.bp-cart-page .bp-cart__summary strong,
body.bp-cart-page .cart_totals .order-total,
body.bp-cart-page .cart_totals .order-total .woocommerce-Price-amount,
body.bp-cart-page .cart_totals h2 {
	font-size: var(--bp-text-component-title);
	font-weight: var(--bp-font-weight-body);
	line-height: var(--bp-line-heading);
}

body.bp-cart-page .bp-cart__button,
body.bp-cart-page .bp-cart__update,
body.bp-cart-page .return-to-shop .button,
body.bp-cart-page .coupon button,
body.bp-cart-page .coupon input {
	font-size: var(--bp-text-button);
	font-weight: var(--bp-font-weight-body);
	line-height: var(--bp-line-ui);
}

body.bp-cart-page .cart-empty.woocommerce-info,
body.bp-cart-page .cross-sells > h2 {
	font-family: var(--bp-font-display);
	font-size: var(--bp-text-component-title);
	font-weight: var(--bp-font-weight-display);
	line-height: var(--bp-line-heading);
}

@media (max-width: 767px) {
	body.bp-cart-page .product-name > a {
		font-size: 15px;
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > .product-price,
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-quantity,
	body.bp-cart-page .bp-cart__table tr.cart_item > .product-subtotal {
		font-size: var(--bp-text-meta);
	}

	body.bp-cart-page .bp-cart__table tr.cart_item > [data-title]::before {
		font-size: var(--bp-text-xs);
		font-weight: var(--bp-font-weight-body);
	}
}
