/**
 * Trinite Agrovet - cart page.
 *
 * Styles cart-page.php and the re-skinned WooCommerce cart template parts in
 * woocommerce/cart/. Loaded only on the cart, on top of woocommerce.css (shared
 * WooCommerce brand styling) and single-product.css (the shared tp-* component
 * system: shell, eyebrow, breadcrumb band, pill buttons, product cards, CTA
 * band, trust strip), so those are inherited rather than redefined here.
 *
 * Brand: deep green #0B542B / #176B3A, dark green #081C15, amber #F59E0B,
 * ink #17222D, muted #5F676E, border #E6E9E5, tints #F5F6F4 / #FAF8F2 / #F3F6F1.
 * Type: Montserrat (headings, buttons, eyebrows), Inter (body).
 */

.tcart {
	background-color: #FFFFFF;
}

/* ---------------------------------------------------------------
   1. Compact hero
   --------------------------------------------------------------- */
.tcart-hero__inner {
	padding-top: 46px;
	padding-bottom: 50px;
}

.tp-single .tcart-hero__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 42px;
	line-height: 1.15;
	letter-spacing: -.5px;
	color: #FFFFFF;
	margin: 16px 0 12px;
}

.tp-single .tcart-hero__title span {
	color: #F59E0B;
}

.tcart-hero__text {
	font-size: 16.5px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .85);
	margin: 0;
	max-width: 640px;
}

.tcart-hero .tp-banner__label {
	margin-top: 18px;
}

/* ---------------------------------------------------------------
   2. Notices
   --------------------------------------------------------------- */
.tcart-notices {
	padding: 26px 0 0;
}

.tcart-notices:empty {
	display: none;
}

.woocommerce .tcart-notices .woocommerce-message,
.woocommerce .tcart-notices .woocommerce-info,
.woocommerce .tcart-notices .woocommerce-error {
	border-radius: 10px;
	margin-bottom: 0;
}

/* ---------------------------------------------------------------
   3. Main cart area
   --------------------------------------------------------------- */
.tcart-main {
	padding: 60px 0 66px;
	background-color: #FFFFFF;
}

.tcart-layout {
	display: grid;
	grid-template-columns: 62fr 38fr;
	gap: 34px;
	align-items: start;
}

.tp-single .tcart-items__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.2;
	letter-spacing: -.3px;
	color: #17222D;
	margin: 0 0 8px;
}

.tcart-items__sub {
	font-size: 15.5px;
	line-height: 1.7;
	color: #5F676E;
	margin: 0 0 26px;
	max-width: 58ch;
}

/* The real WooCommerce cart table, re-skinned. */
.woocommerce .tcart-table,
.tcart-table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0;
	font-family: "Inter", system-ui, sans-serif;
}

.woocommerce .tcart-table thead th,
.tcart-table thead th {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #5F676E;
	text-align: left;
	background: none;
	border: 0;
	border-bottom: 1px solid #E6E9E5;
	padding: 0 12px 12px;
}

.tcart-table thead th.product-thumbnail {
	width: 96px;
	padding-left: 0;
}

.tcart-table thead th.product-price,
.tcart-table thead th.product-subtotal {
	text-align: right;
}

.tcart-table thead th.product-quantity {
	text-align: center;
}

.tcart-table thead th.product-remove {
	width: 54px;
	padding-right: 0;
}

.woocommerce .tcart-table tbody td,
.tcart-table tbody td {
	background: none;
	border: 0;
	border-bottom: 1px solid #E6E9E5;
	padding: 18px 12px;
	vertical-align: middle;
	font-size: 15px;
	line-height: 1.6;
	color: #17222D;
}

.tcart-table tbody td.product-thumbnail {
	width: 96px;
	padding-left: 0;
}

.tcart-table td.product-thumbnail a,
.tcart-table td.product-thumbnail img {
	display: block;
}

.woocommerce .tcart-table td.product-thumbnail img,
.tcart-table td.product-thumbnail img {
	width: 84px;
	height: 84px;
	object-fit: contain;
	background-color: #F3F6F1;
	border: 1px solid #E6E9E5;
	border-radius: 10px;
	padding: 8px;
	box-sizing: border-box;
	margin: 0;
	box-shadow: none;
}

.tcart-item__cat {
	display: block;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 10.5px;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #176B3A;
	margin: 0 0 5px;
}

.tcart-item__name {
	display: block;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.35;
	color: #17222D;
}

.woocommerce .tcart-table .tcart-item__name a,
.tcart-item__name a {
	color: #17222D;
	text-decoration: none;
}

.woocommerce .tcart-table .tcart-item__name a:hover,
.tcart-item__name a:hover {
	color: #0B542B;
}

.woocommerce .tcart-table td.product-name dl.variation,
.tcart-table td.product-name dl.variation {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: #5F676E;
}

.tcart-table td.product-name dl.variation dt,
.tcart-table td.product-name dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
	float: none;
	font-weight: 400;
}

.tcart-table td.product-name dl.variation dd p {
	display: inline;
	margin: 0;
}

.tcart-table td.product-name dl.variation dt {
	font-weight: 600;
	color: #17222D;
}

.tcart-table td.product-name dl.variation dd::after {
	content: "";
	display: block;
}

.tcart-table td.product-name .backorder_notification {
	margin: 8px 0 0;
	font-size: 13px;
	color: #8A5A00;
}

.woocommerce .tcart-table td.product-price,
.tcart-table td.product-price,
.woocommerce .tcart-table td.product-subtotal,
.tcart-table td.product-subtotal {
	text-align: right;
	white-space: nowrap;
}

.woocommerce .tcart-table td.product-price .woocommerce-Price-amount,
.tcart-table td.product-price .woocommerce-Price-amount {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #5F676E;
}

.woocommerce .tcart-table td.product-subtotal .woocommerce-Price-amount,
.tcart-table td.product-subtotal .woocommerce-Price-amount {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #0B542B;
}
/* Quantity stepper around WooCommerce's own quantity input. */
.tcart-table td.product-quantity {
	text-align: center;
}

.tcart-qty {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border: 1px solid #E6E9E5;
	border-radius: 999px;
	background-color: #FFFFFF;
	overflow: hidden;
}

.tcart-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 44px;
	flex: 0 0 auto;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	color: #0B542B;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.tcart-qty__btn:hover {
	background-color: #ECF4EE;
}

.tcart-qty__btn:focus-visible {
	outline: 2px solid #0B542B;
	outline-offset: -2px;
}

.woocommerce .tcart-qty .quantity,
.tcart-qty .quantity {
	margin: 0;
	float: none;
	display: block;
}

.woocommerce .tcart-qty input.qty,
.tcart-qty input.qty {
	width: 46px;
	height: 44px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	color: #17222D;
	background-color: #FFFFFF;
	border: 0;
	border-left: 1px solid #E6E9E5;
	border-right: 1px solid #E6E9E5;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	box-sizing: border-box;
	-moz-appearance: textfield;
}

.tcart-qty input.qty::-webkit-outer-spin-button,
.tcart-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Remove item */
.tcart-table td.product-remove {
	width: 54px;
	text-align: right;
	padding-right: 0;
}

.woocommerce .tcart-table td.product-remove a.remove,
.tcart-table td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	font-size: 0;
	line-height: 1;
	color: #5F676E;
	background-color: #F5F6F4;
	border: 1px solid #E6E9E5;
	border-radius: 999px;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.woocommerce .tcart-table td.product-remove a.remove:hover,
.tcart-table td.product-remove a.remove:hover {
	color: #FFFFFF;
	background-color: #8A2D1E;
	border-color: #8A2D1E;
}

.tcart-table td.product-remove a.remove svg {
	width: 17px;
	height: 17px;
}

/* Actions row: coupon + update cart */
.woocommerce .tcart-table td.actions,
.tcart-table td.actions {
	padding: 22px 0 0;
	border-bottom: 0;
}

.tcart-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.tcart-coupon {
	flex: 1 1 320px;
	max-width: 420px;
}

.tcart-coupon__label {
	display: block;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #5F676E;
	margin: 0 0 8px;
}

.tcart-coupon__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.woocommerce .tcart-coupon__input,
.tcart-coupon__input {
	flex: 1 1 170px;
	min-width: 0;
	height: 46px;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 14.5px;
	color: #17222D;
	background-color: #FFFFFF;
	border: 1px solid #E6E9E5;
	border-radius: 999px;
	padding: 0 18px;
	box-sizing: border-box;
}

.woocommerce .tcart-coupon__input:focus,
.tcart-coupon__input:focus {
	outline: none;
	border-color: #0B542B;
}

.woocommerce .tcart-table .tcart-btn--ghost,
.woocommerce .tcart-table .tcart-btn--update {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1;
	height: 46px;
	padding: 0 22px;
	border-radius: 999px;
	white-space: nowrap;
}

.woocommerce .tcart-table .tcart-btn--ghost {
	color: #0B542B;
	background-color: #FFFFFF;
	border: 1px solid #0B542B;
}

.woocommerce .tcart-table .tcart-btn--ghost:hover {
	color: #FFFFFF;
	background-color: #0B542B;
}

.woocommerce .tcart-table .tcart-btn--update {
	color: #FFFFFF;
	background-color: #17222D;
	border: 1px solid #17222D;
}

.woocommerce .tcart-table .tcart-btn--update:hover {
	background-color: #0B542B;
	border-color: #0B542B;
}

.woocommerce .tcart-table .tcart-btn--update:disabled,
.woocommerce .tcart-table .tcart-btn--update:disabled[disabled] {
	color: #8B9298;
	background-color: #F5F6F4;
	border-color: #E6E9E5;
}

.woocommerce .tcart-coupon .coupon-error-notice {
	display: block;
	width: 100%;
	margin: 10px 0 0;
	font-size: 13.5px;
	color: #8A2D1E;
}

.tcart-continue {
	margin: 24px 0 0;
}

.tp-single .tcart-continue a {
	display: inline-block;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 14.5px;
	color: #176B3A;
	text-decoration: none;
}

.tp-single .tcart-continue a:hover {
	color: #F59E0B;
}
/* ---------------------------------------------------------------
   4. Order Summary
   --------------------------------------------------------------- */
.tcart-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tcart-side .cart-collaterals {
	width: 100%;
	margin: 0;
	float: none;
}

.woocommerce .tcart-summary,
.tcart-summary {
	width: 100%;
	float: none;
	background-color: #F3F7F3;
	border: 1px solid #DDE7DE;
	border-radius: 12px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
	padding: 26px 24px 28px;
	box-sizing: border-box;
}

.tp-single .tcart-summary__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.25;
	color: #17222D;
	margin: 0 0 7px;
}

.tcart-summary__sub {
	font-size: 14px;
	line-height: 1.65;
	color: #5F676E;
	margin: 0 0 18px;
}

.woocommerce .tcart-summary__table,
.tcart-summary__table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0;
	font-family: "Inter", system-ui, sans-serif;
}

.woocommerce .tcart-summary__table th,
.woocommerce .tcart-summary__table td,
.tcart-summary__table th,
.tcart-summary__table td {
	background: none;
	border: 0;
	border-bottom: 1px solid #DDE7DE;
	padding: 13px 0;
	font-size: 14.5px;
	line-height: 1.6;
	vertical-align: top;
}

.woocommerce .tcart-summary__table th,
.tcart-summary__table th {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	color: #17222D;
	text-align: left;
	width: 48%;
}

.woocommerce .tcart-summary__table td,
.tcart-summary__table td {
	color: #17222D;
	text-align: right;
}

.woocommerce .tcart-summary__table .woocommerce-Price-amount {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	color: #17222D;
}

.tcart-summary__table tr.cart-discount td .woocommerce-Price-amount {
	color: #0B542B;
}

.woocommerce .tcart-summary__table a.woocommerce-remove-coupon,
.tcart-summary__table a.woocommerce-remove-coupon {
	display: inline-block;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12.5px;
	font-weight: 400;
	color: #8A2D1E;
	margin-left: 8px;
	text-decoration: underline;
}

.tcart-summary__table ul.woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}

.tcart-summary__table ul.woocommerce-shipping-methods li {
	margin: 0 0 4px;
	list-style: none;
}

.tcart-summary__table ul.woocommerce-shipping-methods label {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 14.5px;
	color: #17222D;
}

.tcart-summary__table .woocommerce-shipping-destination,
.tcart-summary__table .tcart-shipping-arranged {
	display: block;
	font-family: "Inter", system-ui, sans-serif;
	font-size: 12.5px;
	line-height: 1.6;
	font-weight: 400;
	color: #5F676E;
	margin: 4px 0 0;
}

.woocommerce .tcart-summary__table tr.order-total th,
.woocommerce .tcart-summary__table tr.order-total td,
.tcart-summary__table tr.order-total th,
.tcart-summary__table tr.order-total td {
	border-bottom: 0;
	padding-top: 18px;
	padding-bottom: 6px;
}

.woocommerce .tcart-summary__table tr.order-total th,
.tcart-summary__table tr.order-total th {
	font-size: 16px;
	color: #17222D;
}

.woocommerce .tcart-summary__table tr.order-total td,
.woocommerce .tcart-summary__table tr.order-total td strong,
.woocommerce .tcart-summary__table tr.order-total .woocommerce-Price-amount,
.tcart-summary__table tr.order-total td {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.15;
	color: #176B3A;
}

.tcart-summary__note {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13px;
	line-height: 1.6;
	color: #5F676E;
	background-color: #FFFFFF;
	border: 1px solid #DDE7DE;
	border-radius: 10px;
	padding: 12px 14px;
	margin: 16px 0 18px;
}

.tcart-summary__note svg {
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
	margin-top: 1px;
	color: #0B542B;
}

.tcart-summary .wc-proceed-to-checkout {
	padding: 0;
	margin: 0;
}

.woocommerce .tcart-summary a.checkout-button,
.woocommerce .tcart-summary a.checkout-button.button.alt {
	display: block;
	width: 100%;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	text-align: center;
	color: #FFFFFF;
	background-color: #0B542B;
	border: 1px solid #0B542B;
	border-radius: 999px;
	padding: 18px 24px;
	margin: 0;
	box-sizing: border-box;
	text-decoration: none;
}

.woocommerce .tcart-summary a.checkout-button:hover,
.woocommerce .tcart-summary a.checkout-button.button.alt:hover {
	background-color: #176B3A;
	border-color: #176B3A;
	color: #FFFFFF;
}

.tcart-summary__secure {
	font-size: 12.5px;
	line-height: 1.6;
	color: #5F676E;
	text-align: center;
	margin: 12px 0 0;
}

.tcart-summary__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	margin: 18px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #DDE7DE;
	list-style: none;
}

.tcart-summary__trust li {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.35;
	color: #17222D;
	list-style: none;
}

.tcart-summary__trusticon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	flex: 0 0 auto;
	border-radius: 999px;
	background-color: #ECF4EE;
	color: #0B542B;
}

.tcart-summary__trusticon svg {
	width: 14px;
	height: 14px;
}

/* ---------------------------------------------------------------
   5. Need help card
   --------------------------------------------------------------- */
.tcart-help {
	background-color: #FFFFFF;
	border: 1px solid #E6E9E5;
	border-radius: 12px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
	padding: 24px;
}

.tp-single .tcart-help__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	color: #17222D;
	margin: 0 0 8px;
}

.tp-single .tcart-help__title span {
	color: #F59E0B;
}

.tcart-help__text {
	font-size: 14px;
	line-height: 1.7;
	color: #5F676E;
	margin: 0 0 18px;
}

.tcart-help__btns {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tp-single .tcart-help__btns .tp-btn {
	width: 100%;
	font-size: 14px;
	padding: 13px 20px;
}

.tp-single .tcart-help__link {
	display: inline-block;
	margin: 16px 0 0;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 13.5px;
	color: #176B3A;
	text-decoration: underline;
}

.tp-single .tcart-help__link:hover {
	color: #F59E0B;
}
/* ---------------------------------------------------------------
   6. Empty cart state
   --------------------------------------------------------------- */
.tcart-empty {
	padding: 62px 0 66px;
	background-color: #FFFFFF;
}

.tcart-empty__card {
	display: grid;
	grid-template-columns: 42fr 58fr;
	gap: 0;
	align-items: stretch;
	background-color: #FAF8F2;
	border: 1px solid #E6E9E5;
	border-radius: 14px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
	overflow: hidden;
}

.tcart-empty__media {
	position: relative;
	min-height: 260px;
	background-color: #F3F6F1;
}

.tp-single .tcart-empty__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}

.tcart-empty__body {
	padding: 44px 42px 46px;
}

.tcart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background-color: #ECF4EE;
	color: #0B542B;
	margin: 0 0 20px;
}

.tcart-empty__icon svg {
	width: 24px;
	height: 24px;
}

.tp-single .tcart-empty__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.22;
	letter-spacing: -.3px;
	color: #17222D;
	margin: 0 0 12px;
	max-width: 18ch;
}

.tcart-empty__text {
	font-size: 16px;
	line-height: 1.7;
	color: #5F676E;
	margin: 0 0 26px;
	max-width: 52ch;
}

.tcart-empty__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tp-single .tcart-btn--primary {
	background-color: #0B542B;
	border-color: #0B542B;
	color: #FFFFFF;
}

.tp-single .tcart-btn--primary:hover {
	background-color: #176B3A;
	border-color: #176B3A;
	color: #FFFFFF;
}

/* ---------------------------------------------------------------
   7. Product grid section + closing CTA
   --------------------------------------------------------------- */
.tcart-related {
	background-color: #F5F6F4;
	border-top: 1px solid #E6E9E5;
	margin-top: 0;
	padding: 60px 0 66px;
}

.tcart-related .tp-related__head {
	align-items: flex-end;
}

.tcart-related__sub {
	font-size: 15.5px;
	line-height: 1.7;
	color: #5F676E;
	margin: 8px 0 0;
	max-width: 60ch;
}

.tcart-cta {
	padding: 66px 0;
}

.tcart-cta__inner {
	display: block;
	max-width: 780px;
	text-align: center;
}

.tp-single .tcart-cta .tp-eyebrow--amber {
	margin-bottom: 12px;
}

.tcart-cta .tp-cta__text {
	margin-left: auto;
	margin-right: auto;
}

.tcart-cta .tp-cta__btns {
	justify-content: center;
}

.tcart-cta__label {
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.4;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72);
	margin: 26px 0 0;
}

/* ---------------------------------------------------------------
   8. Responsive
   --------------------------------------------------------------- */
@media (max-width: 1180px) {
	.tcart-layout {
		grid-template-columns: 60fr 40fr;
		gap: 26px;
	}

	.tp-single .tcart-hero__title {
		font-size: 36px;
	}
}

@media (max-width: 1024px) {
	.tcart-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.tcart-side {
		max-width: 520px;
	}

	.tcart-main,
	.tcart-related,
	.tcart-empty {
		padding: 50px 0 56px;
	}

	.tcart-empty__card {
		grid-template-columns: minmax(0, 1fr);
	}

	.tcart-empty__media,
	.tp-single .tcart-empty__media img {
		min-height: 220px;
		max-height: 260px;
	}

	.tcart-empty__body {
		padding: 34px 30px 36px;
	}

	.tcart-cta {
		padding: 54px 0;
	}
}

@media (max-width: 767px) {
	.tcart-hero__inner {
		padding-top: 34px;
		padding-bottom: 38px;
	}

	.tp-single .tcart-hero__title {
		font-size: 29px;
	}

	.tcart-hero__text {
		font-size: 15px;
	}

	.tcart-main,
	.tcart-related,
	.tcart-empty {
		padding: 38px 0 44px;
	}

	.tp-single .tcart-items__title {
		font-size: 24px;
	}

	.tcart-side {
		max-width: none;
	}

	/* The cart table becomes real cards: no horizontal scrolling, no squeezed
	   desktop table. */
	.woocommerce .tcart-table,
	.woocommerce .tcart-table tbody,
	.woocommerce .tcart-table tr,
	.woocommerce .tcart-table td,
	.tcart-table,
	.tcart-table tbody,
	.tcart-table tr,
	.tcart-table td {
		display: block;
		width: auto;
	}

	.woocommerce .tcart-table thead,
	.tcart-table thead {
		display: none;
	}

	.woocommerce .tcart-table tr.cart_item,
	.tcart-table tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 78px minmax(0, 1fr);
		grid-column-gap: 14px;
		align-items: start;
		background-color: #FFFFFF;
		border: 1px solid #E6E9E5;
		border-radius: 12px;
		box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
		padding: 16px 16px 14px;
		margin: 0 0 14px;
	}

	.woocommerce .tcart-table tr.cart_item td,
	.tcart-table tr.cart_item td {
		border-bottom: 0;
		padding: 0;
		width: auto;
	}

	.tcart-table tr.cart_item td.product-thumbnail {
		grid-column: 1;
		grid-row: 1;
		width: 78px;
	}

	.woocommerce .tcart-table tr.cart_item td.product-thumbnail img,
	.tcart-table tr.cart_item td.product-thumbnail img {
		width: 78px;
		height: 78px;
	}

	.tcart-table tr.cart_item td.product-name {
		grid-column: 2;
		grid-row: 1;
		padding-right: 44px;
	}

	.tcart-table tr.cart_item td.product-price,
	.tcart-table tr.cart_item td.product-quantity,
	.tcart-table tr.cart_item td.product-subtotal {
		grid-column: 1 / -1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		text-align: right;
		padding: 12px 0 0;
		margin: 12px 0 0;
		border-top: 1px solid #F0F2EF;
	}

	.tcart-table tr.cart_item td.product-price::before,
	.tcart-table tr.cart_item td.product-quantity::before,
	.tcart-table tr.cart_item td.product-subtotal::before {
		content: attr(data-title);
		font-family: "Montserrat", system-ui, sans-serif;
		font-weight: 600;
		font-size: 11.5px;
		letter-spacing: 1.4px;
		text-transform: uppercase;
		color: #5F676E;
		text-align: left;
	}

	.tcart-table tr.cart_item td.product-remove {
		position: absolute;
		top: 14px;
		right: 14px;
		width: auto;
		padding: 0;
	}

	.woocommerce .tcart-table tr.tcart-actions-row,
	.tcart-table tr.tcart-actions-row {
		display: block;
		border: 0;
		padding: 0;
		margin: 0;
		background: none;
		box-shadow: none;
	}

	.woocommerce .tcart-table td.actions,
	.tcart-table td.actions {
		padding: 6px 0 0;
	}

	.tcart-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tcart-coupon {
		max-width: none;
	}

	.woocommerce .tcart-table .tcart-btn--update {
		width: 100%;
	}

	.tp-single .tcart-empty__title {
		font-size: 24px;
		max-width: none;
	}

	.tcart-empty__text {
		font-size: 15px;
	}

	.tcart-empty__body {
		padding: 28px 22px 30px;
	}

	.tcart-empty__btns .tp-btn {
		width: 100%;
	}

	.woocommerce .tcart-summary,
	.tcart-summary {
		padding: 22px 20px 24px;
	}

	.woocommerce .tcart-summary__table tr.order-total td,
	.tcart-summary__table tr.order-total td {
		font-size: 24px;
	}

	.tcart-summary__trust {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.tcart-summary__trust li {
		font-size: 12.5px;
	}

	.tcart-cta {
		padding: 44px 0;
	}

	.tcart-related__sub {
		font-size: 14.5px;
	}
}

@media (max-width: 420px) {
	.woocommerce .tcart-table tr.cart_item,
	.tcart-table tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.woocommerce .tcart-table tr.cart_item td.product-thumbnail img,
	.tcart-table tr.cart_item td.product-thumbnail img {
		width: 64px;
		height: 64px;
	}

	.tcart-coupon__row {
		flex-direction: column;
	}

	.woocommerce .tcart-table .tcart-btn--ghost {
		width: 100%;
	}
}
/* ---------------------------------------------------------------
   9. Overrides for WooCommerce's own core stylesheets
   ---------------------------------------------------------------
   woocommerce.css and woocommerce-layout.css are enqueued on this page and
   style .shop_table and .cart_totals for WooCommerce's default cart layout.
   These rules restate the same properties at matching or higher specificity
   so the branded layout wins, without unsetting anything WooCommerce's
   scripts depend on.
   --------------------------------------------------------------- */
.woocommerce table.tcart-table,
.woocommerce-page table.tcart-table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	margin: 0;
}

.woocommerce table.tcart-table thead th,
.woocommerce-page table.tcart-table thead th {
	border: 0;
	border-bottom: 1px solid #E6E9E5;
	padding: 0 12px 12px;
	text-align: left;
}

.woocommerce table.tcart-table thead th.product-price,
.woocommerce table.tcart-table thead th.product-subtotal {
	text-align: right;
}

.woocommerce table.tcart-table thead th.product-quantity {
	text-align: center;
}

.woocommerce table.tcart-table tbody td,
.woocommerce-page table.tcart-table tbody td {
	border: 0;
	border-bottom: 1px solid #E6E9E5;
	border-top: 0;
	padding: 18px 12px;
	text-align: left;
	background-color: transparent;
}

.woocommerce table.tcart-table tbody td.product-price,
.woocommerce table.tcart-table tbody td.product-subtotal {
	text-align: right;
}

.woocommerce table.tcart-table tbody td.product-quantity {
	text-align: center;
}

.woocommerce table.tcart-table tbody td.product-thumbnail,
.woocommerce table.tcart-table thead th.product-thumbnail {
	padding-left: 0;
}

.woocommerce table.tcart-table tbody td.product-remove,
.woocommerce table.tcart-table thead th.product-remove {
	text-align: right;
	padding-right: 0;
}

.woocommerce table.tcart-table td.actions,
.woocommerce-page table.tcart-table td.actions {
	text-align: left;
	border-bottom: 0;
	padding: 22px 0 0;
}

/* Order Summary column: WooCommerce floats .cart_totals right at 48% for its
   own layout; here it is the whole right-hand column. */
.woocommerce .tcart-side .cart-collaterals,
.woocommerce .tcart-side .cart-collaterals .cart_totals,
.woocommerce-page .tcart-side .cart-collaterals,
.woocommerce-page .tcart-side .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
	margin: 0;
}

.woocommerce .tcart-side .cart-collaterals .cart_totals h2 {
	text-transform: none;
}

.woocommerce table.tcart-summary__table,
.woocommerce-page table.tcart-summary__table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	margin: 0;
}

.woocommerce table.tcart-summary__table th,
.woocommerce table.tcart-summary__table td,
.woocommerce-page table.tcart-summary__table th,
.woocommerce-page table.tcart-summary__table td {
	border: 0;
	border-bottom: 1px solid #DDE7DE;
	padding: 13px 0;
	background-color: transparent;
}

.woocommerce table.tcart-summary__table tr.order-total th,
.woocommerce table.tcart-summary__table tr.order-total td {
	border-bottom: 0;
	padding-top: 18px;
	padding-bottom: 6px;
}

/* Stepper buttons are plain, not theme buttons. */
.tp-single .tcart-qty button.tcart-qty__btn,
.woocommerce .tcart-qty button.tcart-qty__btn,
.woocommerce-page .tcart-qty button.tcart-qty__btn {
	width: 40px;
	height: 44px;
	padding: 0;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	color: #0B542B;
	background-color: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
}

.tp-single .tcart-qty button.tcart-qty__btn:hover,
.woocommerce .tcart-qty button.tcart-qty__btn:hover,
.woocommerce-page .tcart-qty button.tcart-qty__btn:hover {
	color: #0B542B;
	background-color: #ECF4EE;
}

/* Mobile: the same overrides, so the card layout is not undone. */
@media (max-width: 767px) {
	.woocommerce table.tcart-table,
	.woocommerce table.tcart-table tbody,
	.woocommerce table.tcart-table tr,
	.woocommerce table.tcart-table td,
	.woocommerce-page table.tcart-table,
	.woocommerce-page table.tcart-table tbody,
	.woocommerce-page table.tcart-table tr,
	.woocommerce-page table.tcart-table td {
		display: block;
		width: auto;
	}

	.woocommerce table.tcart-table thead,
	.woocommerce-page table.tcart-table thead {
		display: none;
	}

	.woocommerce table.tcart-table tr.cart_item,
	.woocommerce-page table.tcart-table tr.cart_item {
		display: grid;
		grid-template-columns: 78px minmax(0, 1fr);
	}

	.woocommerce table.tcart-table tr.cart_item td,
	.woocommerce-page table.tcart-table tr.cart_item td {
		border-bottom: 0;
		padding: 0;
		text-align: left;
	}

	.woocommerce table.tcart-table tr.cart_item td.product-price,
	.woocommerce table.tcart-table tr.cart_item td.product-quantity,
	.woocommerce table.tcart-table tr.cart_item td.product-subtotal,
	.woocommerce-page table.tcart-table tr.cart_item td.product-price,
	.woocommerce-page table.tcart-table tr.cart_item td.product-quantity,
	.woocommerce-page table.tcart-table tr.cart_item td.product-subtotal {
		text-align: right;
		padding: 12px 0 0;
		border-top: 1px solid #F0F2EF;
	}

	.woocommerce table.tcart-table tr.cart_item td.product-remove,
	.woocommerce-page table.tcart-table tr.cart_item td.product-remove {
		padding: 0;
	}

	.woocommerce table.tcart-table td.actions,
	.woocommerce-page table.tcart-table td.actions {
		padding: 6px 0 0;
	}
}
/* WooCommerce's core stylesheet also carries #content-prefixed variants of a
   few cart rules (the page wrapper here is <main id="content">), which outrank
   a class-only selector. These restate the branded values at that weight. */
.woocommerce-page #content table.tcart-table td.product-thumbnail img,
.woocommerce table.tcart-table td.product-thumbnail img {
	width: 84px;
	height: 84px;
	object-fit: contain;
	background-color: #F3F6F1;
	border: 1px solid #E6E9E5;
	border-radius: 10px;
	padding: 8px;
	box-sizing: border-box;
	box-shadow: none;
	margin: 0;
}

.woocommerce-page #content table.tcart-table td.actions,
.woocommerce-page #content table.tcart-table thead th,
.woocommerce-page #content table.tcart-table tbody td {
	text-align: left;
}

.woocommerce-page #content table.tcart-table thead th.product-price,
.woocommerce-page #content table.tcart-table thead th.product-subtotal,
.woocommerce-page #content table.tcart-table tbody td.product-price,
.woocommerce-page #content table.tcart-table tbody td.product-subtotal,
.woocommerce-page #content table.tcart-table tbody td.product-remove,
.woocommerce-page #content table.tcart-table thead th.product-remove {
	text-align: right;
}

.woocommerce-page #content table.tcart-table thead th.product-quantity,
.woocommerce-page #content table.tcart-table tbody td.product-quantity {
	text-align: center;
}

/* The actions area is a flex row of its own, independent of the cell's
   inherited alignment. */
.tcart-actions,
.tcart-actions .tcart-coupon,
.tcart-actions .tcart-coupon__label,
.tcart-actions .tcart-coupon__row {
	text-align: left;
}

@media (max-width: 767px) {
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-thumbnail img,
	.woocommerce table.tcart-table tr.cart_item td.product-thumbnail img {
		width: 78px;
		height: 78px;
	}

	.woocommerce-page #content table.tcart-table tr.cart_item td.product-price,
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-quantity,
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-subtotal {
		text-align: right;
	}

	.woocommerce-page #content table.tcart-table tr.cart_item td.product-name,
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-thumbnail {
		text-align: left;
	}
}

@media (max-width: 420px) {
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-thumbnail img,
	.woocommerce table.tcart-table tr.cart_item td.product-thumbnail img {
		width: 64px;
		height: 64px;
	}
}
/* WooCommerce's core stylesheet hides the cart thumbnail below 768px for its
   own stacked layout. Here the thumbnail is part of the mobile card, so it
   stays. */
@media (max-width: 767px) {
	.woocommerce-cart table.tcart-table tr.cart_item td.product-thumbnail,
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-thumbnail,
	.woocommerce table.tcart-table tr.cart_item td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1;
		width: 78px;
		padding: 0;
	}

	.woocommerce-cart table.tcart-table tr.cart_item td.product-thumbnail::before,
	.woocommerce-cart table.tcart-table tr.cart_item td.product-name::before,
	.woocommerce-cart table.tcart-table tr.cart_item td.product-remove::before,
	.woocommerce-cart table.tcart-table tr td.actions::before {
		content: none;
		display: none;
	}
}

@media (max-width: 420px) {
	.woocommerce-cart table.tcart-table tr.cart_item td.product-thumbnail,
	.woocommerce-page #content table.tcart-table tr.cart_item td.product-thumbnail,
	.woocommerce table.tcart-table tr.cart_item td.product-thumbnail {
		width: 64px;
	}
}
@media (max-width: 420px) {
	.woocommerce table.tcart-table tr.cart_item,
	.woocommerce-page table.tcart-table tr.cart_item,
	.woocommerce-page #content table.tcart-table tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr);
	}
}
@media (max-width: 420px) {
	/* Stacked coupon row: the input keeps its own height instead of stretching
	   to the flex column. */
	.woocommerce .tcart-coupon__row .tcart-coupon__input,
	.tcart-coupon__row .tcart-coupon__input {
		flex: 0 0 auto;
		width: 100%;
		height: 46px;
	}

	.woocommerce .tcart-table .tcart-btn--ghost,
	.tcart-coupon__row .tcart-btn--ghost {
		flex: 0 0 auto;
	}
}
@media (max-width: 767px) {
	/* Stacked actions: the coupon block keeps its own height instead of taking
	   its desktop flex-basis as a column height. */
	.tcart-actions {
		justify-content: flex-start;
		gap: 14px;
	}

	.tcart-actions .tcart-coupon {
		flex: 0 0 auto;
	}
}
