/*
 * AJ Trading cart presentation.
 * Scoped to body.woocommerce-cart to leave the rest of the shop untouched.
 */

body.woocommerce-cart {
	--aj-cart-ink: #202124;
	--aj-cart-muted: #6f7075;
	--aj-cart-line: #e8e4e1;
	--aj-cart-canvas: #faf9f7;
	--aj-cart-card: #ffffff;
	--aj-cart-blush: #f9e8ed;
	--aj-cart-pink: #dc6688;
	--aj-cart-pink-dark: #bd466a;
	--aj-cart-green: #31775c;
	background: var(--aj-cart-canvas);
	color: var(--aj-cart-ink);
	overflow-x: hidden;
}

body.woocommerce-cart .site-content > .ast-container,
body.woocommerce-cart .ast-container {
	max-width: 1280px;
}

body.woocommerce-cart #primary {
	width: 100%;
	margin: 0 !important;
	padding: 0 24px;
}

body.woocommerce-cart #secondary,
body.woocommerce-cart .entry-header,
body.woocommerce-cart .ast-article-single > .entry-header {
	display: none !important;
}

body.woocommerce-cart .ast-article-single,
body.woocommerce-cart .ast-woocommerce-container,
body.woocommerce-cart .site-main > article {
	padding: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart .entry-content {
	margin: 0;
}

.aj-cart-hero {
	position: relative;
	display: flex;
	min-height: 230px;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	margin: 0 calc(50% - 50vw);
	padding: 44px max(24px, calc((100vw - 1180px) / 2)) 40px;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 15%, rgba(255, 255, 255, .75) 0 3px, transparent 4px),
		linear-gradient(112deg, #f9e9ee 0%, #fff6f2 70%, #f7efe9 100%);
	border-bottom: 1px solid #f1dfe3;
}

.aj-cart-hero::before,
.aj-cart-hero::after {
	position: absolute;
	content: "";
	pointer-events: none;
	border: 1px solid rgba(218, 102, 136, .18);
	border-radius: 999px;
}

.aj-cart-hero::before {
	top: -118px;
	right: -45px;
	width: 330px;
	height: 330px;
}

.aj-cart-hero::after {
	top: -57px;
	right: 18px;
	width: 205px;
	height: 205px;
}

.aj-cart-hero__copy,
.aj-checkout-steps {
	position: relative;
	z-index: 1;
}

.aj-cart-back {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 26px;
	color: #525258;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.aj-cart-back svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	transition: transform .2s ease;
}

.aj-cart-back:hover {
	color: var(--aj-cart-pink-dark);
}

.aj-cart-back:hover svg {
	transform: translateX(-3px);
}

.aj-cart-kicker {
	margin: 0 0 5px !important;
	color: var(--aj-cart-pink-dark);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.aj-cart-hero h1 {
	margin: 0 !important;
	color: var(--aj-cart-ink);
	font-family: inherit;
	font-size: clamp(34px, 4.5vw, 56px);
	font-weight: 650;
	letter-spacing: -.045em;
	line-height: 1.05;
}

.aj-cart-count {
	margin: 10px 0 0 !important;
	color: var(--aj-cart-muted);
	font-size: 14px;
}

.aj-checkout-steps {
	display: flex;
	width: min(390px, 42%);
	margin: 0 0 9px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.aj-checkout-steps li {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	color: #999398;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.aj-checkout-steps li:not(:last-child)::after {
	position: absolute;
	top: 15px;
	left: calc(50% + 18px);
	width: calc(100% - 36px);
	height: 1px;
	content: "";
	background: #dbcfd2;
}

.aj-checkout-steps span {
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	border: 1px solid #d8cdd0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .65);
	font-size: 11px;
}

.aj-checkout-steps .is-current {
	color: var(--aj-cart-ink);
}

.aj-checkout-steps .is-current span {
	border-color: var(--aj-cart-pink);
	background: var(--aj-cart-pink);
	box-shadow: 0 5px 15px rgba(189, 70, 106, .18);
	color: #fff;
}

.aj-cart-shell {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 50px 0 70px;
}

/* Shared notices */
body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty),
body.woocommerce-cart .wc-block-components-notice-banner {
	margin: 0 0 24px;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .wc-block-components-notice-banner {
	border: 1px solid #dfe8e3;
	border-radius: 12px;
	background: #f5faf7;
	box-shadow: none;
	color: #315746;
}

/* Classic cart */
body.woocommerce-cart .woocommerce {
	width: 100%;
}

body.woocommerce-cart .woocommerce form.woocommerce-cart-form {
	float: left;
	width: calc(100% - 405px);
	margin: 0;
}

body.woocommerce-cart table.shop_table {
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 16px;
	background: var(--aj-cart-card);
	box-shadow: 0 12px 38px rgba(42, 34, 29, .055);
}

body.woocommerce-cart table.shop_table thead th {
	padding: 17px 18px;
	border-bottom: 1px solid var(--aj-cart-line);
	background: transparent;
	color: #929093;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td {
	padding: 24px 16px;
	border-width: 0 0 1px;
	border-color: var(--aj-cart-line);
	background: transparent;
	vertical-align: middle;
}

body.woocommerce-cart table.shop_table tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-cart td.product-remove {
	width: 42px;
	padding-right: 2px !important;
}

body.woocommerce-cart td.product-remove a.remove {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: #f5f3f2;
	color: #928c8e !important;
	font-size: 0;
	text-decoration: none;
}

body.woocommerce-cart td.product-remove a.remove::before {
	content: "×";
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
}

body.woocommerce-cart td.product-remove a.remove:hover {
	background: #fdecef;
	color: var(--aj-cart-pink-dark) !important;
}

body.woocommerce-cart td.product-thumbnail {
	width: 104px;
}

body.woocommerce-cart td.product-thumbnail img {
	width: 82px;
	height: 82px;
	padding: 6px;
	border: 1px solid #eeeae7;
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
}

body.woocommerce-cart td.product-name a {
	color: var(--aj-cart-ink);
	font-size: 15px;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-cart td.product-name a:hover {
	color: var(--aj-cart-pink-dark);
}

body.woocommerce-cart td.product-name dl.variation {
	margin-top: 7px;
	color: var(--aj-cart-muted);
	font-size: 12px;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal {
	color: var(--aj-cart-ink);
	font-size: 14px;
	font-weight: 650;
	white-space: nowrap;
}

body.woocommerce-cart .quantity {
	display: inline-grid;
	grid-template-columns: 32px 42px 32px;
	align-items: center;
	overflow: hidden;
	border: 1px solid #dedbd8;
	border-radius: 9px;
	background: #fff;
}

body.woocommerce-cart .quantity .qty {
	width: 42px;
	min-height: 36px;
	padding: 0;
	border: 0;
	border-right: 1px solid #ebe8e5;
	border-left: 1px solid #ebe8e5;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: center;
	-moz-appearance: textfield;
}

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

.aj-qty-button {
	display: grid;
	min-width: 32px;
	min-height: 36px;
	padding: 0;
	place-items: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #565359 !important;
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
}

.aj-qty-button:hover {
	background: #f9f4f5 !important;
	color: var(--aj-cart-pink-dark) !important;
}

body.woocommerce-cart .shop_table .actions {
	padding: 18px !important;
}

body.woocommerce-cart .shop_table .coupon {
	display: flex;
}

body.woocommerce-cart .shop_table .coupon .input-text {
	width: 190px !important;
	min-height: 43px;
	margin: 0 -1px 0 0 !important;
	padding: 0 13px !important;
	border: 1px solid #dedbd8;
	border-radius: 9px 0 0 9px;
	box-shadow: none;
	font-size: 13px;
}

body.woocommerce-cart .shop_table .coupon .button {
	min-height: 43px;
	padding: 0 16px;
	border: 1px solid var(--aj-cart-ink);
	border-radius: 0 9px 9px 0;
	background: var(--aj-cart-ink);
	color: #fff;
	font-size: 12px;
	font-weight: 650;
}

body.woocommerce-cart .shop_table button[name="update_cart"] {
	float: right;
	min-height: 43px;
	border-radius: 9px;
	background: #f2f0ee;
	color: #575357;
	font-size: 12px;
}

body.woocommerce-cart .cart-collaterals {
	float: right;
	width: 365px;
	margin: 0;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	top: 28px;
	float: none;
	width: 100%;
	padding: 27px;
	border: 1px solid #ebe6e3;
	border-radius: 16px;
	background: var(--aj-cart-card);
	box-shadow: 0 12px 38px rgba(42, 34, 29, .07);
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 18px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--aj-cart-line);
	color: var(--aj-cart-ink);
	font-size: 22px;
	font-weight: 650;
	letter-spacing: -.025em;
}

body.woocommerce-cart .cart_totals table {
	box-shadow: none;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
	padding: 13px 0;
	border-bottom: 1px solid #f0edeb;
	background: transparent;
	font-size: 13px;
}

body.woocommerce-cart .cart_totals table th {
	width: 42%;
	color: var(--aj-cart-muted);
	font-weight: 500;
}

body.woocommerce-cart .cart_totals table td {
	color: var(--aj-cart-ink);
	text-align: right;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	padding-top: 18px;
	border-bottom: 0;
	color: var(--aj-cart-ink);
	font-size: 16px;
	font-weight: 700;
}

body.woocommerce-cart .cart_totals .order-total .amount {
	color: var(--aj-cart-pink-dark);
	font-size: 21px;
}

body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 17px 0 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 1px solid var(--aj-cart-pink-dark);
	border-radius: 11px;
	background: var(--aj-cart-pink);
	box-shadow: 0 9px 22px rgba(189, 70, 106, .19);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .01em;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
	margin-left: 9px;
	content: "→";
	font-size: 18px;
	transition: transform .2s ease;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	transform: translateY(-1px);
	background: var(--aj-cart-pink-dark);
	box-shadow: 0 12px 26px rgba(189, 70, 106, .25);
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after {
	transform: translateX(3px);
}

.aj-cart-checkout-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 13px 0 0 !important;
	color: #858185;
	font-size: 11px;
}

.aj-cart-checkout-note svg {
	width: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

/* Cart block */
body.woocommerce-cart .wp-block-woocommerce-cart {
	margin: 0;
}

body.woocommerce-cart .wc-block-cart:not(.is-loading) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 365px;
	gap: 36px;
	align-items: start;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
	width: 100%;
	padding: 0;
}

body.woocommerce-cart .wc-block-cart__main {
	padding: 0;
	border: 1px solid #ebe6e3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 38px rgba(42, 34, 29, .055);
}

body.woocommerce-cart table.wc-block-cart-items {
	margin: 0;
	border: 0;
}

body.woocommerce-cart table.wc-block-cart-items thead {
	font-size: 11px;
}

body.woocommerce-cart table.wc-block-cart-items thead th {
	padding: 17px 22px;
	border-bottom: 1px solid var(--aj-cart-line);
	color: #929093;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td {
	padding: 24px 16px;
	border-bottom: 1px solid var(--aj-cart-line);
	vertical-align: middle;
}

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

body.woocommerce-cart .wc-block-cart-item__image {
	width: 118px;
	padding-left: 22px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	aspect-ratio: 1;
	padding: 7px;
	border: 1px solid #eeeae7;
	border-radius: 12px;
	object-fit: contain;
}

body.woocommerce-cart .wc-block-components-product-name {
	color: var(--aj-cart-ink);
	font-size: 15px;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
	color: var(--aj-cart-pink-dark);
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details {
	color: var(--aj-cart-muted);
	font-size: 12px;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
	height: 38px;
	margin-top: 12px;
	border-color: #dedbd8;
	border-radius: 9px;
}

body.woocommerce-cart .wc-block-components-quantity-selector::after {
	border-color: #dedbd8;
	border-radius: 9px;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
	color: #8a8588;
	font-size: 11px;
	text-decoration: underline;
	text-decoration-color: #d6d1d2;
	text-underline-offset: 3px;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--aj-cart-pink-dark);
}

body.woocommerce-cart .wc-block-cart__sidebar {
	position: sticky;
	top: 28px;
	padding: 27px;
	border: 1px solid #ebe6e3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 38px rgba(42, 34, 29, .07);
}

body.woocommerce-cart .wc-block-cart__totals-title {
	height: auto;
	margin: 0 0 5px;
	padding: 0 0 17px;
	border-bottom: 1px solid var(--aj-cart-line);
	color: var(--aj-cart-ink);
	font-size: 22px;
	font-weight: 650;
	letter-spacing: -.025em;
	text-align: left;
	text-transform: none;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
	padding: 15px 0;
	border-top: 0;
	border-bottom: 1px solid #f0edeb;
}

body.woocommerce-cart .wc-block-components-totals-item {
	padding: 0;
	color: var(--aj-cart-muted);
	font-size: 13px;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
	color: var(--aj-cart-ink);
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
	padding: 18px 0 4px;
	color: var(--aj-cart-ink);
	font-size: 16px;
	font-weight: 700;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--aj-cart-pink-dark);
	font-size: 21px;
}

body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
	min-height: 54px;
	margin-top: 17px;
	border: 1px solid var(--aj-cart-pink-dark);
	border-radius: 11px;
	background: var(--aj-cart-pink);
	box-shadow: 0 9px 22px rgba(189, 70, 106, .19);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button:hover {
	transform: translateY(-1px);
	background: var(--aj-cart-pink-dark);
	box-shadow: 0 12px 26px rgba(189, 70, 106, .25);
}

body.woocommerce-cart .wc-block-components-totals-coupon-link {
	color: var(--aj-cart-pink-dark);
	font-size: 12px;
	font-weight: 650;
}

body.woocommerce-cart .wc-block-cart__submit-container::after {
	display: block;
	margin: 12px 0 0;
	content: "Secure checkout — no hidden surprises";
	color: #858185;
	font-size: 11px;
	text-align: center;
}

/* Full-width cross-sells, moved out of the order-summary column in PHP. */
body.woocommerce-cart .cross-sells {
	clear: both;
	width: 100% !important;
	padding-top: 48px;
}

body.woocommerce-cart .cross-sells > h2 {
	margin: 0 0 22px;
	color: var(--aj-cart-ink);
	font-size: 26px;
	font-weight: 650;
	letter-spacing: -.03em;
}

body.woocommerce-cart .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

body.woocommerce-cart .cross-sells ul.products::before,
body.woocommerce-cart .cross-sells ul.products::after {
	display: none;
}

body.woocommerce-cart .cross-sells ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 18px;
	border: 1px solid #ebe6e3;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(42, 34, 29, .045);
}

/* Empty cart, classic and block */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .woocommerce > .cart-empty {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding: 70px 30px 34px;
	border: 1px solid #ebe6e3;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 38px rgba(42, 34, 29, .055);
	text-align: center;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block::before,
body.woocommerce-cart .woocommerce > .cart-empty::before {
	display: grid;
	width: 64px;
	height: 64px;
	margin: 0 auto 22px;
	place-items: center;
	border-radius: 50%;
	background: var(--aj-cart-blush);
	content: "♡";
	color: var(--aj-cart-pink-dark);
	font-size: 29px;
	line-height: 1;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
body.woocommerce-cart .woocommerce > .cart-empty {
	color: var(--aj-cart-ink);
	font-size: 28px;
	font-weight: 650;
	letter-spacing: -.025em;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
	display: none;
}

body.woocommerce-cart .woocommerce > .return-to-shop {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 30px 65px;
	border: solid #ebe6e3;
	border-width: 0 1px 1px;
	border-radius: 0 0 18px 18px;
	background: #fff;
	text-align: center;
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	padding: 14px 23px;
	border-radius: 10px;
	background: var(--aj-cart-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 650;
}

.aj-cart-assurances {
	display: grid;
	clear: both;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 42px;
	padding: 25px 0;
	border-top: 1px solid var(--aj-cart-line);
	border-bottom: 1px solid var(--aj-cart-line);
}

.aj-cart-assurance {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 0 25px;
}

.aj-cart-assurance + .aj-cart-assurance {
	border-left: 1px solid var(--aj-cart-line);
}

.aj-cart-assurance__icon {
	display: grid;
	width: 39px;
	height: 39px;
	flex: 0 0 39px;
	place-items: center;
	border-radius: 50%;
	background: var(--aj-cart-blush);
	color: var(--aj-cart-pink-dark);
}

.aj-cart-assurance__icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.aj-cart-assurance > span:last-child {
	display: flex;
	flex-direction: column;
	color: var(--aj-cart-muted);
	font-size: 11px;
	line-height: 1.45;
}

.aj-cart-assurance strong {
	color: var(--aj-cart-ink);
	font-size: 13px;
	font-weight: 650;
}

@media (max-width: 980px) {
	.aj-cart-hero {
		min-height: 215px;
		padding-right: 32px;
		padding-left: 32px;
	}

	.aj-cart-shell {
		padding-top: 36px;
	}

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

	body.woocommerce-cart .cart-collaterals {
		margin-top: 28px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-cart .wc-block-cart__sidebar {
		position: static;
	}

	body.woocommerce-cart .wc-block-cart:not(.is-loading) {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media (max-width: 680px) {
	body.woocommerce-cart #primary {
		padding: 0 16px;
	}

	.aj-cart-hero {
		display: block;
		min-height: 0;
		padding: 29px 20px 26px;
	}

	.aj-cart-back {
		margin-bottom: 24px;
	}

	.aj-cart-hero h1 {
		font-size: 36px;
	}

	.aj-checkout-steps {
		width: 100%;
		margin: 27px 0 0;
	}

	.aj-checkout-steps li {
		font-size: 9px;
	}

	.aj-cart-shell {
		padding: 25px 0 48px;
	}

	body.woocommerce-cart table.shop_table,
	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-cart .wc-block-cart__sidebar {
		border-radius: 13px;
	}

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

	body.woocommerce-cart table.shop_table_responsive tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 82px minmax(0, 1fr);
		min-height: 126px;
		padding: 18px 14px 22px;
		border-bottom: 1px solid var(--aj-cart-line);
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
		display: block;
		width: auto;
		padding: 5px 0;
		border: 0;
		text-align: left !important;
	}

	body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
		display: none;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-remove {
		position: absolute;
		z-index: 2;
		top: 11px;
		right: 10px;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 5;
	}

	body.woocommerce-cart td.product-thumbnail img {
		width: 68px;
		height: 68px;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-name {
		grid-column: 2;
		padding-right: 30px;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-price {
		display: none;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-quantity {
		grid-column: 2;
	}

	body.woocommerce-cart table.shop_table_responsive td.product-subtotal {
		position: absolute;
		right: 14px;
		bottom: 29px;
		margin: 0;
		text-align: right !important;
	}

	body.woocommerce-cart .shop_table .actions {
		display: flex !important;
		flex-direction: column;
		gap: 12px;
	}

	body.woocommerce-cart .shop_table .coupon {
		width: 100%;
	}

	body.woocommerce-cart .shop_table .coupon .input-text {
		width: 100% !important;
	}

	body.woocommerce-cart .shop_table button[name="update_cart"] {
		float: none;
		width: 100%;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-cart .wc-block-cart__sidebar {
		max-width: 100%;
		padding: 22px 19px;
	}

	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr);
		padding: 18px 14px;
		border-bottom: 1px solid var(--aj-cart-line);
	}

	body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		grid-row: 1 / 3;
		padding: 0 14px 0 0 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		margin-top: 10px;
		text-align: left;
	}

	.aj-cart-assurances {
		grid-template-columns: 1fr;
		margin-top: 30px;
		padding: 2px 0;
	}

	.aj-cart-assurance {
		justify-content: flex-start;
		padding: 17px 10px;
	}

	.aj-cart-assurance + .aj-cart-assurance {
		border-top: 1px solid var(--aj-cart-line);
		border-left: 0;
	}

	body.woocommerce-cart .cross-sells {
		padding-top: 36px;
	}

	body.woocommerce-cart .cross-sells ul.products {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aj-cart-back svg,
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
		transition: none;
	}
}
