/* =========================================================================
   Cart — design: Cart — Desktop.png · Cart — Mobile.png
   Scoped ONLY to body.woocommerce-cart so checkout / account / shop are untouched.
   Header & footer intentionally untouched.
   ========================================================================= */

body.woocommerce-cart .site-main {
	background: #f5f5f3;
}

/* Hide WP page chrome junk baked into cart page content (legacy Divi copy). */
body.woocommerce-cart .page__content > h1,
body.woocommerce-cart .page__content > p {
	display: none !important;
}

body.woocommerce-cart .page__content > .woocommerce {
	display: block;
}

body.woocommerce-cart .page__content.prose > * + * {
	margin-top: 0;
}

body.woocommerce-cart .page {
	max-width: 1440px;
	width: 100%;
	margin-inline: auto;
	padding: 40px 0 48px;
	box-sizing: border-box;
}

body.woocommerce-cart .page__head {
	max-width: none;
	margin: 0 0 40px;
	text-align: left;
	padding: 0 24px;
}

body.woocommerce-cart .page__head h1 {
	margin: 0;
	color: #1a1816;
	font-family: var(--font-display);
	font-size: 40px;
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

body.woocommerce-cart .page__sub,
body.woocommerce-cart .ots-cart-count {
	margin: 8px 0 0;
	color: #6e665a;
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
}

body.woocommerce-cart .page__content {
	max-width: none;
	margin: 0;
}

/* ---- Layout: stacked mobile, 2-col desktop -------------------------------- */
body.woocommerce-cart .ots-cart {
	display: flex;
	flex-direction: column;
	gap: 28px;
	align-items: stretch;
}

body.woocommerce-cart .ots-cart__items {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	background: #fff;
}

body.woocommerce-cart .ots-cart__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-cart .ots-cart__row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 12px 14px;
	align-items: start;
	padding: 24px;
	border-bottom: 1px solid #e8e4dc;
}

body.woocommerce-cart .ots-cart__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	background: #eceae4;
	color: #6e665a;
	flex-shrink: 0;
}

body.woocommerce-cart .ots-cart__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding-top: 2px;
}

body.woocommerce-cart .ots-cart__title {
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

body.woocommerce-cart .ots-cart__meta,
body.woocommerce-cart .ots-cart__info .variation,
body.woocommerce-cart .ots-cart__info dl {
	margin: 0;
	color: #6e665a;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

body.woocommerce-cart .ots-cart__info .variation dt,
body.woocommerce-cart .ots-cart__info .variation dd {
	display: inline;
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .ots-cart__info .variation dt {
	font-weight: 400;
}

body.woocommerce-cart .ots-cart__info .variation dd p {
	display: inline;
	margin: 0;
}

body.woocommerce-cart .ots-cart__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	padding-top: 2px;
}

body.woocommerce-cart .ots-cart__price {
	color: #1a1816;
	font-family: var(--font-mono);
	font-size: 1rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
	white-space: nowrap;
}

body.woocommerce-cart .ots-cart__price--free,
body.woocommerce-cart .ots-cart__price--free .amount {
	color: #3d8b4f;
}

body.woocommerce-cart .ots-cart__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 4px;
	background: transparent !important;
	color: #9a9286 !important;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none !important;
}

body.woocommerce-cart .ots-cart__remove:hover {
	color: #1a1816 !important;
	background: transparent !important;
}

body.woocommerce-cart .ots-cart__qty-hidden {
	display: none !important;
}

/* Coupon / update — de-emphasized; design does not feature them. */
body.woocommerce-cart .ots-cart__actions {
	display: none;
}

body.woocommerce-cart .ots-cart__browse {
	display: inline-block;
	color: #a03038;
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	padding: 24px;
}

body.woocommerce-cart .ots-cart__browse:hover {
	color: #7e242b;
	text-decoration: underline;
}

/* ---- Order summary card --------------------------------------------------- */
body.woocommerce-cart .ots-cart__summary {
	width: 100%;
	margin: 0;
	float: none;
}

body.woocommerce-cart .ots-cart__summary::before,
body.woocommerce-cart .ots-cart__summary::after,
body.woocommerce-cart .ots-cart::before,
body.woocommerce-cart .ots-cart::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart .ots-cart-summary,
body.woocommerce-cart .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	padding: 24px;
	background: #fff;
	border: 1px solid #e8e4dc;
	border-radius: 12px;
	box-sizing: border-box;
}

body.woocommerce-cart .ots-cart-summary__title,
body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 20px;
	color: #1a1816;
	font-family: var(--font-inter);
	font-size: 27px;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

body.woocommerce-cart .ots-cart-summary__table,
body.woocommerce-cart .cart_totals .shop_table {
	width: 100%;
	margin: 0;
	border: 0 !important;
	border-radius: 0 !important;
	border-collapse: collapse;
	background: transparent;
	overflow: visible;
}

body.woocommerce-cart .ots-cart-summary__table th,
body.woocommerce-cart .ots-cart-summary__table td,
body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td {
	padding: 4px 0;
	border: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	vertical-align: top;
}

body.woocommerce-cart .ots-cart-summary__table th,
body.woocommerce-cart .cart_totals .shop_table th {
	text-align: left;
	padding-right: 12px;
	color: #5c544a;
	font-weight: 400;
}

body.woocommerce-cart .ots-cart-summary__table td,
body.woocommerce-cart .cart_totals .shop_table td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Keep labels (Subtotal, HST, Total) visible — defeat WC smallscreen stacking. */
body.woocommerce-cart .cart_totals table.shop_table_responsive,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive,
body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .ots-cart-summary__table {
	display: table !important;
	width: 100% !important;
}

body.woocommerce-cart .cart_totals table.shop_table_responsive tbody,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive tbody,
body.woocommerce-cart .cart_totals table.shop_table tbody,
body.woocommerce-cart .ots-cart-summary__table tbody {
	display: table-row-group !important;
}

body.woocommerce-cart .cart_totals table.shop_table_responsive tr,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive tr,
body.woocommerce-cart .cart_totals table.shop_table tr,
body.woocommerce-cart .ots-cart-summary__table tr {
	display: table-row !important;
}

body.woocommerce-cart .cart_totals table.shop_table_responsive th,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive th,
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .ots-cart-summary__table th,
body.woocommerce-cart .cart_totals table.shop_table_responsive tbody th,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive tbody th {
	display: table-cell !important;
	visibility: visible !important;
	width: auto !important;
	text-align: left !important;
	float: none !important;
}

body.woocommerce-cart .cart_totals table.shop_table_responsive td,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive td,
body.woocommerce-cart .cart_totals table.shop_table td,
body.woocommerce-cart .ots-cart-summary__table td {
	display: table-cell !important;
	width: auto !important;
	text-align: right !important;
	float: none !important;
}

body.woocommerce-cart .ots-cart-summary__table td::before,
body.woocommerce-cart .cart_totals .shop_table td::before,
body.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before,
body.woocommerce-cart .ots-cart-summary__table.shop_table_responsive tr td::before {
	display: none !important;
	content: none !important;
}

/* Subscriptions “Recurring totals” block — same label/value layout */
body.woocommerce-cart .cart_totals .recurring-totals,
body.woocommerce-cart .ots-cart-summary .recurring-totals {
	margin-top: 16px;
}

body.woocommerce-cart .cart_totals .recurring-totals th,
body.woocommerce-cart .cart_totals table.recurring-total th {
	display: table-cell !important;
	text-align: left !important;
}

body.woocommerce-cart .ots-cart-summary__savings th,
body.woocommerce-cart .ots-cart-summary__savings td,
body.woocommerce-cart .ots-cart-summary__savings .amount,
body.woocommerce-cart .cart-discount td,
body.woocommerce-cart .cart-discount .amount {
	color: #3d8b4f !important;
	font-weight: 500;
}

body.woocommerce-cart .ots-cart-summary__table .order-total th,
body.woocommerce-cart .ots-cart-summary__table .order-total td,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	padding-top: 16px;
	padding-bottom: 20px;
	border-top: 1px solid #e8e4dc !important;
	color: #1a1816;
	font-size: 1.125rem;
	font-weight: 600;
}

body.woocommerce-cart .ots-cart-summary__table .order-total strong,
body.woocommerce-cart .cart_totals .order-total strong {
	font-weight: 700;
}

body.woocommerce-cart .ots-cart-summary__table .order-total small,
body.woocommerce-cart .cart_totals .order-total small {
	display: none;
}

/* Buttons */
body.woocommerce-cart .ots-cart-summary__checkout {
	margin-top: 20px;
	padding: 0;
}

body.woocommerce-cart .ots-cart-summary__checkout .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 14px 20px;
	box-sizing: border-box;
	background: #a03038 !important;
	border: 1px solid #a03038 !important;
	border-radius: 8px;
	color: #fff !important;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
}

body.woocommerce-cart .ots-cart-summary__checkout .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: #7e242b !important;
	border-color: #7e242b !important;
	color: #fff !important;
}

/* Hide legacy continue-shopping clone (alt checkout-button) if still hooked. */
body.woocommerce-cart .back-btn {
	display: none !important;
}

body.woocommerce-cart .ots-cart-summary__continue {
	margin-top: 12px;
}

body.woocommerce-cart .ots-cart-summary__continue-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 13px 20px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #1a1816;
	border-radius: 8px;
	color: #1a1816;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
}

body.woocommerce-cart .ots-cart-summary__continue-btn:hover {
	background: #f5f5f3;
	border-color: #1a1816;
	color: #1a1816;
	text-decoration: none;
}

body.woocommerce-cart .ots-cart-summary__trust {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 16px 0 0;
	color: #6e665a;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

body.woocommerce-cart .ots-cart-summary__lock {
	flex-shrink: 0;
	margin-top: 1px;
	color: #c4a035;
}

/* Notices on cart */
body.woocommerce-cart .woocommerce-notices-wrapper {
	margin-bottom: 20px;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
	border-radius: 8px;
}

.woocommerce-info::before {
	color: #a03138;
	background: #ffffff;
}

/* Empty cart */
body.woocommerce-cart .ots-cart-empty {
	max-width: 480px;
}

body.woocommerce-cart .wc-empty-cart-message .cart-empty {
	margin-bottom: 20px;
}

body.woocommerce-cart .ots-cart-empty__btn,
body.woocommerce-cart .return-to-shop .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	background: #fff !important;
	border: 1px solid #cfc8bb !important;
	border-radius: 8px;
	color: #1a1816 !important;
	font-weight: 500;
	text-decoration: none !important;
}

body.woocommerce-cart .ots-cart-empty__btn:hover,
body.woocommerce-cart .return-to-shop .button:hover {
	border-color: #1a1816 !important;
	color: #1a1816 !important;
	background: #fff !important;
}

/* Cross-sells off the design */
body.woocommerce-cart .cross-sells {
	display: none !important;
}

/* ---- Desktop -------------------------------------------------------------- */
@media (min-width: 900px) {
	body.woocommerce-cart .page__sub,
	body.woocommerce-cart .ots-cart-count {
		font-size: 19px;
	}

	body.woocommerce-cart .page {
		padding: 48px 48px 96px;
	}

	body.woocommerce-cart .page__head {
		margin-bottom: 48px;
		padding: 0;
	}

	body.woocommerce-cart .page__head h1 {
		font-size: 61px;
	}

	body.woocommerce-cart .ots-cart {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 28px;
		align-items: start;
	}

	body.woocommerce-cart .ots-cart__items {
		padding: 0;
		background: #fff;
		border: 1px solid #e8e4dc;
		border-radius: 12px;
	}

	body.woocommerce-cart .ots-cart__row {
		padding: 24px;
		border-bottom: 1px solid #edebe4;
		grid-template-columns: 48px minmax(0, 1fr) auto auto;
		gap: 16px;
		align-items: center;
	}

	body.woocommerce-cart .ots-cart__icon {
		width: 48px;
		height: 48px;
	}

	body.woocommerce-cart .ots-cart__aside {
		display: contents;
	}

	body.woocommerce-cart .ots-cart__price {
		justify-self: end;
		padding-top: 0;
	}

	body.woocommerce-cart .ots-cart__remove {
		justify-self: end;
	}

	body.woocommerce-cart .ots-cart__browse {
		padding: 24px 24px 24px 24px;
	}

	body.woocommerce-cart .ots-cart-summary,
	body.woocommerce-cart .cart_totals {
		padding: 28px;
		position: sticky;
		top: 24px;
	}
}

@media (min-width: 1100px) {
	body.woocommerce-cart .ots-cart {
		grid-template-columns: minmax(0, 1fr) 460px;
		gap: 16px;
	}
}
