/* ==========================================================================
   WooCommerce — restyled to match the theme.
   Loaded only on shop, cart, checkout and account pages (see inc/enqueue.php).
   ========================================================================== */

.wc-page { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem); }
.has-transparent-header .wc-page { padding-top: calc(var(--tp-header-h) + clamp(2rem, 5vw, 3.5rem)); }

.woocommerce .page-title,
.wc-page h1 { margin-bottom: 1.5rem; }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: .8rem 1.4rem;
	border: 1px solid var(--tp-green);
	border-radius: var(--tp-radius);
	background: var(--tp-green);
	color: #fff;
	font: inherit;
	font-size: .9875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
	transition: background-color .18s var(--tp-ease), border-color .18s var(--tp-ease),
	            transform .18s var(--tp-ease), box-shadow .18s var(--tp-ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	background: var(--tp-green-dark);
	border-color: var(--tp-green-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgb(34 133 74 / .28);
}

.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
	background: transparent;
	border-color: var(--tp-line);
	color: var(--tp-navy);
}
.woocommerce a.button.wc-backward:hover,
.woocommerce .cart .button[name="update_cart"]:hover {
	background: var(--tp-green-soft);
	border-color: var(--tp-green);
	color: var(--tp-green-dark);
	box-shadow: none;
}

.woocommerce .button:disabled,
.woocommerce .button[disabled] { opacity: .55; cursor: not-allowed; transform: none; }

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce p.no-comments {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	align-items: center;
	margin: 0 0 1.75rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--tp-line);
	border-left: 3px solid var(--tp-green);
	border-radius: var(--tp-radius);
	background: var(--tp-surface-alt);
	color: var(--tp-ink);
	font-size: .9375rem;
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

.woocommerce-error { border-left-color: #b32d2e; background: #fdf3f3; }
.woocommerce-info { border-left-color: var(--tp-navy); }

.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; }

/* --------------------------------------------------------------------------
   Product archive
   -------------------------------------------------------------------------- */

/* Explicit columns: auto-fit lands on four across at desktop, which leaves the
   fifth plan stranded on its own row. Three gives a balanced 3 + 2. */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 34rem) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 1.5rem 1.25rem;
	background: #fff;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	text-align: center;
	transition: transform .22s var(--tp-ease), box-shadow .22s var(--tp-ease), border-color .22s var(--tp-ease);
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: rgb(34 133 74 / .32);
	box-shadow: var(--tp-shadow-md);
}
.woocommerce ul.products li.product a img { margin: 0 auto 1rem; border-radius: var(--tp-radius); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	color: var(--tp-navy);
	font-size: 1.0625rem;
	font-weight: 650;
}
.woocommerce ul.products li.product .price {
	display: block;
	margin-bottom: 1rem;
	color: var(--tp-ink);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -.02em;
}
.woocommerce ul.products li.product .price del { color: var(--tp-muted); font-size: .8rem; font-weight: 400; }

.woocommerce span.onsale {
	top: 12px; right: 12px; left: auto;
	min-width: auto; min-height: auto;
	padding: .25rem .7rem;
	border-radius: var(--tp-pill);
	background: var(--tp-gold);
	color: var(--tp-navy-dark);
	font-size: .7rem;
	font-weight: 700;
	line-height: 1.6;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */

.woocommerce div.product { display: grid; gap: clamp(1.5rem, 4vw, 3rem); }
@media (min-width: 52rem) {
	.woocommerce div.product { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
	.woocommerce div.product .woocommerce-tabs,
	.woocommerce div.product .product_meta { grid-column: 1 / -1; }
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images img { border-radius: var(--tp-radius-lg); }

.woocommerce div.product .product_title { margin-bottom: .5rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 1.25rem;
	color: var(--tp-ink);
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -.03em;
}
.woocommerce div.product p.price del { color: var(--tp-muted); font-size: .55em; font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product form.cart { margin-bottom: 1.5rem; }
.woocommerce div.product form.cart .button { width: 100%; padding: 1rem 1.5rem; font-size: 1.0625rem; }

/* Stripe-hosted buy button (replaces the add-to-cart form) */
.single-buy { margin-bottom: .75rem; }
.single-buy__note {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	margin: 0 0 1.5rem;
	color: var(--tp-muted);
	font-size: .875rem;
}
.single-buy__note .tp-icon { flex: none; margin-top: .15rem; color: var(--tp-green); }

.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 1.5rem;
	color: var(--tp-muted);
}

.woocommerce div.product .product_meta {
	padding-top: 1.25rem;
	border-top: 1px solid var(--tp-line);
	color: var(--tp-muted);
	font-size: .875rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 1.5rem;
	padding: 0 0 .5rem;
	border-bottom: 1px solid var(--tp-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 .25rem 0 0;
	padding: 0;
	border: 0;
	border-radius: var(--tp-radius-sm);
	background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: .55rem .9rem;
	color: var(--tp-muted);
	font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--tp-green-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--tp-green-dark); }

/* --------------------------------------------------------------------------
   Cart
   -------------------------------------------------------------------------- */

.woocommerce table.shop_table {
	margin-bottom: 1.75rem;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce table.shop_table th {
	padding: .95rem 1rem;
	background: var(--tp-surface-alt);
	color: var(--tp-ink);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.woocommerce table.shop_table td {
	padding: 1.1rem 1rem;
	border-top: 1px solid var(--tp-line-soft);
	color: var(--tp-body);
}
.woocommerce table.shop_table img { width: 56px; border-radius: var(--tp-radius-sm); }

.woocommerce a.remove {
	width: 24px; height: 24px;
	color: var(--tp-muted) !important;
	font-size: 1.25rem;
	line-height: 22px;
}
.woocommerce a.remove:hover { background: #fdf3f3; color: #b32d2e !important; }

/* WooCommerce floats .cart-collaterals and .cart_totals at 48%, which drops the
   totals panel on top of the cart table once they are grid items. Unset both,
   then lay the two out as a grid. */
.woocommerce .cart-collaterals,
.woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	text-align: left;
}
.woocommerce .cart-collaterals .cross-sells { display: none; }

@media (min-width: 62rem) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
		column-gap: 2rem;
		align-items: start;
	}
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	/* min-width:0 lets the table shrink inside its track instead of overflowing. */
	.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; min-width: 0; }
	.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; }
}

/* Every plan is sold individually, so WooCommerce renders a hidden quantity
   input and the column is permanently blank. The class is only present when
   that is true of every line — see tradply_wc_body_class(). */
.cart-single-quantity table.cart th.product-quantity,
.cart-single-quantity table.cart td.product-quantity { display: none; }

.woocommerce table.cart td.product-name a { font-weight: 600; }
.woocommerce table.cart td.product-name dl.variation,
.woocommerce table.cart td.product-name .wc-item-meta {
	margin: .35rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--tp-muted);
	font-size: .8125rem;
}
.woocommerce table.cart td.product-name .wc-item-meta li,
.woocommerce table.cart td.product-name .wc-item-meta p { display: inline; margin: 0; }

.woocommerce .actions .coupon { display: flex; gap: .5rem; flex-wrap: wrap; }
.woocommerce .actions .coupon .input-text { width: auto; min-width: 11rem; flex: 1 1 11rem; }
.woocommerce .cart_totals h2 { font-size: 1.25rem; }
.woocommerce .cart_totals table.shop_table { background: #fff; }

.woocommerce .checkout-button { width: 100%; padding: 1rem 1.5rem !important; font-size: 1.0625rem !important; }

.woocommerce .cart-empty { font-size: 1.25rem; }

/* --------------------------------------------------------------------------
   Checkout
   -------------------------------------------------------------------------- */

/* WooCommerce ships a float-based two-column set for billing + shipping. There
   is no shipping here, so on checkout the set collapses to one full-width column
   and the individual rows are laid out as a grid instead. Without this the fields
   end up at 48% of an already-narrow checkout column.
   Scoped to checkout — the account page uses the same markup for Login/Register
   and does want two columns. */
.woocommerce-checkout .col2-set { width: 100%; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce form .form-row-wide { float: none; width: 100%; }

@media (min-width: 30rem) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1rem;
	}
	.woocommerce-billing-fields__field-wrapper > .form-row-wide,
	.woocommerce-shipping-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
}

@media (min-width: 56rem) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
		grid-template-rows: auto auto auto 1fr;
		column-gap: 2.5rem;
		align-items: start;
	}

	/* Default every direct child to full width. Payment gateways inject their own
	   elements into this form; without this they get squeezed into one column, and
	   because the placements below claim the first rows, anything auto-placed is
	   pushed beneath the whole checkout. */
	.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }

	/* Express checkout (Apple Pay / Google Pay / Link) is first in the source
	   order and belongs above the form — pin it there explicitly. */
	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element { grid-row: 1; }
	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator { grid-row: 2; }
	.woocommerce-checkout form.checkout > wc-order-attribution-inputs { grid-row: 1; grid-column: 1; }

	/* Billing spans two rows so the order summary sits tight under its heading. */
	.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 3 / span 2; }
	.woocommerce-checkout form.checkout > h3#order_review_heading { grid-column: 2; grid-row: 3; margin-top: 0; }
	.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 4; }
}

/* Express checkout button + "or" separator */
#wc-stripe-express-checkout-element { margin-bottom: 1rem; }

#wc-stripe-express-checkout-button-separator {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: 0 0 1.75rem;
	color: var(--tp-muted);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
#wc-stripe-express-checkout-button-separator::before,
#wc-stripe-express-checkout-button-separator::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--tp-line);
}

/* Account checkbox reads as one line, not a wrapped fragment. */
.woocommerce form .form-row.create-account label.checkbox,
.woocommerce-account-fields label.checkbox {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 500;
}
.woocommerce-account-fields { grid-column: 1 / -1; margin-top: .5rem; }

.woocommerce form .form-row { padding: 0; margin: 0 0 1.1rem; }
.woocommerce form .form-row label { margin-bottom: .35rem; font-weight: 600; }
.woocommerce form .form-row .required { color: #b32d2e; text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	height: auto;
	padding: .7rem .9rem;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	background: #fff;
	font: inherit;
	font-size: 1rem;
	color: var(--tp-ink);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.5; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 8px; }

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: 0;
	border-color: var(--tp-green);
	box-shadow: 0 0 0 3px rgb(34 133 74 / .16);
}

.woocommerce form.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
	padding: clamp(1.25rem, 3vw, 1.85rem);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	background: #fff;
}
.woocommerce-checkout #order_review { background: var(--tp-surface-alt); }

.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
	border-top: 1px solid var(--tp-line);
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	list-style: none;
}
.woocommerce-checkout #payment div.payment_box {
	margin-top: .75rem;
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	color: var(--tp-muted);
	font-size: .9375rem;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
	color: var(--tp-ink);
	font-size: .9375rem;
	font-weight: 600;
	cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img { max-height: 24px; width: auto; }

/* Stripe's test-mode banner. It is only rendered while the gateway is in test
   mode and disappears by itself once live keys are in use — styled so a test
   checkout does not look half-finished. */
.payment_box p.testmode-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem;
	margin: 0 0 1rem;
	padding: .7rem .9rem;
	background: #fff8e5;
	border: 1px dashed #dba617;
	border-radius: var(--tp-radius-sm);
	color: #7a5c00;
	font-size: .8125rem;
	line-height: 1.55;
}
.payment_box p.testmode-info strong { color: #7a5c00; }
.payment_box p.testmode-info a { color: #7a5c00; text-decoration: underline; }
.payment_box .wc-stripe-copy-test-number {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .08rem .45rem;
	border: 1px solid rgb(219 166 23 / .55);
	border-radius: 4px;
	background: #fff;
	color: #7a5c00;
	font: inherit;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.payment_box .wc-stripe-copy-test-number:hover { background: #fffdf6; border-color: #dba617; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 1.25rem 0 0; }
.woocommerce #payment #place_order { width: 100%; padding: 1rem 1.5rem; font-size: 1.0625rem; }

.woocommerce-terms-and-conditions-wrapper { margin-bottom: 1rem; font-size: .9375rem; }
.woocommerce-privacy-policy-text { color: var(--tp-muted); font-size: .875rem; }

.checkout-assurance {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	margin: 0 0 1rem;
	padding: .85rem 1rem;
	background: var(--tp-green-soft);
	border-radius: var(--tp-radius);
	color: var(--tp-green-dark);
	font-size: .875rem;
	line-height: 1.55;
}
.checkout-assurance .tp-icon { flex: none; margin-top: .15rem; }

.checkout-assurance--timing {
	background: var(--tp-surface-alt);
	color: var(--tp-body);
}
.checkout-assurance--timing .tp-icon { color: var(--tp-navy); }

/* --------------------------------------------------------------------------
   Order received / downloads
   -------------------------------------------------------------------------- */

.woocommerce-order .woocommerce-thankyou-order-received {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--tp-green);
	border-radius: var(--tp-radius-lg);
	background: var(--tp-green-soft);
	color: var(--tp-green-dark);
	font-size: 1.0625rem;
	font-weight: 600;
}
.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	list-style: none;
}
.woocommerce ul.order_details li {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--tp-muted);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.woocommerce ul.order_details li strong {
	display: block;
	margin-top: .3rem;
	color: var(--tp-ink);
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
}

/* --------------------------------------------------------------------------
   My account
   -------------------------------------------------------------------------- */

@media (min-width: 48rem) {
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
	.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: .5rem;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	background: var(--tp-surface-alt);
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: .65rem .85rem;
	border-radius: var(--tp-radius-sm);
	color: var(--tp-navy);
	font-weight: 550;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--tp-navy); color: #fff; }

/* Login / Register sit side by side on desktop and stack on mobile. */
.woocommerce-account:not(.logged-in) #customer_login {
	max-width: 60rem;
	margin-inline: auto;
}
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 { float: none; width: 100%; }

/* WooCommerce clears its float layouts with ::before/::after. Those pseudo
   elements become real grid items once the parent is a grid, taking cell 1 and
   shunting Login into the right-hand column with Register wrapping beneath it. */
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after,
.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after,
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after {
	content: none;
	display: none;
}

@media (min-width: 52rem) {
	.woocommerce-account #customer_login {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
		align-items: start;
	}
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius-lg);
	background: #fff;
	box-shadow: var(--tp-shadow-sm);
}
.woocommerce-account #customer_login h2 { font-size: 1.375rem; }
.woocommerce-account .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: .45rem; font-weight: 500; }
.woocommerce-account .woocommerce-form-login__rememberme { margin-left: 1rem; }

/* --------------------------------------------------------------------------
   Small screens — collapse the cart table into stacked rows
   -------------------------------------------------------------------------- */

@media (max-width: 47.99rem) {
	.woocommerce table.shop_table_responsive tr td { padding: .8rem 1rem; text-align: right; }
	.woocommerce table.shop_table_responsive tr td::before { float: left; color: var(--tp-muted); font-weight: 600; }
	.woocommerce table.shop_table_responsive tr td.product-remove::before { display: none; }
	.woocommerce-cart table.cart img { width: 44px; margin-left: auto; }
}
