.woocommerce form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(520px, 0.95fr);
	column-gap: 32px;
	row-gap: 0;
	align-items: start;
	margin-top: 28px;
}

.woocommerce form.checkout #customer_details,
.woocommerce form.checkout #order_review,
.woocommerce form.checkout .woocommerce-NoticeGroup {
	min-width: 0;
}

.woocommerce form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 2;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
	padding: 28px;
}

.woocommerce form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
}

.woocommerce form.checkout #order_review_heading {
	align-self: end;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	padding: 24px 26px 10px;
	font-size: 1.35rem;
	line-height: 1.2;
	text-align: center;
}

.woocommerce form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	position: sticky;
	top: 24px;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0 0 14px 14px;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
	padding: 0 0 15px;
}

.woocommerce form.checkout .col2-set,
.woocommerce form.checkout .col-1,
.woocommerce form.checkout .col-2 {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce form.checkout .col2-set {
	display: grid;
	gap: 28px;
}

.woocommerce form.checkout h3 {
	margin: 0 0 18px;
	color: #111827;
	font-size: 1.3rem;
	line-height: 1.25;
}

.woocommerce form.checkout .form-row {
	margin-bottom: 18px;
}

.woocommerce form.checkout label {
	color: #374151;
	font-weight: 650;
	margin-bottom: 7px;
}

.woocommerce form.checkout input.input-text,
.woocommerce form.checkout textarea,
.woocommerce form.checkout select,
.woocommerce form.checkout .select2-container--default .select2-selection--single {
	min-height: 46px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	padding: 10px 13px;
	color: #111827;
}

.woocommerce form.checkout textarea {
	min-height: 110px;
}

.woocommerce form.checkout input.input-text:focus,
.woocommerce form.checkout textarea:focus,
.woocommerce form.checkout select:focus,
.woocommerce form.checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #2563eb;
	outline: 3px solid rgba(37, 99, 235, 0.14);
	outline-offset: 0;
}

.woocommerce form.checkout .shop_table {
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 14px;
	background: transparent;
	margin: 0;
	overflow: visible;
}

.woocommerce form.checkout .shop_table th,
.woocommerce form.checkout .shop_table td {
	border-top: 1px solid #eef2f7;
	padding: 16px 0;
	vertical-align: top;
}

/* ===================================== */
/* Checkout / cart 3D card effect */
/* ===================================== */

.woocommerce table.shop_table {
	border-collapse: separate;
	border-spacing: 0 14px;
	background: transparent;
}

.woocommerce table.shop_table tbody tr.cart_item,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.07);
	box-shadow:
		0 8px 20px rgba(15, 23, 42, 0.06),
		0 2px 6px rgba(15, 23, 42, 0.04);
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease;
}

.woocommerce table.shop_table tbody tr.cart_item td,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item td {
	background: #fff;
	border-top: 0 !important;
	border-bottom: 0 !important;
	padding-top: 14px;
	padding-bottom: 14px;
}

.woocommerce table.shop_table tbody tr.cart_item td:first-child,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item td:first-child {
	border-top-left-radius: 14px;
	border-bottom-left-radius: 14px;
	padding-left: 16px;
}

.woocommerce table.shop_table tbody tr.cart_item td:last-child,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item td:last-child {
	border-top-right-radius: 14px;
	border-bottom-right-radius: 14px;
	padding-right: 16px;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce table.shop_table tbody tr.cart_item:hover,
	.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item:hover {
		transform: translateY(-2px);
		box-shadow:
			0 14px 28px rgba(15, 23, 42, 0.08),
			0 4px 10px rgba(15, 23, 42, 0.05);
	}
}

.woocommerce .cart_item .product-thumbnail img,
.woocommerce .woocommerce-cart-form__cart-item .product-thumbnail img {
	display: block;
	border-radius: 12px;
}

/* ===================================== */
/* Larger preview image (cart + checkout) */
/* ===================================== */

.woocommerce .cart_item .product-thumbnail {
	width: 90px;
}

.woocommerce .cart_item .product-thumbnail img {
	width: 90px;
	height: auto;
	border-radius: 10px;
}

.woocommerce-checkout-review-order .product-thumbnail img {
	width: 90px;
	height: auto;
	border-radius: 10px;
}

.woocommerce .ess-shop-configured-preview img {
	width: 90px;
	max-width: 90px;
}

.woocommerce form.checkout .shop_table thead th {
	border-top: 0;
	color: #6b7280;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.woocommerce form.checkout .shop_table thead,
.woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce form.checkout .shop_table .product-total,
.woocommerce form.checkout .shop_table tfoot td {
	text-align: right;
}

.woocommerce form.checkout .shop_table .product-name {
	width: 74%;
}

.woocommerce form.checkout .shop_table .product-total {
	width: 26%;
	white-space: nowrap;
}

.woocommerce form.checkout .shop_table .product-total .ess-shop-checkout-quantity {
	display: inline-block;
	margin-left: 14px;
	color: #111827;
	font-weight: 500;
}

.woocommerce form.checkout .shop_table tfoot th,
.woocommerce form.checkout .shop_table tfoot td {
	color: #111827;
	font-weight: 700;
}

.woocommerce form.checkout .shop_table tfoot .order-total th,
.woocommerce form.checkout .shop_table tfoot .order-total td {
	font-size: 1.3rem;
}

.woocommerce form.checkout .shop_table tfoot .cart-subtotal th,
.woocommerce form.checkout .shop_table tfoot .cart-subtotal td {
	font-size: 1rem;
}

.woocommerce form.checkout .shop_table tfoot .ess-shop-total-quantity th,
.woocommerce form.checkout .shop_table tfoot .ess-shop-total-quantity td {
	color: #111827;
	font-weight: 700;
}

.woocommerce form.checkout .shop_table tfoot .ess-shop-total-quantity td {
	text-align: right;
}

.woocommerce form.checkout #order_review .shop_table tfoot,
.woocommerce form.checkout #order_review #payment {
	margin-left: 15px;
	margin-right: 15px;
	width: calc(100% - 30px);
	box-sizing: border-box;
}

.woocommerce form.checkout #payment {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	margin-top: 22px;
}

.woocommerce form.checkout #payment ul.payment_methods {
	border-bottom: 1px solid #e5e7eb;
	padding: 18px;
}

.woocommerce form.checkout #payment div.form-row {
	padding: 18px;
}

.woocommerce form.checkout #place_order {
	width: 100%;
	min-height: 50px;
	border-radius: 8px;
	background: #111827;
	border: 1px solid #111827;
	color: #fff;
	font-weight: 750;
	letter-spacing: 0;
	transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.woocommerce form.checkout #place_order:hover,
.woocommerce form.checkout #place_order:focus {
	background: #2563eb;
	border-color: #2563eb;
	box-shadow: 0 12px 28px rgba(37, 99, 235, 0.22);
	transform: translateY(-1px);
}

.woocommerce .ess-shop-configured-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-width: 0;
}

.woocommerce .ess-shop-configured-preview {
	flex: 0 0 auto;
	display: block;
}

.woocommerce .ess-shop-configured-preview img {
	display: block;
	width: 84px;
	max-width: 84px;
	height: auto;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #f8fafc;
}

.woocommerce .ess-shop-configured-details {
	display: block;
	flex: 1 1 auto;
	min-width: 180px;
	padding-top: 2px;
}

.woocommerce .ess-shop-configured-title {
	display: block;
	color: #111827;
	font-weight: 750;
	line-height: 1.3;
	max-width: 25ch;
}

.woocommerce .ess-shop-meta {
	margin-top: 8px !important;
	color: #4b5563;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
}

.woocommerce .ess-shop-meta > div + div {
	margin-top: 4px;
}

.woocommerce .ess-shop-swatch {
	box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.12);
}

/* Style custom name under product title */
.woocommerce .ess-shop-custom-name,
.woocommerce .wc-item-meta li p,
.woocommerce .wc-item-meta li strong + p,
.woocommerce .wc-item-meta li span {
	font-size: 15px;
	font-weight: 600;
	font-style: italic;
}

@media (max-width: 900px) {
	.woocommerce form.checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce form.checkout #customer_details,
	.woocommerce form.checkout #order_review_heading,
	.woocommerce form.checkout #order_review,
	.woocommerce form.checkout .woocommerce-NoticeGroup {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce form.checkout #order_review {
		position: static;
	}
}

@media (max-width: 600px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.woocommerce,
	.woocommerce-page,
	.woocommerce form.checkout {
		max-width: 100%;
		overflow-x: hidden;
	}

	.woocommerce form.checkout #customer_details,
	.woocommerce form.checkout #order_review {
		width: 100%;
		max-width: 100%;
		padding: 14px;
		box-sizing: border-box;
	}

	.woocommerce form.checkout #order_review_heading {
		width: 100%;
		max-width: 100%;
		padding-left: 14px;
		padding-right: 14px;
		box-sizing: border-box;
	}

	.woocommerce form.checkout .shop_table {
		display: block;
		width: 100%;
		max-width: 100%;
		border-collapse: separate;
		border-spacing: 0 10px;
		table-layout: fixed;
		overflow: visible;
	}

	.woocommerce form.checkout .shop_table thead {
		display: none;
	}

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

	.woocommerce form.checkout .shop_table tbody tr.cart_item {
		display: grid;
		grid-template-columns: 80px minmax(0, 1fr);
		column-gap: 12px;
		row-gap: 10px;
		padding: 14px;
		border: 1px solid rgba(15, 23, 42, 0.07);
		border-radius: 14px;
		background: #fff;
		box-shadow:
			0 8px 20px rgba(15, 23, 42, 0.06),
			0 2px 6px rgba(15, 23, 42, 0.04);
		transform: none !important;
	}

	.woocommerce form.checkout .shop_table tbody tr.cart_item:first-child {
		border-top: 1px solid rgba(15, 23, 42, 0.07);
	}

	.woocommerce form.checkout .shop_table tbody tr.cart_item td {
		background: transparent;
		border-radius: 0;
		border-top: 0;
		padding: 0;
	}

	.woocommerce form.checkout .shop_table tbody tr.cart_item .product-name {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.woocommerce form.checkout .shop_table tbody tr.cart_item .product-total {
		grid-column: 1 / -1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		margin-left: 0;
		text-align: right;
		white-space: normal;
		color: #111827;
		font-weight: 750;
	}

	.woocommerce form.checkout .shop_table .product-total .ess-shop-checkout-quantity {
		display: block;
		order: 1;
		margin: 0;
		color: #6b7280;
		font-size: 0.88rem;
		font-weight: 600;
		text-align: left;
	}

	.woocommerce form.checkout .shop_table .product-total .woocommerce-Price-amount {
		order: 2;
		margin-left: auto;
		text-align: right;
	}

	.woocommerce .ess-shop-configured-item {
		display: grid;
		grid-template-columns: 80px minmax(0, 1fr);
		align-items: flex-start;
		column-gap: 12px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.woocommerce .ess-shop-configured-preview {
		flex: 0 0 80px;
		width: 80px;
	}

	.woocommerce .ess-shop-configured-preview img {
		width: 80px;
		max-width: 80px;
		min-width: 80px;
	}

	.woocommerce .ess-shop-configured-details {
		min-width: 0;
		max-width: 100%;
		padding-top: 0;
	}

	.woocommerce .ess-shop-configured-title {
		max-width: none;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.woocommerce .ess-shop-meta {
		margin-top: 6px !important;
		font-size: 0.86rem !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.woocommerce .shop_table .cart_item,
	.woocommerce .shop_table .woocommerce-cart-form__cart-item {
		max-width: 100%;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 80px minmax(0, 1fr);
		column-gap: 12px;
		row-gap: 10px;
		width: 100%;
		max-width: 100%;
		padding: 14px;
		border: 1px solid rgba(15, 23, 42, 0.07);
		border-radius: 14px;
		background: #fff;
		box-shadow:
			0 8px 20px rgba(15, 23, 42, 0.06),
			0 2px 6px rgba(15, 23, 42, 0.04);
		transform: none !important;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		background: transparent;
		border-radius: 0;
		border-top: 0;
		padding: 0;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-thumbnail {
		grid-column: 1;
		grid-row: 1;
		flex: 0 0 80px;
		width: 80px;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-thumbnail img {
		display: block;
		width: 80px;
		max-width: 80px;
		height: auto;
		border-radius: 8px;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-name {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-price {
		display: none;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-quantity,
	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-subtotal {
		grid-row: 2;
		width: auto;
		min-width: 0;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-quantity {
		grid-column: 1 / 2;
		text-align: left;
	}

	.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-subtotal {
		grid-column: 2 / 3;
		text-align: right;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.woocommerce form.checkout .shop_table tfoot {
		display: block;
		width: 100%;
	}

	.woocommerce form.checkout .shop_table tfoot tr {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		border-top: 1px solid #eef2f7;
	}

	.woocommerce form.checkout .shop_table tfoot th,
	.woocommerce form.checkout .shop_table tfoot td {
		display: block;
		width: auto;
		border-top: 0;
		box-sizing: border-box;
	}

	.woocommerce form.checkout .shop_table tfoot th {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	.woocommerce form.checkout .shop_table tfoot td {
		flex: 0 0 auto;
		max-width: 48%;
		text-align: right;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.woocommerce form.checkout .shop_table tfoot th,
	.woocommerce form.checkout .shop_table tfoot td {
		padding-top: 12px;
		padding-bottom: 12px;
	}
}

/* ===================================== */
/* Large stacked checkout preview layout */
/* ===================================== */

.woocommerce table.shop_table tbody tr.cart_item,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item,
.woocommerce-checkout-review-order-table tbody tr.cart_item {
	display: block;
	width: calc(100% - 30px);
	max-width: 100%;
	box-sizing: border-box;
	padding: 16px;
	margin: 0 15px 16px;
	border: 1px solid rgba(15, 23, 42, 0.07);
	border-radius: 14px;
	background: #fff;
	box-shadow:
		0 8px 20px rgba(15, 23, 42, 0.06),
		0 2px 6px rgba(15, 23, 42, 0.04);
}

.woocommerce table.shop_table tbody,
.woocommerce-checkout-review-order-table tbody {
	display: block;
	width: 100%;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name,
.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
	display: block;
	width: 100% !important;
}

.woocommerce table.shop_table tbody tr.cart_item td,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item td,
.woocommerce-checkout-review-order-table tbody tr.cart_item td {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: transparent;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0;
}

.woocommerce .cart_item .product-thumbnail,
.woocommerce .woocommerce-cart-form__cart-item .product-thumbnail,
.woocommerce .ess-shop-configured-preview,
.woocommerce-checkout-review-order-table .product-thumbnail {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 4px;
	margin: 0 0 12px;
	box-sizing: border-box;
	border-radius: 16px;
	background: transparent;
}

.woocommerce .cart_item .product-thumbnail img,
.woocommerce .woocommerce-cart-form__cart-item .product-thumbnail img,
.woocommerce .ess-shop-configured-preview img,
.woocommerce-checkout-review-order-table .product-thumbnail img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #f8fafc;
}

.woocommerce .cart_item .product-name,
.woocommerce .woocommerce-cart-form__cart-item .product-name,
.woocommerce-checkout-review-order-table .product-name {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0 0 10px;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce .cart_item .product-name *,
.woocommerce .woocommerce-cart-form__cart-item .product-name *,
.woocommerce-checkout-review-order-table .product-name * {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce .ess-shop-configured-item {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.woocommerce .ess-shop-configured-details {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding-top: 0;
}

.woocommerce table.shop_table tbody tr.cart_item .product-total,
.woocommerce-checkout-review-order-table tbody tr.cart_item .product-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7 !important;
	text-align: right;
	white-space: normal;
}

.woocommerce table.shop_table tbody tr.cart_item .product-total .ess-shop-checkout-quantity,
.woocommerce-checkout-review-order-table tbody tr.cart_item .product-total .ess-shop-checkout-quantity {
	order: 1;
	margin: 0;
	text-align: left;
}

.woocommerce table.shop_table tbody tr.cart_item .product-total .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tbody tr.cart_item .product-total .woocommerce-Price-amount {
	order: 2;
	margin-left: auto;
	text-align: right;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-price {
	display: none;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-quantity,
.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-subtotal {
	display: inline-block;
	width: auto;
	min-width: 0;
	margin-top: 12px;
	padding-top: 12px;
	box-sizing: border-box;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-quantity {
	float: left;
	text-align: left;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item .product-subtotal {
	float: right;
	max-width: 60%;
	text-align: right;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce table.shop_table tbody tr.cart_item::after,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item::after,
.woocommerce-checkout-review-order-table tbody tr.cart_item::after {
	content: "";
	display: block;
	clear: both;
}

.woocommerce .wc-item-meta {
	margin-top: 8px;
}

.woocommerce .wc-item-meta li {
	margin-bottom: 4px;
}

@media (max-width: 600px) {
	.woocommerce table.shop_table tbody tr.cart_item,
	.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item,
	.woocommerce-checkout-review-order-table tbody tr.cart_item {
		display: block;
		width: calc(100% - 30px);
		max-width: 100%;
		margin: 0 15px 12px;
		padding: 14px;
		transform: none !important;
	}

	.woocommerce .cart_item .product-thumbnail,
	.woocommerce .woocommerce-cart-form__cart-item .product-thumbnail,
	.woocommerce .ess-shop-configured-preview,
	.woocommerce-checkout-review-order-table .product-thumbnail {
		width: 100%;
		max-width: 100%;
		margin-bottom: 10px;
	}
}

/* ===================================== */
/* Checkout flow: summary, billing, payment */
/* ===================================== */

.woocommerce-checkout .woocommerce {
	display: flex;
	flex-direction: column;
}

.woocommerce-checkout form.checkout {
	display: contents;
}

.woocommerce-checkout form.checkout #order_review_heading {
	order: 1;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout #order_review {
	order: 2;
	position: static;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon {
	order: 3;
	width: calc(100% - 30px);
	margin: 0 15px 24px;
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout #customer_details {
	order: 4;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout > #payment {
	order: 5;
	width: calc(100% - 30px);
	margin: 0 15px 15px;
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout .woocommerce-NoticeGroup {
	order: 0;
	width: 100%;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot {
	margin-left: 15px;
	margin-right: 15px;
	width: calc(100% - 30px);
	box-sizing: border-box;
	display: block;
	padding: 6px 18px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #fff;
	box-shadow:
		0 8px 20px rgba(15, 23, 42, 0.04),
		0 2px 6px rgba(15, 23, 42, 0.03);
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot tr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	border-top: 1px solid #eef2f7;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot tr:first-child {
	border-top: 0;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot th,
.woocommerce-checkout form.checkout #order_review .shop_table tfoot td {
	display: block;
	width: auto;
	border-top: 0;
	padding: 14px 0;
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot th {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
	color: #111827;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.25;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot td {
	flex: 0 0 auto;
	text-align: right;
	color: #111827;
	font-size: 1rem;
	font-weight: 750;
	white-space: nowrap;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot .order-total th,
.woocommerce-checkout form.checkout #order_review .shop_table tfoot .order-total td {
	font-size: 1.2rem;
	font-weight: 800;
}

@media (max-width: 600px) {
	.woocommerce-checkout form.checkout > #payment,
	.woocommerce-checkout form.checkout #order_review .shop_table tfoot,
	.woocommerce-checkout .woocommerce-form-coupon-toggle,
	.woocommerce-checkout form.checkout_coupon {
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* ESS dark checkout/order confirmation styling */
.woocommerce-checkout .woocommerce,
.woocommerce-order {
	color: #f6f3ee;
}

.woocommerce-checkout .woocommerce a,
.woocommerce-order a {
	color: #e23d71;
}

.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review,
.woocommerce-checkout form.checkout > #payment,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-order-overview,
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order .woocommerce-notice,
.woocommerce-order .woocommerce-bacs-bank-details {
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 18px !important;
	background: #050814 !important;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.36) !important;
	color: #f6f3ee !important;
}

.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout > #payment,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-order-overview,
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order .woocommerce-notice,
.woocommerce-order .woocommerce-bacs-bank-details {
	padding: 22px !important;
}

.woocommerce-checkout form.checkout #order_review_heading {
	margin-bottom: 12px;
	padding: 18px 22px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	text-align: left;
}

.woocommerce-checkout form.checkout #order_review {
	padding: 16px !important;
}

.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-order h2,
.woocommerce-order h3 {
	color: #f6f3ee !important;
	font-weight: 800;
	letter-spacing: 0;
}

.woocommerce-checkout form.checkout label,
.woocommerce-checkout form.checkout .form-row label,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-order,
.woocommerce-order p {
	color: #d8d1c8 !important;
}

.woocommerce-checkout form.checkout input.input-text,
.woocommerce-checkout form.checkout textarea,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single {
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 12px !important;
	background: #020617 !important;
	color: #f6f3ee !important;
}

.woocommerce-checkout form.checkout input.input-text:focus,
.woocommerce-checkout form.checkout textarea:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #e23d71 !important;
	outline: 3px solid rgba(226, 61, 113, 0.18) !important;
}

.woocommerce table.shop_table,
.woocommerce-checkout form.checkout .shop_table,
.woocommerce-order-details table.shop_table {
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 12px !important;
	background: transparent !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-order-details table.shop_table th,
.woocommerce-order-details table.shop_table td {
	border-color: rgba(255, 255, 255, 0.1) !important;
	color: #f6f3ee !important;
}

.woocommerce table.shop_table tbody tr.cart_item,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item,
.woocommerce-order-details table.shop_table tbody tr {
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px !important;
	background: #141414 !important;
	box-shadow: none !important;
}

.woocommerce table.shop_table tbody tr.cart_item td,
.woocommerce table.shop_table tbody tr.woocommerce-cart-form__cart-item td,
.woocommerce-order-details table.shop_table tbody tr td {
	background: #141414 !important;
	color: #f6f3ee !important;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot,
.woocommerce-order-details table.shop_table tfoot {
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: #020617 !important;
	box-shadow: none !important;
}

.woocommerce-checkout form.checkout #order_review .shop_table tfoot th,
.woocommerce-checkout form.checkout #order_review .shop_table tfoot td,
.woocommerce-order-details table.shop_table tfoot th,
.woocommerce-order-details table.shop_table tfoot td {
	color: #f6f3ee !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.payment_box {
	background: #020617 !important;
	color: #f6f3ee !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #020617 !important;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border: 0 !important;
	border-radius: 999px !important;
	background: #e23d71 !important;
	color: #050505 !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: #f05287 !important;
	color: #050505 !important;
}

.woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	margin: 18px 0 28px;
	padding: 0;
}

.woocommerce ul.order_details li {
	margin: 0 !important;
	padding: 16px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 14px;
	background: #050814;
	color: #b8b1a8;
}

.woocommerce ul.order_details li strong {
	color: #f6f3ee;
	font-size: 1.05rem;
}

.woocommerce-order-details table.shop_table {
	overflow: hidden;
	border-radius: 18px;
}

.woocommerce-order .woocommerce-order-details table.shop_table {
	display: block;
	overflow: visible;
}

.woocommerce-order .woocommerce-order-details table.shop_table thead {
	display: none;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
	width: 100%;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr,
.woocommerce-order .woocommerce-order-details table.shop_table tbody tr td {
	display: block;
	width: auto !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr {
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px !important;
	background: #141414 !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr td {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr td.product-name {
	margin-bottom: 10px;
}

.woocommerce-order .woocommerce-order-details .ess-shop-order-configured-item {
	display: grid;
	grid-template-columns: 172px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.woocommerce-order .woocommerce-order-details .ess-shop-configured-preview,
.woocommerce-order .woocommerce-order-details .ess-shop-configured-preview img {
	display: block;
	width: 172px;
	max-width: 172px;
}

.woocommerce-order .woocommerce-order-details .ess-shop-configured-preview {
	height: 96px;
	overflow: hidden;
	border-radius: 10px;
	background: #020617;
}

.woocommerce-order .woocommerce-order-details .ess-shop-configured-preview img {
	height: 96px !important;
	object-fit: contain;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #020617;
	transform: scale(1.45);
	transform-origin: center;
}

.woocommerce-order .woocommerce-order-details .ess-shop-configured-details {
	min-width: 0;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr td.product-total {
	font-size: 1rem;
	font-weight: 800;
	color: #f6f3ee !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr .wc-item-meta {
	margin: 10px 0 0;
	padding: 0;
	color: #d8d1c8;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr .wc-item-meta li {
	display: block;
	margin: 4px 0;
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot {
	display: block;
	margin-top: 14px;
	padding: 12px 18px;
	border-radius: 14px;
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot tr {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 10px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot tr:first-child {
	border-top: 0;
}

.woocommerce-order .woocommerce-order-details table.shop_table tfoot th,
.woocommerce-order .woocommerce-order-details table.shop_table tfoot td {
	display: block;
	width: auto;
	padding: 0 !important;
	border: 0 !important;
}

@media (max-width: 820px) {
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review,
	.woocommerce-checkout form.checkout > #payment,
	.woocommerce-order-overview,
	.woocommerce-order-details,
	.woocommerce-customer-details,
	.woocommerce-order .woocommerce-notice {
		padding: 16px !important;
		border-radius: 14px !important;
	}
}

/* WooCommerce Blocks checkout surface */
.woocommerce-checkout .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 520px) !important;
	gap: 32px !important;
	align-items: start;
}

.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-components-sidebar {
	width: 100% !important;
	padding: 0 !important;
}

.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.woocommerce-checkout .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 18px !important;
	background: #050814 !important;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28) !important;
	color: #f6f3ee !important;
}

.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.woocommerce-checkout .wc-block-components-sidebar {
	padding: 22px !important;
}

.woocommerce-checkout .wc-block-components-checkout-step {
	margin: 0 0 16px !important;
	padding: 18px !important;
}

.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title {
	color: #f6f3ee !important;
	font-weight: 800 !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-address-card,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 12px !important;
	background: #020617 !important;
	color: #f6f3ee !important;
}

.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-checkbox label,
.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-formatted-money-amount,
.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-metadata,
.woocommerce-checkout .wc-block-components-totals-item,
.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__value {
	color: #f6f3ee !important;
}

.woocommerce-checkout .wc-block-components-order-summary {
	border: 0 !important;
}

.woocommerce-checkout .wc-block-components-order-summary__content {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 12px !important;
	max-height: 520px;
	overflow-y: auto;
	padding-right: 6px;
}

.woocommerce-checkout .wc-block-components-order-summary-item {
	display: grid !important;
	grid-template-columns: 172px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: start !important;
	margin: 0 !important;
	padding: 10px !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 12px !important;
	background: #0b1220 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image {
	position: relative !important;
	width: 172px !important;
	min-width: 172px !important;
	max-width: 172px !important;
	height: 96px !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 10px !important;
	background: #020617 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	display: block !important;
	width: 172px !important;
	min-width: 172px !important;
	max-width: none !important;
	height: 96px !important;
	object-fit: contain !important;
	border-radius: 8px !important;
	background: #020617 !important;
	transform: scale(1.45);
	transform-origin: center;
}

.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	display: none !important;
	top: auto !important;
	right: auto !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 28px !important;
	height: 28px !important;
	padding: 0 8px !important;
	border: 1px solid rgba(5, 5, 5, 0.18) !important;
	border-radius: 999px !important;
	background: #f6f3ee !important;
	color: #050505 !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__quantity::before {
	content: "";
	margin-right: 3px;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	padding: 0 !important;
}

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

.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
	display: block !important;
	margin-top: 4px !important;
	font-weight: 800 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	display: none !important;
}

.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	border: 0 !important;
	border-radius: 999px !important;
	background: #e23d71 !important;
	color: #050505 !important;
	font-weight: 800 !important;
}

.woocommerce-checkout .ess-checkout-continue-shopping,
.woocommerce-order .ess-checkout-continue-shopping {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	background: #050505;
	color: #f6f3ee !important;
	font-weight: 800;
	text-decoration: none !important;
}

.woocommerce-checkout .wc-block-checkout__actions_row {
	display: flex !important;
	align-items: center;
	gap: 14px;
}

.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	flex: 1 1 auto;
}

.woocommerce-order .ess-shop-thankyou-actions {
	margin: 18px 0 0;
}

@media (max-width: 820px) {
	.woocommerce-checkout .wc-block-components-sidebar-layout {
		display: block !important;
	}

	.woocommerce-checkout .wc-block-components-order-summary__content {
		grid-template-columns: 1fr !important;
		max-height: none;
	}

	.woocommerce-checkout .wc-block-checkout__actions_row {
		display: grid !important;
		grid-template-columns: 1fr;
	}
}

/* WooCommerce Blocks cart surface */
.woocommerce-cart .wp-block-woocommerce-cart {
	width: 100%;
	margin-inline: 0;
	color: #f6f3ee;
}

@media (max-width: 575px) {
	.woocommerce-cart .site-main {
		padding-inline: 0 !important;
	}
}

.woocommerce-cart .wp-block-woocommerce-cart a {
	color: #e23d71;
}

.woocommerce-cart .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
	gap: 32px !important;
	align-items: start;
}

.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar {
	width: 100% !important;
	padding: 0 !important;
}

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

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

.woocommerce-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 172px minmax(0, 1fr) auto !important;
	gap: 16px !important;
	align-items: start !important;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 14px !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px !important;
	background: #141414 !important;
	box-shadow: none !important;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce-cart .wc-block-cart-items__row:hover {
		transform: translateY(-3px);
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45) !important;
	}
}

.woocommerce-cart .wc-block-cart-items__row td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #f6f3ee !important;
}

.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image {
	width: 172px !important;
	min-width: 172px !important;
	max-width: 172px !important;
	height: 96px !important;
	overflow: hidden !important;
	border-radius: 10px !important;
	background: #020617 !important;
}

.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image a,
.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img {
	display: block !important;
	width: 172px !important;
	max-width: none !important;
	height: 96px !important;
}

.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img {
	object-fit: contain !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 10px !important;
	background: #020617 !important;
	transform: scale(1.45);
	transform-origin: center;
}

.woocommerce-cart .wc-block-cart-item__product {
	min-width: 0 !important;
}

.woocommerce-cart .wc-block-cart-item__wrap {
	display: grid !important;
	gap: 8px !important;
	min-width: 0 !important;
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__quantity,
.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart .wc-block-components-formatted-money-amount {
	color: #f6f3ee !important;
}

.woocommerce-cart .wc-block-components-product-name {
	font-weight: 800 !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce-cart .wc-block-components-product-metadata {
	color: #d8d1c8 !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
}

.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 10px !important;
	background: #050505 !important;
}

.woocommerce-cart .wc-block-components-quantity-selector input,
.woocommerce-cart .wc-block-components-quantity-selector button {
	color: #f6f3ee !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	color: #d8d1c8 !important;
	text-decoration: none !important;
}

.woocommerce-cart .wc-block-cart-item__total {
	min-width: 88px !important;
	text-align: right !important;
	font-weight: 800 !important;
}

.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
.woocommerce-cart .wc-block-cart__submit-container,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 18px !important;
	background: #050814 !important;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.36) !important;
	color: #f6f3ee !important;
}

.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding: 22px !important;
}

.woocommerce-cart .wc-block-components-sidebar .wc-block-components-title,
.woocommerce-cart .wc-block-components-totals-item,
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__value,
.woocommerce-cart .wc-block-components-totals-coupon__button {
	color: #f6f3ee !important;
}

.woocommerce-cart .wc-block-components-totals-wrapper {
	border-color: rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button {
	border: 0 !important;
	border-radius: 999px !important;
	background: #e23d71 !important;
	color: #050505 !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-components-button:hover {
	background: #f05287 !important;
	color: #050505 !important;
}

@media (max-width: 900px) {
	.woocommerce-cart .wc-block-components-sidebar-layout {
		display: block !important;
	}

	.woocommerce-cart .wc-block-components-sidebar {
		margin-top: 18px !important;
	}
}

@media (max-width: 640px) {
	.woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 112px minmax(0, 1fr) !important;
		gap: 12px !important;
		padding: 12px !important;
	}

	.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image {
		width: 112px !important;
		min-width: 112px !important;
		max-width: 112px !important;
		height: 72px !important;
	}

	.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image a,
	.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img {
		width: 112px !important;
		height: 72px !important;
	}

	.woocommerce-cart .wc-block-cart-item__total {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		min-width: 0 !important;
		padding-top: 10px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
		text-align: right !important;
	}

	.woocommerce-cart .wc-block-components-sidebar,
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		padding: 16px !important;
		border-radius: 14px !important;
	}
}

/* Design Studio visual contract for WooCommerce basket and checkout. */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-cart .site,
body.woocommerce-checkout .site,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	background: var(--ess-bg, #020617) !important;
	color: var(--ess-ink, #e5e7eb) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	margin: 24px auto 80px !important;
}

.woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-checkout .wc-block-components-sidebar-layout {
	gap: 24px !important;
	background: transparent !important;
}

.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.woocommerce-checkout .wc-block-components-sidebar {
	box-sizing: border-box !important;
	border: 1px solid var(--ess-line, #1f2937) !important;
	border-radius: 16px !important;
	background: var(--ess-surface, #050814) !important;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.woocommerce-checkout .wc-block-components-sidebar {
	padding: 16px !important;
}

.woocommerce-checkout .wc-block-components-checkout-step {
	margin: 0 !important;
	padding: 18px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ess-line, #1f2937) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-checkout-step:first-child {
	padding-top: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkout-step:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

.woocommerce-cart .wc-block-components-title,
.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart h3,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3 {
	color: var(--ess-ink, #e5e7eb) !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-address-card,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border-color: #374151 !important;
	border-radius: 8px !important;
	background: var(--ess-bg, #020617) !important;
	color: var(--ess-ink, #e5e7eb) !important;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus {
	border-color: var(--ess-accent, #ec4899) !important;
	box-shadow: 0 0 0 1px rgba(236, 72, 153, 0.32) !important;
}

.woocommerce-cart .ezg-cart-item-card,
.woocommerce-checkout .ezg-cart-item-card,
.woocommerce-order .ezg-cart-item-card {
	border-color: var(--ess-line, #1f2937) !important;
	background: var(--ess-card, #0b1220) !important;
	color: var(--ess-ink, #e5e7eb) !important;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button,
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: var(--ess-accent, #ec4899) !important;
	color: #0b1120 !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	background: var(--ess-accent-hover, #db2777) !important;
	color: #0b1120 !important;
}

@media (max-width: 820px) {
	.woocommerce-cart .site-main,
	.woocommerce-checkout .site-main {
		margin-top: 16px !important;
	}

	.woocommerce-cart .wc-block-components-main,
	.woocommerce-cart .wc-block-components-sidebar,
	.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
	.woocommerce-checkout .wc-block-components-sidebar {
		padding: 12px !important;
		border-radius: 12px !important;
	}
}

/* Shared EZ Gifts item card contract. Keep cart, checkout, and order details on this shape. */
.ezg-cart-item-card {
	--ezg-cart-thumb-width: 172px;
	--ezg-cart-thumb-height: 96px;
	display: grid !important;
	grid-template-columns: var(--ezg-cart-thumb-width) minmax(0, 1fr) auto !important;
	gap: 12px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 12px !important;
	padding: 12px !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px !important;
	background: #0b1220 !important;
	box-shadow: none !important;
	color: #f6f3ee !important;
}

.ezg-cart-item-thumb {
	position: relative !important;
	display: block !important;
	width: var(--ezg-cart-thumb-width) !important;
	min-width: var(--ezg-cart-thumb-width) !important;
	max-width: var(--ezg-cart-thumb-width) !important;
	height: var(--ezg-cart-thumb-height) !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 10px !important;
	background: #020617 !important;
}

.ezg-cart-item-thumb a,
.ezg-cart-item-thumb img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	border-radius: 10px !important;
	background: #020617 !important;
	transform: scale(1.35);
	transform-origin: center;
}

.ezg-cart-item-content {
	display: grid !important;
	gap: 7px !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.ezg-cart-item-title,
.ezg-cart-item-title a,
.ezg-cart-item-card .wc-block-components-product-name {
	color: #f6f3ee !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	line-height: 1.18 !important;
	text-decoration: none !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ezg-cart-item-meta,
.ezg-cart-item-card .wc-block-components-product-metadata {
	display: grid !important;
	gap: 4px !important;
	margin: 0 !important;
	color: #d8d1c8 !important;
	font-size: 0.82rem !important;
	line-height: 1.35 !important;
}

.ezg-cart-item-meta-row,
.ezg-cart-item-card .wc-block-components-product-details li {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.ezg-cart-item-meta-row strong,
.ezg-cart-item-card .wc-block-components-product-details__name {
	min-width: 58px !important;
	color: #b8b1a8 !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
}

.ezg-cart-item-meta-value {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.ezg-cart-item-swatch {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 1px solid #1f2937;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.ezg-cart-item-price,
.ezg-cart-item-card .wc-block-components-product-price {
	color: #f6f3ee !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

.ezg-cart-item-qty {
	position: static !important;
	top: auto !important;
	right: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 24px !important;
	min-width: 24px !important;
	padding: 0 8px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f6f3ee !important;
	color: #050505 !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.ezg-cart-item-card .wc-block-components-quantity-selector.ezg-cart-item-qty {
	position: static !important;
	background: #050505 !important;
	color: #f6f3ee !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 10px !important;
}

.ezg-cart-item-actions {
	grid-column: 2 / -1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	min-width: 0 !important;
	width: 100% !important;
	margin-top: 4px !important;
}

.ezg-cart-item-card .qtyControls,
.ezg-cart-item-qty-controls {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #f6f3ee !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}

.ezg-cart-item-card .iconButton,
.ezg-cart-item-qty-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	padding: 0 !important;
	border: 1px solid #374151 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #e5e7eb !important;
	font-size: 15px !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.ezg-cart-item-card .linkButton,
.ezg-cart-item-remove {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #93c5fd !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.ezg-cart-item-card .iconButton:hover,
.ezg-cart-item-qty-button:hover,
.ezg-cart-item-card .linkButton:hover,
.ezg-cart-item-remove:hover {
	color: #f6f3ee !important;
	border-color: rgba(147, 197, 253, 0.72) !important;
}

.woocommerce-checkout .ezg-cart-item-card .wc-block-components-order-summary-item__total-price {
	display: none !important;
}

.woocommerce-checkout .ezg-cart-item-card .wc-block-components-order-summary-item__quantity,
.woocommerce-checkout .ezg-cart-item-card .ezg-cart-item-qty-hidden {
	display: none !important;
}

.woocommerce-checkout .ezg-cart-item-card .wc-block-components-order-summary-item__individual-prices {
	display: block !important;
	margin: 0 !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table,
.woocommerce-order .woocommerce-order-details table.shop_table tbody,
.woocommerce-order .woocommerce-order-details table.shop_table tbody tr,
.woocommerce-order .woocommerce-order-details table.shop_table tbody td {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
	background: transparent !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)) !important;
	gap: 12px !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody tr {
	padding: 0 !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody td.product-name {
	padding: 0 !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody td.product-total {
	display: none !important;
}

.woocommerce-order .woocommerce-order-details table.shop_table tbody td.product-name > .product-quantity,
.woocommerce-order .woocommerce-order-details table.shop_table tbody td.product-name > .wc-item-meta {
	display: none !important;
}

.ezg-cart-item-card a,
.ezg-cart-item-title a,
.woocommerce-cart .ezg-cart-item-card .wc-block-components-product-name a,
.woocommerce-checkout .ezg-cart-item-card .wc-block-components-product-name a,
.woocommerce-order .ezg-cart-item-card .ezg-cart-item-title a {
	color: #f6f3ee !important;
	text-decoration: none !important;
	pointer-events: none;
	cursor: default;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail,
.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-price,
.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
	display: none !important;
}

.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td.product-name {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
}

@media (max-width: 640px) {
	.ezg-cart-item-card {
		--ezg-cart-thumb-width: 96px;
		--ezg-cart-thumb-height: 64px;
		grid-template-columns: var(--ezg-cart-thumb-width) minmax(0, 1fr) !important;
	}

	.ezg-cart-item-price {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		padding-top: 8px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	}

	.ezg-cart-item-actions {
		grid-column: 1 / -1;
	}
}

.woocommerce-cart .wc-block-cart-items__row.ezg-cart-item-card,
.woocommerce-checkout .wc-block-components-order-summary-item.ezg-cart-item-card,
.woocommerce-order .ezg-cart-item-card {
	grid-template-columns: var(--ezg-cart-thumb-width) minmax(0, 1fr) auto !important;
	border-radius: 14px !important;
	background: #0b1220 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item.ezg-cart-item-card .ezg-cart-item-price {
	grid-column: 3 !important;
	margin: 0 !important;
}

.ezg-cart-item-qty .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 640px) {
	.woocommerce-cart .wc-block-cart-items__row.ezg-cart-item-card,
	.woocommerce-checkout .wc-block-components-order-summary-item.ezg-cart-item-card,
	.woocommerce-order .ezg-cart-item-card {
		grid-template-columns: var(--ezg-cart-thumb-width) minmax(0, 1fr) !important;
	}

	.woocommerce-checkout .wc-block-components-order-summary-item.ezg-cart-item-card .ezg-cart-item-price {
		grid-column: 1 / -1 !important;
	}
}
