/*
 * Cart-only presentation layer.
 *
 * Every selector is scoped to a cart class or the WooCommerce cart-page
 * wrapper. Product grids, product details, header branding, footer, and
 * checkout styles are intentionally not addressed here.
 */

/* Existing header cart control: the markup is found at runtime, never duplicated. */
.aj3-cart-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #111111;
}

.aj3-cart-trigger svg {
	color: currentColor;
}

.aj3-cart-badge {
	position: absolute;
	top: -0.45rem;
	right: -0.55rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.2rem;
	height: 1.2rem;
	padding: 0 0.25rem;
	border-radius: 50%;
	background: #111111;
	color: #ffffff;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1;
}

.aj3-cart-badge[hidden] {
	display: none;
}

/* Custom right-side drawer. */
.aj3-cart-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(17, 17, 17, 0.22);
	opacity: 0;
	visibility: hidden;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.aj3-cart-overlay.is-visible {
	opacity: 1;
	visibility: visible;
}

.aj3-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	width: min(100%, 37rem);
	height: 100%;
	box-sizing: border-box;
	background: #ffffff;
	color: #111111;
	box-shadow: -0.5rem 0 2rem rgba(17, 17, 17, 0.08);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 220ms ease, visibility 220ms ease;
}

.aj3-cart-drawer.is-open {
	transform: translateX(0);
	visibility: visible;
}

.aj3-cart-drawer__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 2.1rem 1.35rem 1.4rem;
	border-bottom: 1px solid #d2d2d2;
}

.aj3-cart-drawer__header h2 {
	margin: 0;
	color: #111111;
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	font-weight: 400;
	line-height: 1.1;
}

.aj3-cart-drawer__close {
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111111;
	font-size: 2rem;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.aj3-cart-drawer__close svg {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	margin: auto;
}

.aj3-cart-drawer__status {
	min-height: 0;
	margin: 0;
	padding: 0 1.35rem;
	color: #111111;
	font-size: 0.9rem;
	line-height: 1.35;
}

.aj3-cart-drawer__status.is-visible {
	padding-top: 0.7rem;
}

.aj3-cart-drawer__status.is-success {
	color: #1f6b43;
}

.aj3-cart-drawer__status.is-error {
	color: #9b1c1c;
}

.aj3-cart-drawer__items {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 1.35rem;
	list-style: none;
}

.aj3-cart-item {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1.2rem 0;
	border-bottom: 1px solid #d2d2d2;
	list-style: none;
}

.aj3-cart-item__image,
.aj3-cart-item__image a {
	display: block;
	width: 5rem;
	height: 5rem;
}

.aj3-cart-item__image {
	background: #f3f7f6;
}

.aj3-cart-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.45rem;
	box-sizing: border-box;
	object-fit: contain;
}

.aj3-cart-item__content {
	min-width: 0;
}

.aj3-cart-item__name-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.7rem;
}

.aj3-cart-item__name {
	min-width: 0;
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: underline;
}

.aj3-cart-item__price,
.aj3-cart-item__unit-price {
	flex: 0 0 auto;
	color: #111111;
	font-size: 0.98rem;
	font-weight: 400;
	white-space: nowrap;
}

.aj3-cart-item__unit-price {
	display: block;
	margin-top: 0.35rem;
	color: #111111;
	font-size: 0.95rem;
	line-height: 1.3;
}

.aj3-cart-item__payment {
	margin-top: 0.35rem;
	color: #111111;
	font-size: 0.92rem;
	line-height: 1.3;
}

.aj3-cart-item__controls {
	display: flex;
	align-items: center;
	gap: 0;
	margin-top: 0.65rem;
}

.aj3-cart-stepper__button,
.aj3-cart-stepper__quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.2rem;
	box-sizing: border-box;
	border-top: 1px solid #aaaaaa;
	border-bottom: 1px solid #aaaaaa;
	background: #ffffff;
	color: #111111;
	font-size: 1rem;
	line-height: 1;
}

.aj3-cart-stepper__button {
	border-right: 1px solid #aaaaaa;
	border-left: 1px solid #aaaaaa;
	cursor: pointer;
}

.aj3-cart-stepper__quantity {
	border-right: 0;
	border-left: 0;
}

.aj3-cart-stepper__button:disabled,
.aj3-cart-item__remove:disabled {
	opacity: 0.45;
	cursor: wait;
}

.aj3-cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	margin-left: 0.7rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111111;
	cursor: pointer;
}

.aj3-cart-item__remove svg {
	width: 1.25rem;
	height: 1.25rem;
}

.aj3-cart-drawer__empty {
	padding: 2rem 1.35rem;
	color: #111111;
	font-size: 1rem;
}

.aj3-cart-drawer__footer {
	flex: 0 0 auto;
	padding: 1.25rem 1.35rem 1.35rem;
	border-top: 1px solid #bdbdbd;
	background: #ffffff;
}

.aj3-cart-drawer__subtotal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: #111111;
	font-size: 1.05rem;
}

.aj3-cart-drawer__subtotal strong {
	font-weight: 500;
}

.aj3-cart-drawer__footer > p {
	margin: 0.55rem 0 1.2rem;
	color: #111111;
	font-size: 0.95rem;
	line-height: 1.4;
}

.aj3-cart-drawer__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.aj3-cart-drawer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	border: 1px solid #111111;
	border-radius: 0;
	background: #ffffff;
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.aj3-cart-drawer__button--solid {
	background: #111111;
	color: #ffffff;
}

.aj3-cart-drawer__button:focus-visible,
.aj3-cart-drawer__close:focus-visible,
.aj3-cart-stepper__button:focus-visible,
.aj3-cart-item__remove:focus-visible,
.aj3-cart-coupon__toggle:focus-visible,
.aj3-cart-coupon__form input:focus-visible,
.aj3-cart-coupon__form button:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 3px;
}

.aj3-cart-drawer:focus-visible {
	outline: 2px solid #111111;
	outline-offset: -3px;
}

.aj3-cart-coupon__toggle svg {
	width: 1.1rem;
	height: 1.1rem;
	transition: transform 180ms ease;
}

.aj3-cart-coupon__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.aj3-native-drawer-disabled {
	display: none !important;
}

.aj3-cart-drawer-open {
	overflow: hidden;
}

/* Classic WooCommerce Cart page. */
.woocommerce-cart main,
.woocommerce-cart .entry-content,
.woocommerce-cart .wp-block-post-content {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart h1.entry-title {
	width: min(calc(100% - 3rem), 104rem);
	margin: 2.6rem auto 0;
	color: #111111;
	font-size: clamp(2.6rem, 4vw, 3.8rem);
	font-weight: 400;
	line-height: 1.08;
}

.woocommerce-cart .woocommerce {
	width: min(calc(100% - 3rem), 104rem);
	max-width: 104rem;
	margin: 2.6rem auto 5rem;
	color: #111111;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	width: 100%;
}

.woocommerce-cart .woocommerce > .woocommerce-cart-form,
.woocommerce-cart .woocommerce > .cart-collaterals {
	min-width: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th,
.woocommerce-cart .woocommerce-cart-form table.shop_table td {
	border: 0;
	border-bottom: 1px solid #d1d1d1;
	background: transparent;
	box-shadow: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table thead th {
	padding: 0 0.5rem 1rem;
	color: #111111;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.3;
	text-align: left;
	text-transform: uppercase;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table thead .product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead .product-quantity,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead .product-subtotal {
	font-size: 0;
	line-height: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table thead .product-subtotal::after {
	content: 'TOTAL';
	font-size: 0.95rem;
	line-height: 1.3;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td {
	padding: 1.35rem 0.5rem;
	vertical-align: middle;
	color: #111111;
	font-size: 1rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove {
	width: 2.3rem;
	padding-right: 0;
	text-align: left;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-remove-cell {
	display: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail {
	width: 7.5rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
	display: block;
	width: 6.25rem;
	height: 6.25rem;
	padding: 0.45rem;
	box-sizing: border-box;
	background: #f3f7f6;
	object-fit: contain;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name {
	width: 52%;
	min-width: 0;
	padding-left: 0.75rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name a {
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: underline;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
	display: block;
	margin-top: 0.45rem;
	color: #111111;
	font-size: 0.92rem;
	line-height: 1.3;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table .amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .woocommerce-Price-amount {
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
	white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-price-cell,
.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-quantity-cell {
	display: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
	margin-top: 0.45rem;
	color: #111111;
	font-size: 1rem;
	line-height: 1.3;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price .woocommerce-Price-amount {
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal {
	text-align: right;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove a,
.woocommerce-cart .woocommerce-cart-form table.shop_table .remove {
	color: #111111;
	font-size: 1.2rem;
	text-decoration: none;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-width: 8.5rem;
	height: 2.35rem;
	margin: 0;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty {
	width: 2.75rem;
	height: 2.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #aaaaaa;
	border-bottom: 1px solid #aaaaaa;
	border-radius: 0;
	background: #ffffff;
	color: #111111;
	font-size: 1rem;
	line-height: 2.35rem;
	text-align: center;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	min-width: 2rem;
	height: 2.35rem;
	padding: 0;
	border: 1px solid #aaaaaa;
	border-radius: 0;
	background: #ffffff;
	color: #111111;
	font-size: 1rem;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2.35rem;
	margin-left: 0.45rem;
	color: #111111;
	font-size: 1.35rem;
	line-height: 1;
	text-decoration: none;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty:focus-visible,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button:focus-visible,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-remove-link:focus-visible,
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 3px;
}

.woocommerce-cart .woocommerce-cart-form .actions {
	padding: 1rem 0;
	border-bottom: 0;
	background: transparent;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: 0 0 1.1rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid #d1d1d1;
	color: #111111;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.3;
	text-transform: uppercase;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid #d1d1d1;
	background: transparent;
	color: #111111;
	font-size: 1.05rem;
	font-weight: 400;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th {
	text-align: left;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	text-align: right;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total td {
	padding-top: 1.35rem;
	padding-bottom: 1.35rem;
	font-size: 1.35rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th::after {
	content: 'Estimated total';
	font-size: 1.35rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th {
	font-size: 0;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
	padding: 1.2rem 0 0;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 4.2rem;
	box-sizing: border-box;
	margin: 0;
	padding: 1rem 1.2rem;
	border: 1px solid #111111;
	border-radius: 0;
	background: #111111;
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.aj3-cart-coupon {
	margin: 0 0 1.2rem;
	border-bottom: 1px solid #d1d1d1;
}

.aj3-cart-coupon__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1rem 0;
	border: 0;
	background: transparent;
	color: #111111;
	font-size: 1rem;
	font-weight: 400;
	text-align: left;
	cursor: pointer;
}

.aj3-cart-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	padding: 0 0 1rem;
}

.aj3-cart-coupon__form[hidden] {
	display: none;
}

.aj3-cart-coupon__form input,
.aj3-cart-coupon__form button {
	min-height: 2.75rem;
	box-sizing: border-box;
	border: 1px solid #aaaaaa;
	border-radius: 0;
	background: #ffffff;
	color: #111111;
	font-size: 0.95rem;
}

.aj3-cart-coupon__form input {
	padding: 0.6rem 0.75rem;
}

.aj3-cart-coupon__form button {
	padding: 0.6rem 1rem;
	border-color: #111111;
	background: #111111;
	color: #ffffff;
	cursor: pointer;
}

.aj3-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Add-to-cart feedback is intentionally limited to the existing shop card action area. */
.aj3-shop .aj3-cart-add-feedback {
	display: block;
	grid-column: 1 / -1;
	min-height: 1rem;
	margin: 0.35rem 0 0;
	color: #1f6b43;
	font-size: 0.75rem;
	line-height: 1.25;
	text-align: left;
}

.aj3-shop .aj3-cart-add-feedback[hidden] {
	display: none;
}

.aj3-shop .aj3-cart-add-feedback.is-error {
	color: #9b1c1c;
}

@media (prefers-reduced-motion: reduce) {
	.aj3-cart-overlay,
	.aj3-cart-drawer,
	.aj3-cart-coupon__toggle svg {
		transition-duration: 0ms;
	}
}

@media (min-width: 901px) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.65fr) minmax(19rem, 0.85fr);
		gap: 4.8rem;
		align-items: start;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
	}

	.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 2;
	}
}

@media (max-width: 900px) {
	.woocommerce-cart .woocommerce {
		width: min(calc(100% - 2rem), 46rem);
		margin-top: 2rem;
	}

	.woocommerce-cart h1.wp-block-post-title,
	.woocommerce-cart h1.entry-title {
		width: min(calc(100% - 2rem), 46rem);
		margin-top: 2rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name {
		width: auto;
	}
}

@media (max-width: 620px) {
	.aj3-cart-drawer {
		width: 100%;
	}

	.aj3-cart-drawer__header {
		padding: 1.45rem 1rem 1.1rem;
	}

	.aj3-cart-drawer__items,
	.aj3-cart-drawer__footer,
	.aj3-cart-drawer__status {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.aj3-cart-drawer__actions {
		grid-template-columns: 1fr;
	}

	.woocommerce-cart .woocommerce {
		width: min(calc(100% - 1.5rem), 38rem);
		margin-top: 1.5rem;
	}

	.woocommerce-cart h1.wp-block-post-title,
	.woocommerce-cart h1.entry-title {
		width: min(calc(100% - 1.5rem), 38rem);
		margin-top: 1.5rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table,
	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
	.woocommerce-cart .woocommerce-cart-form table.shop_table tr,
	.woocommerce-cart .woocommerce-cart-form table.shop_table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr {
		position: relative;
		padding: 1rem 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td {
		padding: 0.35rem 0 0.35rem 5.75rem;
		border: 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-remove {
		display: none;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
		position: absolute;
		top: 1rem;
		left: 0;
		width: 5rem;
		height: 5rem;
		padding: 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		width: 5rem;
		height: 5rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-name {
		padding-top: 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
		margin-top: 0.35rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
		padding-bottom: 0.8rem;
		text-align: left;
	}

	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
		min-width: 8.1rem;
	}
}

/* Pinterest-style cart layout: cart page only. */
.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart h1.entry-title {
	width: min(calc(100% - 3rem), 73rem);
	margin: 3rem auto 1.25rem;
	color: #111111;
	font-size: clamp(2.1rem, 4.5vw, 3.1rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce-cart .woocommerce {
	width: min(calc(100% - 3rem), 73rem);
	max-width: 73rem;
	margin: 0 auto 5.5rem;
	overflow-x: hidden;
	color: #111111;
}

.woocommerce-cart .woocommerce > .aj3-cart-back {
	display: inline-flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: 0.25rem;
	margin: 0 0 1.45rem;
	color: #111111;
	font-size: 0.72rem;
	line-height: 1.2;
	text-decoration: none;
}

.woocommerce-cart .woocommerce > .aj3-cart-back span,
.woocommerce-cart .aj3-cart-continue span {
	font-size: 1rem;
	line-height: 1;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-cart .woocommerce > .woocommerce-cart-form {
	grid-column: 1;
	min-width: 0;
}

.woocommerce-cart .woocommerce > .cart-collaterals {
	grid-column: 2;
	min-width: 0;
	padding-left: 2rem;
	border-left: 1px solid #999999;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	display: block;
	width: 100%;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
	display: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
	margin: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
	display: grid;
	grid-template-columns: 1rem 3.5rem minmax(0, 1fr) minmax(5.25rem, auto);
	column-gap: 0.9rem;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid #dddddd;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
	display: block;
	width: auto;
	box-sizing: border-box;
	padding: 0;
	border: 0;
	background: transparent;
	vertical-align: middle;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
	grid-column: 1;
	grid-row: 1;
	width: 1rem;
	text-align: left;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
	grid-column: 2;
	grid-row: 1;
	width: 3.5rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
	display: flex;
	grid-column: 3;
	grid-row: 1;
	flex-direction: column;
	align-items: flex-start;
	width: auto;
	min-width: 0;
	padding: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
	grid-column: 4;
	grid-row: 1;
	width: auto;
	padding: 0;
	text-align: right;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
	display: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove .remove,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1.35rem;
	margin: 0;
	color: #777777;
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	padding: 0.35rem;
	box-sizing: border-box;
	background: #f0f2f1;
	object-fit: contain;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a {
	max-width: 100%;
	color: #111111;
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.28;
	text-decoration: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
	margin-top: 0.28rem;
	color: #111111;
	font-size: 0.74rem;
	line-height: 1.25;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price .woocommerce-Price-amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
	color: #777777;
	font-size: 0.68rem;
	font-weight: 400;
	line-height: 1.25;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
	display: block;
	margin-top: 0.18rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .woocommerce-Price-amount {
	color: #111111;
	font-size: 0.8rem;
	font-weight: 500;
	white-space: nowrap;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-width: 0;
	height: 1.35rem;
	margin: 0.55rem 0 0;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	width: 1.25rem;
	min-width: 1.25rem;
	height: 1.35rem;
	margin: 0;
	padding: 0;
	border: 1px solid #dddddd;
	border-radius: 0;
	background: #ffffff;
	color: #111111;
	font-size: 0.68rem;
	line-height: 1.35rem;
	text-align: center;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty {
	border-right: 0;
	border-left: 0;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-remove-link {
	display: none;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr:not(.cart_item) {
	display: block;
	width: 100%;
	border: 0;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr:not(.cart_item) > td.actions {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-cart .aj3-cart-coupon {
	grid-column: 1;
	margin: 1.45rem 0 0;
	padding: 0;
	border: 0;
}

.woocommerce-cart .aj3-cart-coupon > p {
	margin: 0 0 0.65rem;
	color: #777777;
	font-size: 0.68rem;
	line-height: 1.3;
}

.woocommerce-cart .aj3-cart-coupon__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
}

.woocommerce-cart .aj3-cart-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
	min-width: 0;
	padding: 0;
}

.woocommerce-cart .aj3-cart-coupon__form input[type="text"],
.woocommerce-cart .aj3-cart-coupon__form button,
.woocommerce-cart .aj3-cart-coupon__update {
	min-height: 1.7rem;
	box-sizing: border-box;
	border: 0;
	border-bottom: 1px solid #c8c8c8;
	border-radius: 0;
	background: transparent;
	color: #555555;
	font-size: 0.65rem;
	line-height: 1.2;
}

.woocommerce-cart .aj3-cart-coupon__form input[type="text"] {
	min-width: 0;
	padding: 0.35rem 0;
}

.woocommerce-cart .aj3-cart-coupon__form button {
	padding: 0.35rem 0.85rem;
	border: 1px solid #c8c8c8;
	color: #555555;
	text-transform: uppercase;
	cursor: pointer;
}

.woocommerce-cart .aj3-cart-coupon__update {
	padding: 0.35rem 0;
	border: 0;
	color: #777777;
	font-size: 0.58rem;
	text-transform: uppercase;
	cursor: pointer;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: 0 0 0.85rem;
	padding: 0 0 0.85rem;
	border-bottom: 1px solid #dddddd;
	color: #111111;
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	width: 100%;
	box-sizing: border-box;
	border: 0;
	border-bottom: 1px solid #dddddd;
	background: transparent;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	padding: 0.7rem 0;
	color: #777777;
	font-size: 0.68rem;
	font-weight: 400;
	line-height: 1.35;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th {
	text-align: left;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	text-align: right;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total td {
	padding-top: 1rem;
	padding-bottom: 1rem;
	color: #111111;
	font-size: 0.78rem;
	font-weight: 500;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th::after {
	content: 'Total';
	font-size: 0.78rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th {
	font-size: 0;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
	padding: 1.45rem 0 0;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.45rem;
	box-sizing: border-box;
	margin: 0;
	padding: 0.7rem 1rem;
	border: 0;
	border-radius: 0;
	background: #111111;
	color: #ffffff;
	font-size: 0.64rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.woocommerce-cart .aj3-cart-continue {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	margin-top: 0.9rem;
	color: #555555;
	font-size: 0.6rem;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.woocommerce-cart .aj3-cart-coupon__form input[type="text"]:focus-visible,
.woocommerce-cart .aj3-cart-coupon__form button:focus-visible,
.woocommerce-cart .aj3-cart-coupon__update:focus-visible,
.woocommerce-cart .aj3-cart-back:focus-visible,
.woocommerce-cart .aj3-cart-continue:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.woocommerce-cart h1.wp-block-post-title,
	.woocommerce-cart h1.entry-title,
	.woocommerce-cart .woocommerce {
		width: min(calc(100% - 2rem), 46rem);
	}

	.woocommerce-cart .woocommerce {
		display: block;
		margin-bottom: 4rem;
	}

	.woocommerce-cart .woocommerce > .aj3-cart-back {
		margin-bottom: 1.2rem;
	}

	.woocommerce-cart .woocommerce > .cart-collaterals {
		margin-top: 2.5rem;
		padding-top: 2.5rem;
		padding-left: 0;
		border-top: 1px solid #999999;
		border-left: 0;
	}
}

@media (max-width: 620px) {
	.woocommerce-cart h1.wp-block-post-title,
	.woocommerce-cart h1.entry-title,
	.woocommerce-cart .woocommerce {
		width: calc(100% - 1.5rem);
	}

	.woocommerce-cart h1.wp-block-post-title,
	.woocommerce-cart h1.entry-title {
		margin-top: 2rem;
		font-size: 2.2rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		grid-template-columns: 0.85rem 3rem minmax(0, 1fr) auto;
		column-gap: 0.65rem;
		padding: 0.85rem 0;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail,
	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		width: 3rem;
		height: 3rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal {
		font-size: 0.72rem;
	}

	.woocommerce-cart .aj3-cart-coupon__row,
	.woocommerce-cart .aj3-cart-coupon__form {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.5rem;
	}

	.woocommerce-cart .aj3-cart-coupon__row {
		align-items: end;
	}

	.woocommerce-cart .aj3-cart-coupon__update {
		grid-column: 1 / -1;
		justify-self: end;
	}
}

/* Final AJ3 Cool-Aire cart alignment and palette corrections. */
@media (min-width: 901px) {
	.woocommerce-cart .woocommerce {
		column-gap: 4.8rem;
		row-gap: 0;
		overflow-x: clip;
	}

	.woocommerce-cart .woocommerce > .aj3-cart-back {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
		grid-row: 2;
		min-height: 0;
		margin: 0;
		padding: 0;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty {
		display: none;
	}

	.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
		grid-row: 3;
		min-width: 0;
		margin: 0;
		padding: 0;
	}

	.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 2;
		grid-row: 3;
		margin: 0;
	}

	.woocommerce-cart .woocommerce > .aj3-cart-coupon {
		grid-column: 1;
		grid-row: 4;
		margin-top: 1.45rem;
	}
}

.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart h1.entry-title {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce {
	overflow-x: clip;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
	margin: 0;
}

.woocommerce-cart .woocommerce > .aj3-cart-back,
.woocommerce-cart .aj3-cart-continue {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .woocommerce-Price-amount {
	color: #1f1f1f;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total td {
	color: #1f1f1f;
}

.woocommerce-cart .aj3-cart-coupon__form button {
	border-color: #1f1f1f;
	color: #1f1f1f;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	background: #1f1f1f;
}

@media (hover: hover) {
	.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
		background: #ef9e6b;
	}
}

.woocommerce-cart .aj3-cart-coupon__form input[type="text"]:focus-visible,
.woocommerce-cart .aj3-cart-coupon__form button:focus-visible,
.woocommerce-cart .aj3-cart-coupon__update:focus-visible,
.woocommerce-cart .aj3-cart-back:focus-visible,
.woocommerce-cart .aj3-cart-continue:focus-visible,
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline-color: #ef9e6b;
}

/* Product-detail add-to-cart success notice. Scoped to the AJ3 Cool-Aire
 * aircon detail flow; native WooCommerce notices elsewhere are untouched. */
.single-product .woocommerce-message.aj3-product-add-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: min(calc(100% - 3rem), 86.25rem);
	box-sizing: border-box;
	margin: 2rem auto 1.25rem;
	padding: 1rem 1.25rem;
	border: 1px solid #e8d4c7;
	border-left: 4px solid #ef9e6b;
	border-radius: 0.35rem;
	background: #fef6f1;
	color: #1f1f1f;
	font-size: 0.92rem;
	line-height: 1.4;
}

.single-product .woocommerce-message.aj3-product-add-notice::before {
	display: none;
}

.single-product .aj3-add-to-cart-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.single-product .aj3-add-to-cart-notice__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 50%;
	background: #ef9e6b;
	color: #ffffff;
}

.single-product .aj3-add-to-cart-notice__icon svg {
	display: block;
	width: 1rem;
	height: 1rem;
}

.single-product .aj3-add-to-cart-notice__text {
	flex: 1 1 auto;
	min-width: 0;
	color: #1f1f1f;
}

.single-product .aj3-add-to-cart-notice__text a {
	color: inherit;
	font-weight: 600;
}

.single-product .aj3-add-to-cart-notice__actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.65rem;
}

.single-product .aj3-add-to-cart-notice__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.6rem;
	box-sizing: border-box;
	padding: 0.65rem 1rem;
	border: 1px solid #1f1f1f;
	border-radius: 0.25rem;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.single-product .aj3-add-to-cart-notice__button--outline {
	background: #ffffff;
	color: #1f1f1f;
}

.single-product .aj3-add-to-cart-notice__button--solid {
	background: #1f1f1f;
	color: #ffffff;
}

@media (hover: hover) {
	.single-product .aj3-add-to-cart-notice__button--outline:hover {
		border-color: #ef9e6b;
		color: #ef9e6b;
	}

	.single-product .aj3-add-to-cart-notice__button--solid:hover {
		border-color: #ef9e6b;
		background: #ef9e6b;
	}
}

.single-product .aj3-add-to-cart-notice__button:focus-visible {
	outline: 2px solid #ef9e6b;
	outline-offset: 3px;
}

@media (max-width: 720px) {
	.single-product .woocommerce-message.aj3-product-add-notice {
		align-items: flex-start;
	}

	.single-product .aj3-add-to-cart-notice {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.single-product .aj3-add-to-cart-notice__text {
		flex-basis: calc(100% - 2.65rem);
	}

	.single-product .aj3-add-to-cart-notice__actions {
		width: 100%;
		margin-left: 2.65rem;
	}

	.single-product .aj3-add-to-cart-notice__button {
		flex: 1 1 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product .aj3-add-to-cart-notice__button {
		transition-duration: 0ms;
	}
}

/* Final cart usability pass: isolate theme-button overrides to the drawer,
 * improve quantity legibility, and keep the product success action adjacent
 * to the purchase control rather than the page top. */
.aj3-cart-drawer {
	width: min(100%, 34rem);
}

.aj3-cart-drawer__header {
	align-items: center;
	gap: 0.85rem;
	padding: 1.35rem 1.25rem 1rem;
}

.aj3-cart-drawer__title-group {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-width: 0;
}

.aj3-cart-drawer__header h2 {
	min-width: 0;
	font-size: clamp(1.45rem, 4.2vw, 2rem);
	font-weight: 500;
	line-height: 1.15;
	white-space: nowrap;
}

.aj3-cart-drawer__count {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-height: 1.7rem;
	padding: 0.2rem 0.55rem;
	border: 1px solid #d8b9a6;
	border-radius: 999px;
	background: #fef6f1;
	color: #1f1f1f;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.aj3-cart-drawer .aj3-cart-drawer__close {
	display: inline-flex !important;
	flex: 0 0 2.45rem;
	align-items: center;
	justify-content: center;
	width: 2.45rem !important;
	height: 2.45rem !important;
	margin: 0;
	padding: 0 !important;
	border: 1px solid #1f1f1f !important;
	border-radius: 0.4rem !important;
	background: #1f1f1f !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

.aj3-cart-drawer .aj3-cart-drawer__close svg {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
}

.aj3-cart-drawer__items {
	padding: 0 1.25rem;
}

.aj3-cart-drawer .aj3-cart-item {
	grid-template-columns: 4.25rem minmax(0, 1fr);
	gap: 0.85rem;
	padding: 1rem 0;
}

.aj3-cart-drawer .aj3-cart-item__image,
.aj3-cart-drawer .aj3-cart-item__image a {
	width: 4.25rem;
	height: 4.25rem;
}

.aj3-cart-drawer .aj3-cart-item__image {
	border: 1px solid #eeeeee;
	background: #eeeeee;
}

.aj3-cart-drawer .aj3-cart-item__image img {
	padding: 0.4rem;
}

.aj3-cart-drawer .aj3-cart-item__name-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	gap: 0.5rem;
	align-items: start;
}

.aj3-cart-drawer .aj3-cart-item__name {
	color: #1f1f1f;
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.32;
}

.aj3-cart-drawer .aj3-cart-item__price {
	color: #111111;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.32;
}

.aj3-cart-drawer .aj3-cart-item__unit-price {
	margin-top: 0.3rem;
	color: #111111;
	font-size: 0.86rem;
	font-weight: 500;
}

.aj3-cart-drawer .aj3-cart-item__payment {
	margin-top: 0.25rem;
	color: #838383;
	font-size: 0.75rem;
	line-height: 1.35;
}

.aj3-cart-drawer .aj3-cart-item__controls {
	display: grid !important;
	grid-template-columns: 2.55rem 2.75rem 2.55rem 2.35rem;
	gap: 0.45rem;
	align-items: center;
	width: max-content;
	max-width: 100%;
	margin-top: 0.75rem;
}

.aj3-cart-drawer .aj3-cart-stepper__button,
.aj3-cart-drawer .aj3-cart-stepper__quantity {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 0 !important;
	height: 2.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0.35rem !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-shadow: none !important;
}

.aj3-cart-drawer .aj3-cart-stepper__button {
	width: 2.55rem !important;
	border: 1px solid #1f1f1f !important;
	background: #ffffff !important;
	color: #1f1f1f !important;
	cursor: pointer;
}

.aj3-cart-drawer .aj3-cart-stepper__quantity {
	width: 2.75rem;
	border: 1px solid #b5b5a7 !important;
	background: #ffffff !important;
	color: #111111 !important;
}

.aj3-cart-drawer .aj3-cart-item__remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.35rem !important;
	height: 2.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	border-radius: 0.35rem !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1f1f1f !important;
	cursor: pointer;
}

.aj3-cart-drawer .aj3-cart-item__remove svg {
	width: 1.2rem;
	height: 1.2rem;
}

@media (hover: hover) {
	.aj3-cart-drawer .aj3-cart-drawer__close:hover,
	.aj3-cart-drawer .aj3-cart-drawer__button--solid:hover {
		border-color: #ef9e6b !important;
		background: #ef9e6b !important;
	}

	.aj3-cart-drawer .aj3-cart-stepper__button:hover,
	.aj3-cart-drawer .aj3-cart-item__remove:hover,
	.aj3-cart-drawer .aj3-cart-drawer__button--outline:hover {
		border-color: #ef9e6b !important;
		background: #fef6f1 !important;
		color: #1f1f1f !important;
	}
}

.aj3-cart-drawer .aj3-cart-drawer__footer {
	padding: 1.15rem 1.25rem 1.25rem;
}

.aj3-cart-drawer .aj3-cart-drawer__subtotal {
	color: #1f1f1f;
	font-size: 1rem;
	font-weight: 600;
}

.aj3-cart-drawer .aj3-cart-drawer__subtotal strong {
	font-weight: 700;
}

.aj3-cart-drawer .aj3-cart-drawer__footer > p {
	margin: 0.45rem 0 1rem;
	color: #838383;
	font-size: 0.82rem;
}

.aj3-cart-drawer .aj3-cart-drawer__actions {
	gap: 0.75rem;
}

.aj3-cart-drawer .aj3-cart-drawer__button {
	min-height: 3rem;
	padding: 0.7rem 0.75rem;
	border-color: #1f1f1f;
	border-radius: 0.35rem;
	background: #ffffff;
	color: #1f1f1f;
	font-size: 0.88rem;
	font-weight: 700;
}

.aj3-cart-drawer .aj3-cart-drawer__button--solid {
	background: #1f1f1f;
	color: #ffffff;
}

/* Product add success: shown directly below the existing purchase controls. */
.aj3-single-payment .aj3-product-cart-success {
	display: grid;
	grid-template-columns: 1.65rem minmax(0, 1fr) auto;
	gap: 0.7rem;
	align-items: center;
	margin: 0.9rem 0 0;
	padding: 0.85rem;
	border: 1px solid #e8d4c7;
	border-left: 3px solid #ef9e6b;
	border-radius: 0.35rem;
	background: #fef6f1;
	color: #1f1f1f;
}

.aj3-single-payment .aj3-product-cart-success__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 50%;
	background: #1f1f1f;
	color: #ffffff;
}

.aj3-single-payment .aj3-product-cart-success__icon svg {
	width: 1rem;
	height: 1rem;
}

.aj3-single-payment .aj3-product-cart-success__copy {
	min-width: 0;
}

.aj3-single-payment .aj3-product-cart-success__copy strong {
	display: block;
	color: #1f1f1f;
	font-size: 0.88rem;
	line-height: 1.2;
}

.aj3-single-payment .aj3-product-cart-success__copy p {
	margin: 0.22rem 0 0;
	color: #838383;
	font-size: 0.76rem;
	line-height: 1.35;
}

.aj3-single-payment .aj3-product-cart-success__actions {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.aj3-single-payment .aj3-product-cart-success__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 2.35rem;
	padding: 0.55rem 0.75rem !important;
	border: 1px solid #1f1f1f !important;
	border-radius: 0.3rem !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: #1f1f1f !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.aj3-single-payment .aj3-product-cart-success__button--solid {
	background: #1f1f1f !important;
	color: #ffffff !important;
}

@media (hover: hover) {
	.aj3-single-payment .aj3-product-cart-success__button--outline:hover {
		border-color: #ef9e6b !important;
		background: #fef6f1 !important;
	}

	.aj3-single-payment .aj3-product-cart-success__button--solid:hover {
		border-color: #ef9e6b !important;
		background: #ef9e6b !important;
	}
}

.aj3-single-payment .aj3-product-cart-success__button:focus-visible,
.aj3-cart-drawer .aj3-cart-drawer__button:focus-visible,
.aj3-cart-drawer .aj3-cart-drawer__close:focus-visible,
.aj3-cart-drawer .aj3-cart-stepper__button:focus-visible,
.aj3-cart-drawer .aj3-cart-item__remove:focus-visible {
	outline: 2px solid #ef9e6b;
	outline-offset: 3px;
}

/* Readable and touch-friendly quantity values on the full WooCommerce Cart. */
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
	min-width: 7.35rem;
	height: 2.2rem;
	margin: 0.55rem 0 0;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	box-sizing: border-box;
	height: 2.2rem;
	margin: 0;
	padding: 0;
	border-color: #b5b5a7;
	border-radius: 0;
	background: #ffffff;
	color: #1f1f1f;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty {
	width: 2.6rem;
	min-width: 2.6rem;
	appearance: textfield;
	-moz-appearance: textfield;
	color: #111111;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty::-webkit-inner-spin-button,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	width: 2.35rem;
	min-width: 2.35rem;
	cursor: pointer;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
	grid-template-columns: 1.1rem 4rem minmax(0, 1fr) minmax(6.25rem, auto);
	column-gap: 0.95rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
	width: 4rem;
	height: 4rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a {
	font-size: 0.86rem;
	line-height: 1.3;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
	font-size: 0.82rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price .woocommerce-Price-amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
	font-size: 0.76rem;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .woocommerce-Price-amount {
	font-size: 0.88rem;
}

@media (max-width: 620px) {
	.aj3-cart-drawer {
		width: 100%;
	}

	.aj3-cart-drawer__header {
		gap: 0.65rem;
		padding: 1rem;
	}

	.aj3-cart-drawer__header h2 {
		font-size: 1.4rem;
	}

	.aj3-cart-drawer__count {
		min-height: 1.55rem;
		padding: 0.18rem 0.45rem;
		font-size: 0.7rem;
	}

	.aj3-cart-drawer .aj3-cart-drawer__close {
		flex-basis: 2.25rem;
		width: 2.25rem !important;
		height: 2.25rem !important;
	}

	.aj3-cart-drawer__items,
	.aj3-cart-drawer .aj3-cart-drawer__footer {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.aj3-cart-drawer .aj3-cart-item {
		grid-template-columns: 3.75rem minmax(0, 1fr);
		gap: 0.7rem;
		padding: 0.9rem 0;
	}

	.aj3-cart-drawer .aj3-cart-item__image,
	.aj3-cart-drawer .aj3-cart-item__image a {
		width: 3.75rem;
		height: 3.75rem;
	}

	.aj3-cart-drawer .aj3-cart-item__name {
		font-size: 0.76rem;
	}

	.aj3-cart-drawer .aj3-cart-item__price {
		font-size: 0.74rem;
	}

	.aj3-cart-drawer .aj3-cart-item__unit-price {
		font-size: 0.8rem;
	}

	.aj3-cart-drawer .aj3-cart-item__controls {
		grid-template-columns: 2.35rem 2.55rem 2.35rem 2.25rem;
		gap: 0.4rem;
	}

	.aj3-cart-drawer .aj3-cart-stepper__button {
		width: 2.35rem !important;
	}

	.aj3-cart-drawer .aj3-cart-stepper__quantity {
		width: 2.55rem;
	}

	.aj3-cart-drawer .aj3-cart-item__remove {
		width: 2.25rem !important;
	}

	.aj3-single-payment .aj3-product-cart-success {
		grid-template-columns: 1.55rem minmax(0, 1fr);
		gap: 0.6rem;
		padding: 0.75rem;
	}

	.aj3-single-payment .aj3-product-cart-success__actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.aj3-single-payment .aj3-product-cart-success__button {
		min-width: 0;
		white-space: normal;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		grid-template-columns: 0.9rem 3.25rem minmax(0, 1fr) minmax(4.65rem, auto);
		column-gap: 0.6rem;
	}

	.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail,
	.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		width: 3.25rem;
		height: 3.25rem;
	}

	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
		height: 2rem;
		min-width: 6.6rem;
	}

	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty,
	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
		height: 2rem;
		font-size: 0.82rem;
	}

	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty {
		width: 2.2rem;
		min-width: 2.2rem;
	}

	.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
		width: 2.2rem;
		min-width: 2.2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aj3-cart-drawer,
	.aj3-cart-overlay,
	.aj3-single-payment .aj3-product-cart-success__button {
		transition-duration: 0ms;
	}
}

/* AJ3 Cool-Aire storefront palette alignment — cart components only.
 * These are the same typography and design tokens used by the approved
 * custom shop, without changing the shop grid, header, or other pages. */
.aj3-cart-drawer {
	--aj3-cart-surface: #ffffff;
	--aj3-cart-soft: #eeeeee;
	--aj3-cart-soft-accent: #fef6f1;
	--aj3-cart-border: #ded6d1;
	--aj3-cart-border-strong: #b5b5a7;
	--aj3-cart-text: #1f1f1f;
	--aj3-cart-muted: #838383;
	--aj3-cart-primary: #ef9e6b;
	--aj3-cart-primary-strong: #1f1f1f;
	--aj3-cart-accent: #ef9e6b;
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--aj3-cart-text);
}

.aj3-cart-drawer .aj3-cart-drawer__header {
	border-bottom-color: var(--aj3-cart-border);
}

.aj3-cart-drawer .aj3-cart-drawer__header h2 {
	color: var(--aj3-cart-primary-strong);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.aj3-cart-drawer .aj3-cart-drawer__count {
	border-color: var(--aj3-cart-border-strong);
	background: var(--aj3-cart-soft-accent);
	color: var(--aj3-cart-primary-strong);
}

.aj3-cart-drawer .aj3-cart-drawer__close {
	border-color: var(--aj3-cart-primary-strong) !important;
	background: var(--aj3-cart-primary-strong) !important;
}

.aj3-cart-drawer .aj3-cart-item {
	border-bottom-color: var(--aj3-cart-border);
}

.aj3-cart-drawer .aj3-cart-item__image {
	border-color: var(--aj3-cart-border);
	background: var(--aj3-cart-soft);
}

.aj3-cart-drawer .aj3-cart-item__name {
	color: var(--aj3-cart-primary-strong);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.aj3-cart-drawer .aj3-cart-item__price,
.aj3-cart-drawer .aj3-cart-item__unit-price,
.aj3-cart-drawer .aj3-cart-stepper__quantity {
	color: var(--aj3-cart-text) !important;
}

.aj3-cart-drawer .aj3-cart-item__payment,
.aj3-cart-drawer .aj3-cart-drawer__footer > p {
	color: var(--aj3-cart-muted);
}

.aj3-cart-drawer .aj3-cart-stepper__button {
	border-color: var(--aj3-cart-primary-strong) !important;
	color: var(--aj3-cart-primary-strong) !important;
}

.aj3-cart-drawer .aj3-cart-stepper__quantity {
	border-color: var(--aj3-cart-border-strong) !important;
}

.aj3-cart-drawer .aj3-cart-item__remove {
	color: #b42318 !important;
}

.aj3-cart-drawer .aj3-cart-drawer__footer {
	border-top-color: var(--aj3-cart-border-strong);
}

.aj3-cart-drawer .aj3-cart-drawer__subtotal {
	color: var(--aj3-cart-primary-strong);
}

.aj3-cart-drawer .aj3-cart-drawer__button {
	border-color: var(--aj3-cart-primary-strong);
	color: var(--aj3-cart-primary-strong);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.aj3-cart-drawer .aj3-cart-drawer__button--solid {
	background: var(--aj3-cart-primary-strong);
	color: #ffffff;
}

@media (hover: hover) {
	.aj3-cart-drawer .aj3-cart-drawer__close:hover,
	.aj3-cart-drawer .aj3-cart-drawer__button--solid:hover {
		border-color: var(--aj3-cart-primary) !important;
		background: var(--aj3-cart-primary) !important;
	}

	.aj3-cart-drawer .aj3-cart-stepper__button:hover,
	.aj3-cart-drawer .aj3-cart-drawer__button--outline:hover {
		border-color: var(--aj3-cart-primary) !important;
		background: var(--aj3-cart-soft-accent) !important;
		color: var(--aj3-cart-primary-strong) !important;
	}

	.aj3-cart-drawer .aj3-cart-item__remove:hover {
		border-color: #f5c7c3 !important;
		background: #fff1f0 !important;
		color: #b42318 !important;
	}
}

.aj3-single-payment .aj3-product-cart-success {
	border-color: #ded6d1;
	border-left-color: #ef9e6b;
	background: #fef6f1;
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #1f1f1f;
}

.aj3-single-payment .aj3-product-cart-success__icon,
.aj3-single-payment .aj3-product-cart-success__button--solid {
	background: #1f1f1f !important;
}

.aj3-single-payment .aj3-product-cart-success__copy strong,
.aj3-single-payment .aj3-product-cart-success__button {
	color: #1f1f1f !important;
}

.aj3-single-payment .aj3-product-cart-success__copy p {
	color: #838383;
}

.aj3-single-payment .aj3-product-cart-success__button {
	border-color: #1f1f1f !important;
}

.aj3-single-payment .aj3-product-cart-success__button--solid {
	color: #ffffff !important;
}

@media (hover: hover) {
	.aj3-single-payment .aj3-product-cart-success__button--outline:hover {
		border-color: #ef9e6b !important;
		background: #fef6f1 !important;
		color: #1f1f1f !important;
	}

	.aj3-single-payment .aj3-product-cart-success__button--solid:hover {
		border-color: #ef9e6b !important;
		background: #ef9e6b !important;
	}
}

.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart .woocommerce,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart .woocommerce > .aj3-cart-back,
.woocommerce-cart .aj3-cart-continue,
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total td {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
	border-bottom-color: #ded6d1;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .amount,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .woocommerce-Price-amount {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment,
.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price .woocommerce-Price-amount {
	color: #838383;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	border-color: #b5b5a7;
	background: #ffffff;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	color: #1f1f1f;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove .remove,
.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove a {
	color: #b42318;
}

.woocommerce-cart .aj3-cart-coupon__form button {
	border-color: #1f1f1f;
	color: #1f1f1f;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	background: #1f1f1f;
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

@media (hover: hover) {
	.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
		background: #ef9e6b;
	}
}

.aj3-single-payment .aj3-product-cart-success__button:focus-visible,
.aj3-cart-drawer .aj3-cart-drawer__button:focus-visible,
.aj3-cart-drawer .aj3-cart-drawer__close:focus-visible,
.aj3-cart-drawer .aj3-cart-stepper__button:focus-visible,
.aj3-cart-drawer .aj3-cart-item__remove:focus-visible,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty:focus-visible,
.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button:focus-visible,
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline-color: #ef9e6b;
}

/* AJ3 Cool-Aire cart drawer redesign: authoritative scoped presentation. */
.aj3-cart-trigger {
	position: fixed !important;
	right: 24px;
	bottom: 24px;
	z-index: 2147483200;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 54px !important;
	height: 54px !important;
	min-width: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1f1f1f !important;
	cursor: pointer;
	transition: color 180ms ease, transform 180ms ease;
}

.aj3-cart-trigger svg {
	display: block;
	width: 30px !important;
	height: 30px !important;
	fill: none;
	stroke: currentColor;
	color: currentColor;
}

.aj3-cart-trigger .aj3-cart-badge,
.aj3-cart-trigger .wc-block-mini-cart__badge {
	top: -3px;
	right: -3px;
	min-width: 21px;
	height: 21px;
	padding-inline: 5px;
	border: 2px solid #ffffff;
	border-radius: 999px;
	background: #d62828;
	color: #ffffff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

.aj3-cart-overlay {
	z-index: 2147483201;
	background: rgba(31, 31, 31, 0.42);
	backdrop-filter: blur(2px);
}

.aj3-cart-drawer {
	--aj3-cart-dark: #1f1f1f;
	--aj3-cart-accent: #ef9e6b;
	--aj3-cart-muted: #838383;
	--aj3-cart-border: #ded6d1;
	top: 0;
	bottom: 0;
	z-index: 2147483202;
	display: flex;
	flex-direction: column;
	width: min(550px, 100%);
	height: 100dvh;
	max-height: 100dvh;
	border-inline-start: 1px solid var(--aj3-cart-border);
	background: #ffffff;
	box-shadow: -1rem 0 2.6rem rgba(31, 31, 31, 0.18);
	color: var(--aj3-cart-dark);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.aj3-cart-drawer .aj3-cart-drawer__header {
	position: sticky;
	top: 0;
	z-index: 2;
	flex: 0 0 auto;
	align-items: flex-start;
	min-height: 7.25rem;
	padding: 1.65rem 1.6rem 1.35rem;
	border-block-end: 1px solid var(--aj3-cart-border);
	background: #ffffff;
}

.aj3-cart-drawer .aj3-cart-drawer__title-group {
	display: grid;
	gap: 0.75rem;
	min-width: 0;
}

.aj3-cart-drawer .aj3-cart-drawer__header h2 {
	margin: 0;
	color: var(--aj3-cart-dark);
	font-size: clamp(1.55rem, 3vw, 1.8rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.aj3-cart-drawer .aj3-cart-drawer__count {
	display: block;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--aj3-cart-muted);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.2;
}

.aj3-cart-drawer .aj3-cart-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px !important;
	height: 46px !important;
	min-width: 46px;
	padding: 0 !important;
	border: 1px solid var(--aj3-cart-border) !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: var(--aj3-cart-muted) !important;
}

.aj3-cart-drawer .aj3-cart-drawer__close svg {
	width: 23px;
	height: 23px;
}

.aj3-cart-drawer__status {
	flex: 0 0 auto;
	padding-inline: 1.6rem;
}

.aj3-cart-drawer__items {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	padding: 1rem 1.6rem 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.aj3-cart-drawer .aj3-cart-item {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 1rem;
	min-width: 0;
	padding: 0.9rem 0 1.8rem;
	border-block-end: 1px solid var(--aj3-cart-border);
}

.aj3-cart-drawer .aj3-cart-item__image,
.aj3-cart-drawer .aj3-cart-item__image a {
	display: block;
	width: 7.5rem;
	height: 8.15rem;
}

.aj3-cart-drawer .aj3-cart-item__image {
	overflow: hidden;
	border: 1px solid var(--aj3-cart-border);
	border-radius: 0.8rem;
	background: #fef6f1;
}

.aj3-cart-drawer .aj3-cart-item__image img {
	width: 100%;
	height: 100%;
	padding: 0.7rem;
	object-fit: contain;
}

.aj3-cart-drawer .aj3-cart-item__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.aj3-cart-drawer .aj3-cart-item__brand {
	margin: 0 0 0.55rem;
	color: #ef9e6b;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
}

/*
 * Name and line total must never share a line.
 *
 * The first generation of this component laid __name-row out as a flex row with
 * the product name on the left and the line total on the right. In a drawer
 * that is only ~330px wide on a phone, a nowrap "P199,700.00" and an unbroken
 * product name cannot both fit, and the two ran straight over each other.
 * The name now owns the full row and the per-unit price sits underneath it, so
 * !important here is deliberate: it stops the older rules resurfacing if this
 * file is ever served from a stale cache.
 */
.aj3-cart-drawer .aj3-cart-item__name-row {
	display: block !important;
	min-width: 0;
}

.aj3-cart-drawer .aj3-cart-item__name {
	display: block;
	min-width: 0;
	color: var(--aj3-cart-dark) !important;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.35;
	overflow-wrap: anywhere;
	text-decoration: none !important;
}

/*
 * Line total.
 *
 * PHP now emits this on its own row (and only when the quantity is above one),
 * outside .aj3-cart-item__name-row, so it can no longer land beside the product
 * name. It is laid out as a label/value pair that wraps rather than a nowrap
 * number fighting for space.
 */
.aj3-cart-drawer .aj3-cart-item__line-total {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-block-start: 0.3rem;
	min-width: 0;
}

.aj3-cart-drawer .aj3-cart-item__line-total-label {
	color: var(--aj3-cart-muted);
	font-size: 0.7rem;
	line-height: 1.3;
}

/*
 * The line total is styled by WHERE it sits, not by its class alone.
 *
 * PHP now renders it inside .aj3-cart-item__line-total. A browser tab that is
 * still holding the previous markup has it inside .aj3-cart-item__name-row,
 * next to the product name -- which is the arrangement that overlapped. Keying
 * off the parent means the old arrangement stays hidden and the new one shows,
 * so a stale tab renders correctly the moment this stylesheet refreshes.
 */
.aj3-cart-drawer .aj3-cart-item__name-row .aj3-cart-item__price {
	display: none !important;
}

.aj3-cart-drawer .aj3-cart-item__line-total .aj3-cart-item__price {
	display: inline !important;
	min-width: 0;
	color: var(--aj3-cart-dark) !important;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.3;
}

.aj3-cart-drawer .aj3-cart-item__unit-price {
	margin-block-start: 0.85rem;
	color: #ef9e6b;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
}

.aj3-cart-drawer .aj3-cart-item__payment {
	margin-block-start: 0.35rem;
	color: var(--aj3-cart-muted);
	font-size: 0.7rem;
	line-height: 1.3;
}

.aj3-cart-drawer .aj3-cart-item__controls {
	display: grid;
	grid-template-columns: 2.45rem 2.9rem 2.45rem minmax(2.45rem, 1fr);
	align-items: center;
	gap: 0;
	margin-block-start: auto;
	padding-block-start: 0.8rem;
}

.aj3-cart-drawer .aj3-cart-stepper__button,
.aj3-cart-drawer .aj3-cart-stepper__quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 2.45rem;
	border-color: var(--aj3-cart-border) !important;
	background: #ffffff !important;
	color: var(--aj3-cart-dark) !important;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1;
}

.aj3-cart-drawer .aj3-cart-stepper__button:first-child {
	border-radius: 0.6rem 0 0 0.6rem !important;
}

.aj3-cart-drawer .aj3-cart-stepper__button:nth-child(3) {
	border-radius: 0 0.6rem 0.6rem 0 !important;
}

.aj3-cart-drawer .aj3-cart-stepper__quantity {
	visibility: visible !important;
	opacity: 1 !important;
}

.aj3-cart-drawer .aj3-cart-item__remove {
	justify-self: end;
	width: 2.45rem !important;
	height: 2.45rem !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #a64b55 !important;
}

.aj3-cart-drawer .aj3-cart-item__remove svg {
	width: 1.15rem;
	height: 1.15rem;
}

.aj3-cart-drawer__empty {
	flex: 1 1 auto;
	padding: 2rem 1.6rem;
	color: var(--aj3-cart-muted);
}

.aj3-cart-drawer .aj3-cart-drawer__footer {
	position: sticky;
	bottom: 0;
	z-index: 2;
	flex: 0 0 auto;
	padding: 1.45rem 1.6rem 1.4rem;
	border-block-start: 1px solid var(--aj3-cart-border);
	background: #ffffff;
}

.aj3-cart-drawer .aj3-cart-drawer__subtotal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: var(--aj3-cart-muted);
	font-size: 0.85rem;
}

.aj3-cart-drawer .aj3-cart-drawer__subtotal strong {
	min-width: 0;
	color: var(--aj3-cart-dark);
	font-size: clamp(1.35rem, 4vw, 1.65rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
	overflow-wrap: anywhere;
	text-align: end;
}

.aj3-cart-drawer .aj3-cart-drawer__footer > p {
	margin: 1.2rem 0;
	color: var(--aj3-cart-muted);
	font-size: 0.69rem;
	line-height: 1.45;
}

.aj3-cart-drawer .aj3-cart-drawer__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.55rem;
}

.aj3-cart-drawer .aj3-cart-drawer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	min-width: 0;
	min-height: 3.55rem;
	padding: 0.75rem 1rem;
	border: 1px solid #d8b9a6;
	border-radius: 0.75rem;
	background: #ffffff;
	box-shadow: none;
	color: var(--aj3-cart-dark);
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.aj3-cart-drawer .aj3-cart-drawer__button--solid {
	border-color: var(--aj3-cart-accent);
	background: var(--aj3-cart-accent);
	color: #ffffff;
}

.aj3-cart-drawer .aj3-cart-drawer__button:focus-visible,
.aj3-cart-drawer .aj3-cart-drawer__close:focus-visible,
.aj3-cart-drawer .aj3-cart-stepper__button:focus-visible,
.aj3-cart-drawer .aj3-cart-item__remove:focus-visible,
.aj3-cart-trigger:focus-visible {
	outline: 3px solid #1f1f1f;
	outline-offset: 3px;
}

html.aj3-cart-drawer-open {
	overflow: hidden;
}

body.admin-bar .aj3-cart-drawer {
	top: 32px;
	height: calc(100dvh - 32px);
	max-height: calc(100dvh - 32px);
}

@media (hover: hover) {
	.aj3-cart-trigger:hover {
		background: transparent !important;
		color: #1f1f1f !important;
		transform: translateY(-2px);
	}

	.aj3-cart-drawer .aj3-cart-drawer__button--solid:hover {
		border-color: #1f1f1f;
		background: #1f1f1f;
	}

	.aj3-cart-drawer .aj3-cart-drawer__button--outline:hover,
	.aj3-cart-drawer .aj3-cart-stepper__button:hover {
		border-color: var(--aj3-cart-accent) !important;
		background: #fef6f1 !important;
	}
}

@media (max-width: 620px) {
	.aj3-cart-trigger {
		right: 16px;
		bottom: 16px;
	}

	.aj3-cart-drawer {
		width: 100%;
		border-inline-start: 0;
	}

	.aj3-cart-drawer .aj3-cart-drawer__header,
	.aj3-cart-drawer .aj3-cart-drawer__footer,
	.aj3-cart-drawer__items,
	.aj3-cart-drawer__status {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.aj3-cart-drawer .aj3-cart-item {
		grid-template-columns: 5.5rem minmax(0, 1fr);
		gap: 0.75rem;
		padding: 0.8rem 0 1.4rem;
	}

	.aj3-cart-drawer .aj3-cart-item__image,
	.aj3-cart-drawer .aj3-cart-item__image a {
		width: 5.5rem;
		height: 6.5rem;
	}

	/* The text column has to be free to shrink or long names force the row wide. */
	.aj3-cart-drawer .aj3-cart-item__content {
		min-width: 0;
		max-width: 100%;
	}

	.aj3-cart-drawer .aj3-cart-item__unit-price {
		margin-block-start: 0.6rem;
		font-size: 0.95rem;
	}

	.aj3-cart-drawer .aj3-cart-item__controls {
		grid-template-columns: 2.35rem 2.7rem 2.35rem minmax(2.35rem, 1fr);
	}
}

/* Very small handsets: trade image size for reading width, keep 44px tap targets. */
@media (max-width: 400px) {
	.aj3-cart-drawer .aj3-cart-item {
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: 0.65rem;
	}

	.aj3-cart-drawer .aj3-cart-item__image,
	.aj3-cart-drawer .aj3-cart-item__image a {
		width: 4.5rem;
		height: 5.25rem;
	}

	.aj3-cart-drawer .aj3-cart-item__name {
		font-size: 0.78rem;
	}

	.aj3-cart-drawer .aj3-cart-item__unit-price {
		font-size: 0.9rem;
	}

	.aj3-cart-drawer .aj3-cart-item__controls {
		grid-template-columns: 2.2rem 2.5rem 2.2rem minmax(2.2rem, 1fr);
	}
}

@media (max-width: 782px) {
	body.admin-bar .aj3-cart-drawer {
		top: 46px;
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.aj3-cart-trigger,
	.aj3-cart-drawer,
	.aj3-cart-overlay {
		transition-duration: 0ms;
	}
}

/* CXCS Basket responsive rows — authoritative final component. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
	box-sizing: border-box;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name,
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
body.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment,
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-price,
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal,
body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-quantity {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: normal;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
	display: none;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
	display: table-cell;
}

body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper::before {
	content: none;
}

body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper input.qty,
body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper .aj3-cart-stepper__button {
	flex: 0 0 42px;
	width: 42px;
	min-width: 42px;
	height: 42px;
	min-height: 42px;
	font-size: 15px;
}

@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table {
		table-layout: fixed;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove {
		width: 44px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail {
		width: 92px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-price,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal {
		width: 132px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-quantity {
		width: 150px;
	}
}

@media (min-width: 1200px) {
	body.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		gap: 32px;
		align-items: start;
	}

	body.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
		min-width: 0;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 2;
		width: 100%;
		margin: 0;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	body.woocommerce-cart .woocommerce {
		display: block;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		width: 100%;
		margin-top: 28px;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.woocommerce-cart .woocommerce {
		display: block;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		width: 100%;
		margin-top: 24px;
		padding-left: 24px;
		border-left: 1px solid #ded6d1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr) minmax(126px, 0.55fr);
		gap: 12px 18px;
		width: 100%;
		margin: 0 0 18px;
		padding: 18px;
		border: 1px solid #ded6d1;
		border-radius: 12px;
		background: #ffffff;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		width: 84px;
		height: 84px;
		margin: 0;
		padding: 6px;
		object-fit: contain;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
		grid-column: 2;
		grid-row: 1;
		padding-right: 32px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name dl.variation,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name .aj3-cart-payment {
		display: block;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
		margin-top: 7px;
		font-size: 13px;
		line-height: 1.4;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 10px;
		padding-top: 10px;
		border-top: 1px solid #ded6d1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price {
		grid-column: 2;
		grid-row: 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		grid-column: 3;
		grid-row: 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		display: flex;
		grid-column: 3;
		grid-row: 1;
		align-items: center;
		justify-content: flex-end;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
		position: absolute;
		top: 12px;
		right: 12px;
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		z-index: 1;
	}

	body.woocommerce-cart .aj3-cart-coupon__row,
	body.woocommerce-cart .aj3-cart-coupon__form {
		grid-template-columns: minmax(0, 1fr) auto;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce {
		display: block;
	}

	body.woocommerce-cart .woocommerce > .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce > .cart-collaterals {
		width: 100%;
		padding: 14px;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		margin-top: 20px;
		border-left: 0;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 0 12px;
		width: 100%;
		margin: 0 0 16px;
		padding: 14px;
		border: 1px solid #ded6d1;
		border-radius: 12px;
		background: #ffffff;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		display: block;
		width: 68px;
		height: 68px;
		margin: 0;
		padding: 5px;
		object-fit: contain;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
		display: contents;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a {
		display: block;
		grid-column: 2;
		grid-row: 1;
		padding-right: 34px;
		max-width: 100%;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name dl.variation {
		display: block;
		grid-column: 2;
		grid-row: 2;
		margin: 7px 0 0;
		max-width: 100%;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name .aj3-cart-payment {
		display: flex;
		grid-column: 1 / -1;
		grid-row: 4;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding-top: 11px;
		border-top: 1px solid #ded6d1;
		font-size: 13px;
		line-height: 1.4;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		display: flex;
		grid-column: 1 / -1;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding: 11px 0 0;
		border-top: 1px solid #ded6d1;
		font-size: 15px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price {
		grid-row: 3;
		margin-top: 12px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		grid-row: 5;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		grid-row: 6;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity::before {
		display: block;
		flex: 0 0 auto;
		margin: 0;
		color: #838383;
		font-size: 13px;
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
		margin-left: auto;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
		position: absolute;
		top: 10px;
		right: 10px;
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		z-index: 1;
	}

	body.woocommerce-cart .aj3-cart-coupon__row,
	body.woocommerce-cart .aj3-cart-coupon__form {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body.woocommerce-cart .aj3-cart-coupon__update,
	body.woocommerce-cart .aj3-cart-coupon__form input,
	body.woocommerce-cart .aj3-cart-coupon__form button,
	body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
		width: 100%;
		min-height: 44px;
		margin: 0;
	}
}

/* CXCS Cart row alignment repair - final all-breakpoint component. */
body.woocommerce-cart .woocommerce {
	overflow: visible;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-inline-price {
	display: none;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr:not(.cart_item),
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr:not(.cart_item) > td.actions {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		display: grid;
		grid-template-columns: 32px 72px minmax(110px, 1fr) 108px 126px 120px;
		column-gap: 18px;
		row-gap: 0;
		align-items: center;
		width: 100%;
		margin: 0;
		padding: 20px 20px 20px 0;
		border-bottom: 1px solid #ded6d1;
		box-sizing: border-box;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		box-sizing: border-box;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
		grid-column: 1;
		grid-row: 1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
		grid-column: 2;
		grid-row: 1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		display: block;
		width: 72px;
		height: 72px;
		margin: 0;
		padding: 6px;
		object-fit: contain;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
		display: flex;
		grid-column: 3;
		grid-row: 1;
		flex-direction: column;
		align-items: flex-start;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price {
		display: flex;
		grid-column: 4;
		grid-row: 1;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		gap: 6px;
		min-height: 72px;
		text-align: right;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		display: flex;
		grid-column: 5;
		grid-row: 1;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		min-height: 72px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		display: flex;
		grid-column: 6;
		grid-row: 1;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		gap: 6px;
		min-height: 72px;
		text-align: right;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal::before {
		content: attr(data-title);
		color: #838383;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price .amount {
		color: #838383;
		font-weight: 600;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal .amount {
		color: #1f1f1f;
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-price .amount,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal .amount {
		white-space: nowrap;
	}
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex-wrap: wrap;
		padding: 24px 0 0;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
		display: flex;
		align-items: center;
		gap: 12px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon input,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon button,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions > button {
		min-height: 44px;
		margin: 0;
		border-radius: 8px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon input {
		min-width: 220px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions > button {
		margin-left: auto;
	}

}

@media (min-width: 1200px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
		gap: 24px;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		width: 100%;
		margin-top: 24px;
		padding-left: 24px;
		border-left: 1px solid #ded6d1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 88px repeat(2, minmax(0, 1fr));
		gap: 12px 18px;
		width: 100%;
		margin: 0 0 18px;
		padding: 18px;
		border: 1px solid #ded6d1;
		border-radius: 12px;
		background: #ffffff;
		box-sizing: border-box;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 3;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		width: 84px;
		height: 84px;
		margin: 0;
		padding: 6px;
		object-fit: contain;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
		grid-column: 2 / -1;
		grid-row: 1;
		padding-right: 32px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name dl.variation,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name .aj3-cart-payment {
		display: block;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .aj3-cart-payment {
		margin-top: 7px;
		font-size: 13px;
		line-height: 1.4;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 10px;
		padding-top: 10px;
		border-top: 1px solid #ded6d1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price {
		grid-column: 2;
		grid-row: 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		grid-column: 3;
		grid-row: 2;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		display: flex;
		grid-column: 2 / -1;
		grid-row: 3;
		align-items: center;
		justify-content: space-between;
		padding-top: 10px;
		border-top: 1px solid #ded6d1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity::before {
		content: attr(data-title);
		flex: 0 0 auto;
		color: #838383;
		font-size: 13px;
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
		position: absolute;
		top: 12px;
		right: 12px;
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		z-index: 1;
	}
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex-wrap: wrap;
		padding-top: 20px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
		display: flex;
		align-items: center;
		gap: 12px;
		min-width: 0;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon input,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon button,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions > button {
		min-height: 44px;
		margin: 0;
		border-radius: 8px;
	}

}

@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce > .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce > .cart-collaterals {
		width: 100%;
		padding: 14px;
	}

	body.woocommerce-cart .woocommerce > .cart-collaterals {
		margin-top: 20px;
		border-left: 0;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 0 12px;
		width: 100%;
		margin: 0 0 16px;
		padding: 14px;
		border: 1px solid #ded6d1;
		border-radius: 12px;
		background: #ffffff;
		box-sizing: border-box;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-thumbnail {
		grid-column: 1;
		grid-row: 1;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
		display: block;
		width: 68px;
		height: 68px;
		margin: 0;
		padding: 5px;
		object-fit: contain;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-name {
		display: block;
		grid-column: 2;
		grid-row: 1;
		padding-right: 34px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name > a,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name dl.variation,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name .aj3-cart-payment {
		display: block;
		max-width: 100%;
		white-space: normal;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name dl.variation,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-name .aj3-cart-payment {
		margin: 7px 0 0;
		font-size: 13px;
		line-height: 1.4;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		display: flex;
		grid-column: 1 / -1;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding: 11px 0 0;
		border-top: 1px solid #ded6d1;
		font-size: 15px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price {
		grid-row: 2;
		margin-top: 12px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal {
		grid-row: 3;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity {
		grid-row: 4;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-price::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-subtotal::before,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-quantity::before {
		content: attr(data-title);
		display: block;
		flex: 0 0 auto;
		margin: 0;
		color: #838383;
		font-size: 13px;
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce-cart-form .quantity.aj3-cart-stepper {
		margin-left: auto;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody > tr.cart_item > td.product-remove {
		position: absolute;
		top: 10px;
		right: 10px;
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		z-index: 1;
	}

	body.woocommerce-cart .aj3-cart-coupon__row,
	body.woocommerce-cart .aj3-cart-coupon__form {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body.woocommerce-cart .aj3-cart-coupon__update,
	body.woocommerce-cart .aj3-cart-coupon__form input,
	body.woocommerce-cart .aj3-cart-coupon__form button,
	body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
		width: 100%;
		min-height: 44px;
		margin: 0;
	}
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		padding-top: 18px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon input,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon button,
	body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions > button {
		width: 100%;
		min-height: 44px;
		margin: 0;
		border-radius: 8px;
	}

}

/* ==========================================================
   AJ3 COOL-AIRE — FINAL CART + CHECKOUT
   2026-08-18
   ========================================================== */

body.woocommerce-cart,
body.woocommerce-checkout {
	--aj3-commerce-orange: #f39a61;
	--aj3-commerce-orange-hover: #e98549;
	--aj3-commerce-ink: #202124;
	--aj3-commerce-muted: #6f7479;
	--aj3-commerce-line: #e2e5e8;
	--aj3-commerce-soft: #f7f8f9;
	--aj3-commerce-white: #ffffff;
	--aj3-commerce-blue: #04508c;
	--aj3-commerce-shadow: 0 14px 40px rgba(25, 33, 41, 0.08);
}


/* ==========================================================
   CART — DESKTOP STRUCTURE
   Products left / totals right.
   ========================================================== */

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
	width: min(1500px, calc(100% - 80px)) !important;
	max-width: 1500px !important;
	margin: 36px auto 80px !important;
}

/*
 * Two-column cart. Gated on the block's own container breakpoint rather than a
 * viewport width, because .wp-block-woocommerce-cart is a size container and
 * WooCommerce reflows its rows against that, not against the window.
 */
@container (min-width: 700px) {
	body.woocommerce-cart .wc-block-cart {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 390px !important;
		column-gap: 30px !important;
		align-items: start !important;
	}

	body.woocommerce-cart .wc-block-cart__main {
		grid-column: 1 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		grid-column: 2 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		position: sticky !important;
		top: 28px !important;
	}
}


/* Main cart card */

body.woocommerce-cart .wc-block-cart__main {
	padding: 26px 30px !important;
	border: 1px solid var(--aj3-commerce-line) !important;
	border-radius: 18px !important;
	background: var(--aj3-commerce-white) !important;
	box-shadow: var(--aj3-commerce-shadow) !important;
}

body.woocommerce-cart .wc-block-cart-items {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart .wc-block-cart-items thead {
	display: none !important;
}


/* Product rows */

body.woocommerce-cart
	.wc-block-cart-items
	.wc-block-cart-items__row {
	position: relative !important;
	border: 0 !important;
	border-bottom: 1px solid var(--aj3-commerce-line) !important;
	background: transparent !important;
}

body.woocommerce-cart
	.wc-block-cart-items
	.wc-block-cart-items__row:last-child {
	border-bottom: 0 !important;
}

body.woocommerce-cart
	.wc-block-cart-items
	.wc-block-cart-items__row td {
	padding-top: 28px !important;
	padding-bottom: 28px !important;
	border: 0 !important;
	vertical-align: middle !important;
}


/* Product image */

body.woocommerce-cart .wc-block-cart-item__image {
	width: 120px !important;
	min-width: 120px !important;
	padding-left: 4px !important;
	padding-right: 22px !important;
}

body.woocommerce-cart .wc-block-cart-item__image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 82px !important;
	height: 82px !important;
	padding: 9px !important;
	border: 1px solid #edf0f2 !important;
	border-radius: 10px !important;
	background: #f8fafb !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	width: 100% !important;
	height: 100% !important;
	max-width: 68px !important;
	max-height: 68px !important;
	object-fit: contain !important;
}


/* Product title */

body.woocommerce-cart .wc-block-components-product-name {
	color: var(--aj3-commerce-blue) !important;
	font-family: inherit !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
	color: var(--aj3-commerce-orange-hover) !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details {
	margin-top: 6px !important;
	color: var(--aj3-commerce-muted) !important;
	font-size: 0.79rem !important;
	line-height: 1.45 !important;
}


/* Prices */

body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total {
	color: var(--aj3-commerce-ink) !important;
}

body.woocommerce-cart
	.wc-block-components-formatted-money-amount,
body.woocommerce-cart
	.wc-block-components-product-price {
	color: var(--aj3-commerce-ink) !important;
	font-family: inherit !important;
	font-weight: 750 !important;
}


/* Desktop mini labels */

/*
 * Column labels belong to the wide layout only. Same threshold as the grid
 * above and as the block's own reflow, so labels and table can never appear
 * without each other.
 */
@container (min-width: 700px) {
	body.woocommerce-cart .wc-block-cart-item__prices::before {
		content: "PRICE";
		display: block;
		margin-bottom: 8px;
		color: var(--aj3-commerce-muted);
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.07em;
	}

	body.woocommerce-cart .wc-block-cart-item__quantity::before {
		content: "QUANTITY";
		display: block;
		margin-bottom: 8px;
		color: var(--aj3-commerce-muted);
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.07em;
	}
}

/*
 * SUBTOTAL column removed.
 *
 * It repeated PRICE exactly at quantity 1 and was otherwise just PRICE x
 * QUANTITY, both of which are already on the row. It was also the column that
 * broke the layout: the amount is nowrap and WooCommerce right-aligns this cell,
 * so on a tablet it ran past the right edge of the items card and collided with
 * the product cell. The order total still lives in the Cart Totals panel.
 * The thead that labelled it is hidden further up, so nothing is orphaned.
 */
body.woocommerce-cart .wc-block-cart-item__total,
body.woocommerce-cart .wc-block-cart-items__header-total {
	display: none !important;
}


/* Quantity */

body.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-grid !important;
	grid-template-columns: 38px 44px 38px !important;
	width: 120px !important;
	height: 42px !important;
	margin: 0 !important;
	border: 1px solid #ccd5dd !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

body.woocommerce-cart
	.wc-block-components-quantity-selector
	button {
	width: 38px !important;
	height: 40px !important;
	min-width: 38px !important;
	min-height: 40px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--aj3-commerce-blue) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
}

body.woocommerce-cart
	.wc-block-components-quantity-selector
	button:hover {
	background: #f2f6f9 !important;
}

body.woocommerce-cart
	.wc-block-components-quantity-selector
	input {
	width: 44px !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #d9e0e5 !important;
	border-right: 1px solid #d9e0e5 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--aj3-commerce-ink) !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-align: center !important;
}


/* Remove */

body.woocommerce-cart .wc-block-cart-item__remove-link {
	color: #a53c34 !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: #d33a2c !important;
	text-decoration: underline !important;
}


/* ==========================================================
   CART SIDEBAR
   ========================================================== */

body.woocommerce-cart .wc-block-cart__sidebar {
	padding: 30px !important;
	border: 1px solid var(--aj3-commerce-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: var(--aj3-commerce-shadow) !important;
}

body.woocommerce-cart .wc-block-cart__totals-title {
	margin: 0 0 10px !important;
	padding: 0 0 20px !important;
	border-bottom: 1px solid var(--aj3-commerce-line) !important;
	color: var(--aj3-commerce-blue) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-totals-wrapper {
	padding: 18px 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--aj3-commerce-line) !important;
}

body.woocommerce-cart
	.wc-block-components-totals-item__label {
	color: var(--aj3-commerce-muted) !important;
	font-size: 0.85rem !important;
	font-weight: 500 !important;
}

body.woocommerce-cart
	.wc-block-components-totals-item__value {
	color: var(--aj3-commerce-ink) !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
}

body.woocommerce-cart
	.wc-block-components-totals-footer-item
	.wc-block-components-totals-item__label,
body.woocommerce-cart
	.wc-block-components-totals-footer-item
	.wc-block-components-totals-item__value {
	color: var(--aj3-commerce-blue) !important;
	font-size: 1.02rem !important;
	font-weight: 800 !important;
}


/* Proceed to Checkout stays INSIDE right card */

body.woocommerce-cart .wc-block-cart__submit {
	margin: 24px 0 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-container {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 15px 20px !important;
	border: 1px solid var(--aj3-commerce-orange) !important;
	border-radius: 10px !important;
	background: var(--aj3-commerce-orange) !important;
	color: #fff !important;
	opacity: 1 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body.woocommerce-cart
	.wc-block-cart__submit-button
	.wc-block-components-button__text {
	color: #fff !important;
	font-size: 0.86rem !important;
	font-weight: 750 !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
	border-color: var(--aj3-commerce-orange-hover) !important;
	background: var(--aj3-commerce-orange-hover) !important;
}


/* ==========================================================
   CART RESPONSIVE
   ========================================================== */
/*
 * Outer width of the cart container.
 *
 * This one has to stay a viewport query: .wp-block-woocommerce-cart is itself
 * the size container, and a container query can never style the element that
 * establishes it. Narrowing the shell here is also what drives the block's own
 * reflow, since the container width is what its @container rules measure.
 */
@media (max-width: 1024px) {
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-cart .wc-block-cart {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		margin: 24px auto 56px !important;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-cart .wc-block-cart {
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		margin: 18px auto 44px !important;
	}
}

@container (max-width: 699px) {
	body.woocommerce-cart .wc-block-cart {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		position: static !important;
		margin-top: 22px !important;
	}

	/*
	 * In the stacked layout WooCommerce turns each row into an image column plus
	 * a details column. Let the details column actually shrink -- table cells
	 * default to min-width:auto, which is what pushes long product names past
	 * the right edge on a phone.
	 */
	body.woocommerce-cart .wc-block-cart-items,
	body.woocommerce-cart .wc-block-cart-items__row,
	body.woocommerce-cart .wc-block-cart-items__row td {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.woocommerce-cart .wc-block-cart-item__product {
		overflow-wrap: anywhere !important;
	}
}

/*
 * Compact card padding and thumbnails once the cart container is genuinely
 * narrow. 519px is the block's own next step down, so AJ3 tightens at exactly
 * the point WooCommerce reflows the row.
 */
@container (max-width: 519px) {
	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar {
		padding: 18px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		width: 84px !important;
		min-width: 84px !important;
		padding-right: 12px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image a {
		width: 68px !important;
		height: 68px !important;
	}
}

/* ==========================================================
   AJ3 COOL-AIRE — FINAL CHECKOUT MASTER V4
   Checkout only.
   The approved Cart CSS above this section stays untouched.
   ========================================================== */

body.woocommerce-checkout {
	--aj3-checkout-orange: #f39a61;
	--aj3-checkout-orange-hover: #e98549;
	--aj3-checkout-blue: #04508c;
	--aj3-checkout-ink: #202124;
	--aj3-checkout-muted: #6f767d;
	--aj3-checkout-border: #e2e5e8;
	--aj3-checkout-soft: #f7f8f9;
	--aj3-checkout-white: #ffffff;
	--aj3-checkout-shadow: 0 14px 38px rgba(25, 33, 41, 0.07);
}


/* ==========================================================
   PAGE / THEME WIDTH RESET
   ========================================================== */

body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .wp-block-post-content {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .wp-block-post-content {
	overflow: visible !important;
}


/* ==========================================================
   CHECKOUT OUTER WIDTH
   ========================================================== */

body.woocommerce-checkout
.wp-block-woocommerce-checkout.wc-block-checkout {
	width: min(1400px, calc(100% - 72px)) !important;
	max-width: 1400px !important;

	margin: 28px auto 72px !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* ==========================================================
   CRITICAL FIX:
   ACTUAL WOOCOMMERCE SIDEBAR LAYOUT
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout
.wc-block-components-sidebar-layout {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* ==========================================================
   DESKTOP
   ========================================================== */

@media (min-width: 1025px) {

	body.woocommerce-checkout
	.wc-block-checkout
	.wc-block-components-sidebar-layout {
		display: grid !important;

		grid-template-columns:
			minmax(0, 1fr)
			430px !important;

		gap: 44px !important;

		align-items: start !important;
	}


	/* LEFT */

	body.woocommerce-checkout
	.wc-block-components-main.wc-block-checkout__main,
	body.woocommerce-checkout
	.wc-block-checkout__main {
		grid-column: 1 !important;

		width: 100% !important;
		max-width: none !important;

		flex: none !important;
		flex-basis: auto !important;

		float: none !important;

		margin: 0 !important;
		padding: 0 !important;

		background: transparent !important;

		border: 0 !important;
		box-shadow: none !important;
	}


	/* RIGHT */

	body.woocommerce-checkout
	.wc-block-components-sidebar.wc-block-checkout__sidebar,
	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		grid-column: 2 !important;

		width: 100% !important;
		max-width: none !important;

		flex: none !important;
		flex-basis: auto !important;

		float: none !important;

		margin: 0 !important;

		position: sticky !important;
		top: 24px !important;
	}
}


/* ==========================================================
   FORM WIDTH RESET
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__form {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================================
   FONT RESET
   ========================================================== */

body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout h1,
body.woocommerce-checkout .wc-block-checkout h2,
body.woocommerce-checkout .wc-block-checkout h3,
body.woocommerce-checkout .wc-block-checkout h4,
body.woocommerce-checkout .wc-block-checkout p,
body.woocommerce-checkout .wc-block-checkout span,
body.woocommerce-checkout .wc-block-checkout label,
body.woocommerce-checkout .wc-block-checkout input,
body.woocommerce-checkout .wc-block-checkout select,
body.woocommerce-checkout .wc-block-checkout textarea,
body.woocommerce-checkout .wc-block-checkout button {
	font-family: inherit !important;
}


/* ==========================================================
   CHECKOUT SECTIONS
   ========================================================== */

body.woocommerce-checkout
.wc-block-components-checkout-step {
	width: 100% !important;
	max-width: none !important;

	margin: 0 0 20px !important;
	padding: 0 0 20px !important;

	border: 0 !important;
	border-bottom: 1px solid var(--aj3-checkout-border) !important;

	background: transparent !important;

	box-shadow: none !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-step:last-of-type {
	margin-bottom: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-checkout-step__heading {
	margin: 0 0 12px !important;
	padding: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-checkout-step__title {
	margin: 0 !important;

	color: var(--aj3-checkout-ink) !important;

	font-size: 1.05rem !important;
	font-weight: 750 !important;
	line-height: 1.3 !important;

	letter-spacing: -0.01em !important;

	text-transform: none !important;
}


body.woocommerce-checkout
.wc-block-components-checkout-step__description {
	margin: 4px 0 0 !important;

	color: var(--aj3-checkout-muted) !important;

	font-size: 0.77rem !important;
	line-height: 1.45 !important;
}


/* ==========================================================
   REMOVE OLD MINI CARDS ON LEFT
   ========================================================== */

body.woocommerce-checkout .wc-block-checkout__contact-fields,
body.woocommerce-checkout .wc-block-checkout__billing-fields,
body.woocommerce-checkout .wc-block-checkout__shipping-fields,
body.woocommerce-checkout .wc-block-checkout__payment-method {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	padding-left: 0 !important;
	padding-right: 0 !important;

	border-left: 0 !important;
	border-right: 0 !important;

	border-radius: 0 !important;

	background: transparent !important;

	box-shadow: none !important;
}


/* ==========================================================
   ADDRESS GRID
   ========================================================== */

body.woocommerce-checkout
.wc-block-components-address-form {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	column-gap: 14px !important;
	row-gap: 11px !important;

	width: 100% !important;
	max-width: none !important;
}


/* Country */

body.woocommerce-checkout
.wc-block-components-address-form
.wc-block-components-address-form__country {
	grid-column: 1 / -1 !important;
}


/* Street */

body.woocommerce-checkout
.wc-block-components-address-form
.wc-block-components-address-form__address_1 {
	grid-column: 1 / -1 !important;
}


/* Apartment */

body.woocommerce-checkout
.wc-block-components-address-form
.wc-block-components-address-form__address_2 {
	grid-column: 1 / -1 !important;
}


/* ==========================================================
   INPUTS
   ========================================================== */

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-combobox-control {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	box-sizing: border-box !important;
}


body.woocommerce-checkout
.wc-block-components-text-input input,

body.woocommerce-checkout
.wc-block-components-combobox-control input,

body.woocommerce-checkout
.wc-block-components-address-form input,

body.woocommerce-checkout
.wc-block-components-address-form select,

body.woocommerce-checkout
.wc-block-components-address-form textarea {
	width: 100% !important;
	max-width: none !important;

	min-width: 0 !important;
	min-height: 46px !important;

	margin: 0 !important;

	padding: 10px 13px !important;

	border: 1px solid #cfd5da !important;
	border-radius: 8px !important;

	background: #ffffff !important;

	box-shadow: none !important;

	color: var(--aj3-checkout-ink) !important;

	font-size: 0.86rem !important;
	line-height: 1.3 !important;

	box-sizing: border-box !important;
}


/* Focus */

body.woocommerce-checkout
.wc-block-components-text-input input:focus,

body.woocommerce-checkout
.wc-block-components-combobox-control input:focus,

body.woocommerce-checkout
.wc-block-components-address-form input:focus,

body.woocommerce-checkout
.wc-block-components-address-form select:focus,

body.woocommerce-checkout
.wc-block-components-address-form textarea:focus {
	border-color: var(--aj3-checkout-orange) !important;

	outline: none !important;

	box-shadow:
		0 0 0 3px rgba(243, 154, 97, 0.14) !important;
}


/* ==========================================================
   CHECKBOX
   ========================================================== */

body.woocommerce-checkout
.wc-block-components-checkbox {
	margin: 9px 0 0 !important;
}


body.woocommerce-checkout
.wc-block-components-checkbox__label {
	color: var(--aj3-checkout-ink) !important;

	font-size: 0.76rem !important;
	line-height: 1.4 !important;
}


/* ==========================================================
   PAYMENT OPTIONS
   ========================================================== */

body.woocommerce-checkout
.wc-block-components-radio-control {
	width: 100% !important;

	margin: 0 !important;

	overflow: hidden !important;

	border: 1px solid var(--aj3-checkout-border) !important;
	border-radius: 10px !important;

	background: #ffffff !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control__option {
	width: 100% !important;

	min-height: 52px !important;

	margin: 0 !important;
	padding: 12px 15px !important;

	border: 0 !important;
	border-bottom:
		1px solid var(--aj3-checkout-border) !important;

	background: #ffffff !important;

	box-sizing: border-box !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control__option:last-child {
	border-bottom: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control__option:hover {
	background: #fafafa !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control__option-checked {
	background: #fff6f0 !important;

	box-shadow:
		inset 3px 0 0 var(--aj3-checkout-orange) !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control__label {
	color: var(--aj3-checkout-ink) !important;

	font-size: 0.82rem !important;
	font-weight: 650 !important;
}


body.woocommerce-checkout
.wc-block-components-radio-control-accordion-content {
	padding: 0 15px 12px 42px !important;

	color: var(--aj3-checkout-muted) !important;

	font-size: 0.72rem !important;
	line-height: 1.4 !important;
}


/* ==========================================================
   ORDER NOTE
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__add-note {
	margin-top: 11px !important;
}


/* ==========================================================
   ORDER SUMMARY CARD
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__sidebar {
	padding: 26px !important;

	border: 1px solid var(--aj3-checkout-border) !important;
	border-radius: 16px !important;

	background: #ffffff !important;

	box-shadow: var(--aj3-checkout-shadow) !important;

	box-sizing: border-box !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary__button {
	width: 100% !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary__button-text {
	color: var(--aj3-checkout-ink) !important;

	font-size: 1.12rem !important;
	font-weight: 750 !important;
	line-height: 1.3 !important;
}


/* ==========================================================
   ORDER PRODUCTS
   ========================================================== */

body.woocommerce-checkout
.wc-block-components-order-summary-item {
	padding: 13px 0 !important;

	border-bottom:
		1px solid var(--aj3-checkout-border) !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary-item__image {
	width: 64px !important;
	min-width: 64px !important;

	height: 64px !important;

	margin-right: 13px !important;

	padding: 6px !important;

	border: 1px solid #eceff1 !important;
	border-radius: 9px !important;

	background: var(--aj3-checkout-soft) !important;

	box-sizing: border-box !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary-item__image img {
	width: 100% !important;
	height: 100% !important;

	object-fit: contain !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary-item__description {
	min-width: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-product-name {
	color: var(--aj3-checkout-ink) !important;

	font-size: 0.79rem !important;
	font-weight: 700 !important;

	line-height: 1.35 !important;

	text-decoration: none !important;
}


body.woocommerce-checkout
.wc-block-components-product-metadata {
	margin-top: 4px !important;

	color: var(--aj3-checkout-muted) !important;

	font-size: 0.67rem !important;
	line-height: 1.4 !important;
}


/* ==========================================================
   PRICE CLEANUP
   ========================================================== */

/*
 * Hide Woo's secondary/unit-price line.
 * Keep the final row price on the right.
 */

body.woocommerce-checkout
.wc-block-components-order-summary-item__individual-prices {
	display: none !important;
}


body.woocommerce-checkout
.wc-block-components-order-summary-item__total-price,

body.woocommerce-checkout
.wc-block-components-order-summary-item__total-price
.wc-block-components-formatted-money-amount {
	color: var(--aj3-checkout-ink) !important;

	font-size: 0.88rem !important;
	font-weight: 750 !important;

	line-height: 1.2 !important;

	white-space: nowrap !important;
}


/* Prevent old orange Woo/theme product prices. */

body.woocommerce-checkout
.wc-block-components-order-summary-item
.wc-block-components-formatted-money-amount {
	color: var(--aj3-checkout-ink) !important;
}


/* Quantity bubble */

body.woocommerce-checkout
.wc-block-components-order-summary-item__quantity {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 19px !important;
	height: 19px !important;
	min-width: 19px !important;

	border-radius: 50% !important;

	background: var(--aj3-checkout-ink) !important;

	color: #ffffff !important;

	font-size: 0.62rem !important;
	font-weight: 700 !important;
}


/* ==========================================================
   COUPON / TOTALS
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__sidebar
.wc-block-components-totals-wrapper {
	width: 100% !important;

	margin: 0 !important;
	padding: 13px 0 !important;

	border-top: 0 !important;

	border-bottom:
		1px solid var(--aj3-checkout-border) !important;
}


body.woocommerce-checkout
.wc-block-components-totals-item__label {
	color: var(--aj3-checkout-muted) !important;

	font-size: 0.79rem !important;
	font-weight: 500 !important;
}


body.woocommerce-checkout
.wc-block-components-totals-item__value,

body.woocommerce-checkout
.wc-block-components-totals-item__value
.wc-block-components-formatted-money-amount {
	color: var(--aj3-checkout-ink) !important;

	font-size: 0.85rem !important;
	font-weight: 700 !important;
}


/* TOTAL */

body.woocommerce-checkout
.wc-block-components-totals-footer-item {
	padding-top: 17px !important;
}


body.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label {
	color: var(--aj3-checkout-ink) !important;

	font-size: 1rem !important;
	font-weight: 800 !important;
}


body.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value,

body.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-formatted-money-amount {
	color: var(--aj3-checkout-orange) !important;

	font-size: 1.1rem !important;
	font-weight: 800 !important;
}


/* ==========================================================
   TERMS
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__terms {
	margin: 14px 0 0 !important;

	color: var(--aj3-checkout-muted) !important;

	font-size: 0.72rem !important;
	line-height: 1.45 !important;
}


body.woocommerce-checkout
.wc-block-checkout__terms a {
	color: var(--aj3-checkout-blue) !important;

	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}


/* ==========================================================
   PLACE ORDER
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__actions {
	width: 100% !important;

	margin: 16px 0 0 !important;
	padding: 0 !important;
}


body.woocommerce-checkout
.wc-block-components-checkout-place-order-button {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	max-width: none !important;

	min-height: 50px !important;

	margin: 0 !important;
	padding: 13px 20px !important;

	border:
		1px solid var(--aj3-checkout-orange) !important;

	border-radius: 9px !important;

	background:
		var(--aj3-checkout-orange) !important;

	box-shadow: none !important;

	color: #ffffff !important;

	font-size: 0.86rem !important;
	font-weight: 750 !important;

	line-height: 1.2 !important;

	opacity: 1 !important;

	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		transform 160ms ease !important;
}


body.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {
	border-color:
		var(--aj3-checkout-orange-hover) !important;

	background:
		var(--aj3-checkout-orange-hover) !important;

	transform: translateY(-1px);
}


/* ==========================================================
   REMOVE CLASSIC DUPLICATE PLACE ORDER
   ========================================================== */

body.woocommerce-checkout:has(.wc-block-checkout)
form.checkout.woocommerce-checkout #place_order,

body.woocommerce-checkout:has(.wc-block-checkout)
form.checkout.woocommerce-checkout .place-order {
	display: none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

	body.woocommerce-checkout
	.wp-block-woocommerce-checkout.wc-block-checkout {
		width: min(820px, calc(100% - 36px)) !important;

		margin: 24px auto 54px !important;
	}


	body.woocommerce-checkout
	.wc-block-checkout
	.wc-block-components-sidebar-layout {
		display: flex !important;

		flex-direction: column !important;

		gap: 24px !important;
	}


	body.woocommerce-checkout
	.wc-block-checkout__main,

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		width: 100% !important;
		max-width: none !important;

		flex: none !important;

		position: static !important;
	}


	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		order: 2 !important;
	}
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

	body.woocommerce-checkout
	.wp-block-woocommerce-checkout.wc-block-checkout {
		width: calc(100% - 22px) !important;

		margin: 16px auto 40px !important;
	}


	body.woocommerce-checkout
	.wc-block-components-address-form {
		grid-template-columns: 1fr !important;

		gap: 10px !important;
	}


	body.woocommerce-checkout
	.wc-block-components-address-form > * {
		grid-column: 1 !important;
	}


	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		padding: 18px !important;

		border-radius: 12px !important;
	}


	body.woocommerce-checkout
	.wc-block-components-order-summary-item__image {
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;

		margin-right: 10px !important;
	}


	body.woocommerce-checkout
	.wc-block-components-checkout-place-order-button {
		min-height: 48px !important;
	}
}

/* ==========================================================
   AJ3 COOL-AIRE — FINAL CHECKOUT CONTROL FIX V5
   Single authoritative correction layer.
   Fixes checkbox mark, contact spacing, floating select labels,
   payment radio alignment, and responsive spacing.
   ========================================================== */

/* ---------- Contact spacing ---------- */
body.woocommerce-checkout .wc-block-checkout__contact-fields {
	margin-bottom: 28px !important;
}

body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__container {
	display: block !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input {
	display: block !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__description {
	display: block !important;
	width: 100% !important;
	margin: 7px 0 0 !important;
	color: var(--aj3-checkout-muted) !important;
	font-size: 0.76rem !important;
	line-height: 1.45 !important;
}

body.woocommerce-checkout .wc-block-checkout__create-account,
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkbox {
	margin-top: 14px !important;
	margin-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__billing-fields {
	margin-top: 8px !important;
}

/* ---------- Billing grid ---------- */
body.woocommerce-checkout .wc-block-components-address-form__first_name { grid-column: 1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__last_name { grid-column: 2 !important; }
body.woocommerce-checkout .wc-block-components-address-form__country { grid-column: 1 / -1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__address_1 { grid-column: 1 / -1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__address_2 { grid-column: 1 / -1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__city { grid-column: 1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__state { grid-column: 2 !important; }
body.woocommerce-checkout .wc-block-components-address-form__postcode { grid-column: 1 !important; }
body.woocommerce-checkout .wc-block-components-address-form__phone { grid-column: 2 !important; }

body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
	grid-column: 1 / -1 !important;
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	margin: -2px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--aj3-checkout-blue) !important;
	font-size: 0.74rem !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

/* ---------- Country / State floating labels ---------- */
body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-block-components-combobox-control {
	position: relative !important;
	min-height: 56px !important;
	overflow: visible !important;
	background: #fff !important;
	border-radius: 8px !important;
}

body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form__country select,
body.woocommerce-checkout .wc-block-components-address-form__state select {
	height: 56px !important;
	min-height: 56px !important;
	padding: 21px 42px 7px 13px !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control label,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-block-components-combobox-control label {
	position: absolute !important;
	top: 7px !important;
	left: 13px !important;
	z-index: 2 !important;
	width: auto !important;
	max-width: calc(100% - 56px) !important;
	margin: 0 !important;
	padding: 0 3px !important;
	transform: none !important;
	background: #fff !important;
	color: #687078 !important;
	font-size: 0.68rem !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	pointer-events: none !important;
	white-space: nowrap !important;
}

/* ---------- Checkbox: use one mark only ---------- */
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-checkout__create-account,
body.woocommerce-checkout .wc-block-checkout__add-note {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 10px !important;
}

/* WooCommerce renders its own SVG mark. Hide it so we never get a second check. */
body.woocommerce-checkout .wc-block-components-checkbox__mark,
body.woocommerce-checkout svg.wc-block-components-checkbox__mark {
	display: none !important;
	visibility: hidden !important;
}

body.woocommerce-checkout .wc-block-components-checkbox input[type="checkbox"],
body.woocommerce-checkout .wc-block-checkout__create-account input[type="checkbox"],
body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"] {
	position: static !important;
	flex: 0 0 20px !important;
	display: inline-block !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #c9cfd4 !important;
	border-radius: 5px !important;
	background-color: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	vertical-align: middle !important;
}

body.woocommerce-checkout .wc-block-components-checkbox input[type="checkbox"]::before,
body.woocommerce-checkout .wc-block-components-checkbox input[type="checkbox"]::after,
body.woocommerce-checkout .wc-block-checkout__create-account input[type="checkbox"]::before,
body.woocommerce-checkout .wc-block-checkout__create-account input[type="checkbox"]::after,
body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]::before,
body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-checkout .wc-block-components-checkbox input[type="checkbox"]:checked,
body.woocommerce-checkout .wc-block-checkout__create-account input[type="checkbox"]:checked,
body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]:checked {
	border-color: var(--aj3-checkout-orange) !important;
	background-color: var(--aj3-checkout-orange) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 8.2l3 3L13 4.8'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 13px 13px !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-checkout__create-account label,
body.woocommerce-checkout .wc-block-checkout__add-note label {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
}

/* ---------- Payment radio: robust non-overlapping layout ---------- */
body.woocommerce-checkout .wc-block-components-radio-control__option {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 14px 16px 14px 52px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--aj3-checkout-border) !important;
	background: #fff !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:last-child {
	border-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-checked {
	background: #fff7f1 !important;
	box-shadow: inset 3px 0 0 var(--aj3-checkout-orange) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"],
body.woocommerce-checkout .wc-block-components-radio-control__input {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	z-index: 2 !important;
	display: block !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #c9cfd4 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
}

body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"]::before,
body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"]::after,
body.woocommerce-checkout .wc-block-components-radio-control__input::before,
body.woocommerce-checkout .wc-block-components-radio-control__input::after,
body.woocommerce-checkout .wc-block-components-radio-control__option::before,
body.woocommerce-checkout .wc-block-components-radio-control__option::after,
body.woocommerce-checkout .wc-block-components-radio-control__option-layout::before,
body.woocommerce-checkout .wc-block-components-radio-control__option-layout::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"]:checked,
body.woocommerce-checkout .wc-block-components-radio-control__input:checked {
	border: 2px solid #fff !important;
	background: radial-gradient(circle at center, var(--aj3-checkout-orange) 0 4px, #fff 4.5px 100%) !important;
	box-shadow: 0 0 0 1.5px var(--aj3-checkout-orange) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wc-block-components-radio-control__label-group {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--aj3-checkout-ink) !important;
	font-size: 0.82rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 16px 12px 52px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--aj3-checkout-border) !important;
	background: #fff8f4 !important;
	color: var(--aj3-checkout-muted) !important;
	font-size: 0.72rem !important;
	line-height: 1.45 !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-checkout__add-note {
	margin-top: 18px !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
	body.woocommerce-checkout .wc-block-components-address-form__first_name,
	body.woocommerce-checkout .wc-block-components-address-form__last_name,
	body.woocommerce-checkout .wc-block-components-address-form__country,
	body.woocommerce-checkout .wc-block-components-address-form__address_1,
	body.woocommerce-checkout .wc-block-components-address-form__address_2,
	body.woocommerce-checkout .wc-block-components-address-form__city,
	body.woocommerce-checkout .wc-block-components-address-form__state,
	body.woocommerce-checkout .wc-block-components-address-form__postcode,
	body.woocommerce-checkout .wc-block-components-address-form__phone {
		grid-column: 1 !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control__option {
		padding: 13px 13px 13px 48px !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"],
	body.woocommerce-checkout .wc-block-components-radio-control__input {
		left: 14px !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
		padding: 9px 13px 11px 48px !important;
	}
}


/* ==========================================================
   CHECKOUT FIELD ALIGNMENT
   Country/State are <select> controls. WooCommerce core gives
   .wc-blocks-components-select a 12px top margin, and the rules
   above size those selects at 56px while every other field is
   46px min-height (50px rendered). That made State/County sit
   12px lower and 6px taller than Town/City beside it.
   Normalise both selects to the text-input metrics.
   ========================================================== */
body.woocommerce-checkout
.wc-block-components-address-form
.wc-blocks-components-select {
	margin-top: 0 !important;
}
body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-block-components-combobox-control {
	min-height: 50px !important;
}
body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form__country select,
body.woocommerce-checkout .wc-block-components-address-form__state select {
	height: 50px !important;
	min-height: 50px !important;
	padding: 19px 42px 6px 13px !important;
}


/* ==========================================================
   CHECKOUT FLOATING LABELS
   WooCommerce core pins the floating label at top:6px with
   line-height:22px and scale(0.82), so it occupies the first
   24px of the control. The fields only had 10px of top
   padding, so the typed value sat 13px INSIDE the label.
   Core also pins the label at left:10px while the fields were
   padded 13px, leaving label and value 3px out of line.
   Give the value its own row below the label, and align both
   on the same 10px left edge.
   ========================================================== */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form input {
	padding-top: 24px !important;
	padding-bottom: 6px !important;
	padding-left: 10px !important;
}
body.woocommerce-checkout .wc-block-components-address-form__country select,
body.woocommerce-checkout .wc-block-components-address-form__state select {
	padding-top: 24px !important;
	padding-bottom: 6px !important;
	padding-left: 10px !important;
}
body.woocommerce-checkout .wc-block-components-address-form__country .wc-blocks-components-select label,
body.woocommerce-checkout .wc-block-components-address-form__state .wc-blocks-components-select label {
	left: 10px !important;
}
