/* Printed Wafer – customer-friendly basket and checkout */
body.woocommerce-cart,
body.woocommerce-checkout {
	--pw-commerce-navy: #111a35;
	--pw-commerce-pink: #df3f6c;
	--pw-commerce-pink-hover: #c9345e;
	--pw-commerce-pink-soft: #fff2f6;
	--pw-commerce-blush: #fbf6f7;
	--pw-commerce-border: #eadfe3;
	--pw-commerce-border-strong: #dcd3d7;
	--pw-commerce-text: #4d566a;
	--pw-commerce-muted: #7a8190;
	--pw-commerce-white: #ffffff;
	--pw-commerce-success: #3e7d4f;
	--pw-commerce-shadow: 0 14px 38px rgba(17, 26, 53, 0.07);
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1360px !important;
	margin: 0 auto !important;
	padding: 42px clamp(22px, 4vw, 58px) 76px !important;
	color: var(--pw-commerce-text);
}

body.woocommerce-cart .woocommerce *,
body.woocommerce-checkout .woocommerce * {
	box-sizing: border-box;
}

body.woocommerce-cart .pw-commerce-heading,
body.woocommerce-checkout .pw-commerce-heading {
	width: 100%;
	margin: 0 0 26px;
	padding: 28px 32px;
	background: var(--pw-commerce-blush);
	border: 1px solid var(--pw-commerce-border);
	border-radius: 18px;
}

body.woocommerce-cart .pw-commerce-heading h1,
body.woocommerce-checkout .pw-commerce-heading h1 {
	margin: 0 0 7px;
	color: var(--pw-commerce-navy);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 750;
	line-height: 1.14;
	letter-spacing: -0.025em;
}

body.woocommerce-cart .pw-commerce-heading p,
body.woocommerce-checkout .pw-commerce-heading p {
	margin: 0;
	color: var(--pw-commerce-text);
	font-size: 16px;
	line-height: 1.55;
}

/* Notices */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper {
	width: 100%;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
	position: relative;
	min-height: 62px;
	margin: 0 0 22px !important;
	padding: 18px 20px !important;
	color: var(--pw-commerce-text) !important;
	font-size: 15px;
	line-height: 1.55;
	background: var(--pw-commerce-white) !important;
	border: 1px solid var(--pw-commerce-border) !important;
	border-radius: 13px !important;
	box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
	background: #f7fbf8 !important;
	border-color: #cfe2d4 !important;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart .woocommerce-message::after,
body.woocommerce-cart .woocommerce-info::after,
body.woocommerce-cart .woocommerce-error::after,
body.woocommerce-checkout .woocommerce-message::after,
body.woocommerce-checkout .woocommerce-info::after,
body.woocommerce-checkout .woocommerce-error::after {
	content: "";
	display: table;
	clear: both;
}

/* Shared buttons */
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 11px 18px !important;
	color: var(--pw-commerce-navy) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	background: var(--pw-commerce-white) !important;
	border: 1px solid var(--pw-commerce-border-strong) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover {
	color: var(--pw-commerce-navy) !important;
	background: #faf7f8 !important;
	border-color: #c7bcc1 !important;
	transform: translateY(-1px);
}

body.woocommerce-cart .woocommerce .checkout-button,
body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-checkout .woocommerce button[name="woocommerce_checkout_place_order"],
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 56px !important;
	color: #ffffff !important;
	font-size: 16px !important;
	background: var(--pw-commerce-pink) !important;
	border-color: var(--pw-commerce-pink) !important;
	border-radius: 11px !important;
}

body.woocommerce-cart .woocommerce .checkout-button:hover,
body.woocommerce-checkout .woocommerce #place_order:hover,
body.woocommerce-checkout .woocommerce button[name="woocommerce_checkout_place_order"]:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	color: #ffffff !important;
	background: var(--pw-commerce-pink-hover) !important;
	border-color: var(--pw-commerce-pink-hover) !important;
}

body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-checkout .woocommerce-info .button {
	float: right;
	min-height: 40px;
	margin: -7px 0 -7px 18px;
	padding: 9px 15px !important;
}

/* Basket – desktop layout */
body.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.48fr) minmax(330px, 0.72fr);
	gap: 26px 30px;
	align-items: start;
}

body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce > .pw-commerce-heading,
body.woocommerce-cart .woocommerce > .cart-empty,
body.woocommerce-cart .woocommerce > .return-to-shop,
body.woocommerce-cart .woocommerce > .woocommerce-error,
body.woocommerce-cart .woocommerce > .woocommerce-message,
body.woocommerce-cart .woocommerce > .woocommerce-info {
	grid-column: 1 / -1;
}

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

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

body.woocommerce-cart .woocommerce table.shop_table {
	width: 100%;
	margin: 0 !important;
	border: 1px solid var(--pw-commerce-border) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: var(--pw-commerce-white);
	border-radius: 16px !important;
	box-shadow: var(--pw-commerce-shadow);
	overflow: hidden;
}

body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-cart .woocommerce table.shop_table td {
	border: 0 !important;
}

body.woocommerce-cart .woocommerce table.shop_table thead th {
	padding: 15px 16px !important;
	color: var(--pw-commerce-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	background: var(--pw-commerce-blush);
	border-bottom: 1px solid var(--pw-commerce-border) !important;
}

body.woocommerce-cart .woocommerce table.shop_table tbody td {
	padding: 18px 16px !important;
	color: var(--pw-commerce-text);
	vertical-align: middle;
	border-bottom: 1px solid #f0eaed !important;
}

body.woocommerce-cart .woocommerce table.shop_table tbody tr:last-child td,
body.woocommerce-cart .woocommerce table.shop_table tbody tr:last-child th {
	border-bottom: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
	width: 88px;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 68px !important;
	height: 68px !important;
	object-fit: cover;
	background: #fff;
	border: 1px solid var(--pw-commerce-border);
	border-radius: 10px;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
	color: var(--pw-commerce-pink) !important;
	font-weight: 750;
	text-decoration: none !important;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name dl.variation,
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name .wc-item-meta {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 3px 7px;
	margin: 8px 0 0;
	color: var(--pw-commerce-muted);
	font-size: 13px;
	line-height: 1.45;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name dl.variation dt,
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name dl.variation dd,
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name .wc-item-meta li,
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name .wc-item-meta p {
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name dl.variation dt {
	color: var(--pw-commerce-navy);
	font-weight: 650;
}

body.woocommerce-cart .woocommerce-cart-form__cart-item .product-price,
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-subtotal {
	color: var(--pw-commerce-navy);
	font-weight: 700;
}

body.woocommerce-cart .woocommerce .quantity .qty {
	width: 76px;
	min-height: 44px;
	padding: 8px 10px;
	color: var(--pw-commerce-navy);
	font-weight: 700;
	text-align: center;
	background: #fff;
	border: 1px solid var(--pw-commerce-border-strong);
	border-radius: 9px;
	box-shadow: none;
}

body.woocommerce-cart .woocommerce a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #b12d4e !important;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	background: #fff6f8;
	border: 1px solid #f0cbd5;
	border-radius: 9px;
}

body.woocommerce-cart .woocommerce a.remove:hover {
	color: #ffffff !important;
	background: #b12d4e;
	border-color: #b12d4e;
}

body.woocommerce-cart .woocommerce table.shop_table td.actions {
	padding: 16px !important;
	background: #fff;
}

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

body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon .input-text {
	width: 170px !important;
	min-height: 45px;
	margin: 0 !important;
	padding: 10px 12px !important;
	color: var(--pw-commerce-navy);
	background: #fff;
	border: 1px solid var(--pw-commerce-border-strong) !important;
	border-radius: 9px !important;
	box-shadow: none !important;
}

body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
	float: right;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0;
	padding: 25px;
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border);
	border-radius: 16px;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: 0 0 19px;
	color: var(--pw-commerce-navy);
	font-size: 25px;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

body.woocommerce-cart .cart-collaterals .cart_totals table {
	box-shadow: none;
	border-radius: 11px !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table th,
body.woocommerce-cart .cart-collaterals .cart_totals table td {
	padding: 14px 13px !important;
	font-size: 14px;
	background: #fff;
	border-bottom: 1px solid #eee7ea !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table th {
	width: 42%;
	color: var(--pw-commerce-navy);
	font-weight: 750;
}

body.woocommerce-cart .cart-collaterals .cart_totals table td {
	color: var(--pw-commerce-text);
	text-align: right;
}

body.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
	color: var(--pw-commerce-navy);
	font-size: 16px;
	font-weight: 800;
}

body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
	padding: 20px 0 0 !important;
}

body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
	margin: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cross-sells {
	float: none;
	width: 100%;
	margin-top: 24px;
}

body.woocommerce-cart .cart-empty {
	margin-bottom: 14px !important;
	text-align: center;
}

body.woocommerce-cart .return-to-shop {
	text-align: center;
}

/* Checkout */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
	grid-template-areas:
		"customer heading"
		"customer review";
	gap: 0 30px;
	align-items: start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #customer_details {
	grid-area: customer;
	min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review_heading {
	grid-area: heading;
	margin: 0;
	padding: 25px 25px 17px;
	color: var(--pw-commerce-navy);
	font-size: 25px;
	line-height: 1.25;
	letter-spacing: -0.02em;
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review {
	grid-area: review;
	position: sticky;
	top: 28px;
	min-width: 0;
	padding: 0 25px 25px;
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
	margin: 0 0 22px;
	padding: 26px;
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border);
	border-radius: 16px;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout form.checkout h3 {
	margin: 0 0 21px;
	color: var(--pw-commerce-navy);
	font-size: 24px;
	line-height: 1.3;
	letter-spacing: -0.018em;
}

body.woocommerce-checkout #customer_details #ship-to-different-address {
	font-size: 17px;
}

body.woocommerce-checkout #customer_details #ship-to-different-address label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
}

body.woocommerce-checkout .woocommerce form .form-row,
body.woocommerce-checkout form.checkout .form-row {
	margin: 0 0 17px;
	padding: 0;
}

body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout form.checkout .form-row label {
	margin: 0 0 7px;
	color: var(--pw-commerce-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

body.woocommerce-checkout .woocommerce form .form-row .required,
body.woocommerce-checkout form.checkout .form-row .required {
	color: var(--pw-commerce-pink);
}

body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
	width: 100%;
	min-height: 49px;
	padding: 11px 13px;
	color: var(--pw-commerce-navy);
	font-size: 15px;
	background: #fff;
	border: 1px solid var(--pw-commerce-border-strong) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce textarea {
	min-height: 108px;
	resize: vertical;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single {
	padding: 9px 42px 9px 13px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: var(--pw-commerce-navy);
	line-height: 29px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 47px;
	right: 8px;
}

body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
	outline: 0;
	border-color: #e78da8 !important;
	box-shadow: 0 0 0 3px rgba(223, 63, 108, 0.11) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	margin-top: 0;
}

body.woocommerce-checkout #order_review table.shop_table {
	margin: 0 0 20px !important;
	border: 1px solid var(--pw-commerce-border) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 11px !important;
	overflow: hidden;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
	padding: 13px 12px !important;
	color: var(--pw-commerce-text);
	font-size: 14px;
	line-height: 1.45;
	background: #fff;
	border: 0 !important;
	border-bottom: 1px solid #eee7ea !important;
}

body.woocommerce-checkout #order_review table.shop_table thead th {
	color: var(--pw-commerce-navy);
	font-weight: 800;
	background: var(--pw-commerce-blush);
}

body.woocommerce-checkout #order_review table.shop_table th:last-child,
body.woocommerce-checkout #order_review table.shop_table td:last-child {
	text-align: right;
}

body.woocommerce-checkout #order_review table.shop_table tr:last-child th,
body.woocommerce-checkout #order_review table.shop_table tr:last-child td {
	border-bottom: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
	color: var(--pw-commerce-navy);
	font-size: 16px;
	font-weight: 800;
}

body.woocommerce-checkout #payment {
	margin: 0;
	background: var(--pw-commerce-blush) !important;
	border: 1px solid var(--pw-commerce-border);
	border-radius: 12px !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
	margin: 0;
	padding: 18px !important;
	border-bottom: 1px solid var(--pw-commerce-border) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0 0 11px;
	color: var(--pw-commerce-navy);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.45;
}

body.woocommerce-checkout #payment ul.payment_methods li:last-child {
	margin-bottom: 0;
}

body.woocommerce-checkout #payment div.payment_box {
	margin: 12px 0 4px;
	padding: 14px 15px;
	color: var(--pw-commerce-text);
	background: #fff !important;
	border: 1px solid var(--pw-commerce-border);
	border-radius: 9px;
}

body.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

body.woocommerce-checkout #payment div.form-row.place-order {
	margin: 0;
	padding: 18px !important;
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	color: var(--pw-commerce-muted);
	font-size: 13px;
	line-height: 1.55;
}

body.woocommerce-checkout #payment a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .woocommerce-form-login-toggle a {
	color: var(--pw-commerce-pink) !important;
	text-underline-offset: 3px;
}

body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.login {
	margin: 0 0 22px !important;
	padding: 22px !important;
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border) !important;
	border-radius: 13px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	min-height: 0;
}

body.woocommerce-checkout .woocommerce-checkout-payment img,
body.woocommerce-checkout #payment img {
	max-height: 32px;
	width: auto;
}

/* Order received / pay-for-order */
body.woocommerce-order-received .woocommerce,
body.woocommerce-checkout.woocommerce-order-pay .woocommerce {
	max-width: 1080px !important;
}

body.woocommerce-order-received .woocommerce-order,
body.woocommerce-checkout.woocommerce-order-pay .woocommerce-form-pay {
	padding: clamp(22px, 4vw, 34px);
	background: var(--pw-commerce-white);
	border: 1px solid var(--pw-commerce-border);
	border-radius: 18px;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 24px;
	color: var(--pw-commerce-navy);
	font-size: clamp(23px, 3vw, 32px);
	font-weight: 750;
	line-height: 1.3;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	list-style: none;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
	float: none;
	margin: 0 !important;
	padding: 15px !important;
	color: var(--pw-commerce-muted);
	font-size: 11px;
	line-height: 1.45;
	background: var(--pw-commerce-blush);
	border: 1px solid var(--pw-commerce-border);
	border-radius: 10px;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 5px;
	color: var(--pw-commerce-navy);
	font-size: 14px;
	line-height: 1.35;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin-top: 26px;
}

body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2 {
	color: var(--pw-commerce-navy);
	font-size: 24px;
}

/* WooCommerce Cart and Checkout blocks */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: 42px clamp(22px, 4vw, 58px) 76px;
	color: var(--pw-commerce-text);
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step {
	background: #fff;
	border: 1px solid var(--pw-commerce-border);
	border-radius: 16px;
	box-shadow: var(--pw-commerce-shadow);
}

body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar {
	padding: 24px;
}

body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-cart .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
	color: var(--pw-commerce-navy);
}

body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	border-color: var(--pw-commerce-border-strong) !important;
	border-radius: 10px !important;
}

@media (max-width: 1024px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

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

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"customer"
			"heading"
			"review";
		gap: 22px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review_heading {
		margin-bottom: -22px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review {
		position: static;
	}
}

@media (max-width: 760px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding: 24px 15px 52px !important;
	}

	body.woocommerce-cart .pw-commerce-heading,
	body.woocommerce-checkout .pw-commerce-heading {
		margin-bottom: 19px;
		padding: 23px 20px;
		border-radius: 15px;
	}

	body.woocommerce-cart .woocommerce-message .button,
	body.woocommerce-checkout .woocommerce-message .button,
	body.woocommerce-cart .woocommerce-info .button,
	body.woocommerce-checkout .woocommerce-info .button {
		float: none;
		width: 100%;
		margin: 12px 0 0;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tr,
	body.woocommerce-cart .woocommerce table.shop_table_responsive td {
		display: block;
		width: 100%;
	}

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

	body.woocommerce-cart .woocommerce table.shop_table_responsive {
		border: 0 !important;
		background: transparent;
		box-shadow: none;
		overflow: visible;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item {
		position: relative;
		margin-bottom: 14px;
		padding: 15px;
		background: #fff;
		border: 1px solid var(--pw-commerce-border);
		border-radius: 14px;
		box-shadow: 0 10px 25px rgba(17, 26, 53, 0.05);
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item td {
		min-height: 42px;
		padding: 9px 0 9px 43% !important;
		text-align: right !important;
		border-bottom: 1px solid #f0eaed !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item td:last-child {
		border-bottom: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item td::before {
		position: absolute;
		left: 0;
		width: 38%;
		color: var(--pw-commerce-navy);
		font-weight: 750;
		text-align: left;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-remove {
		position: absolute;
		top: 13px;
		right: 13px;
		z-index: 2;
		min-height: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-remove::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail {
		min-height: 78px !important;
		padding: 0 48px 10px 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name {
		padding: 10px 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions {
		padding: 15px !important;
		background: #fff;
		border: 1px solid var(--pw-commerce-border) !important;
		border-radius: 14px;
	}

	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon {
		align-items: stretch;
		flex-direction: column;
	}

	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon .input-text,
	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon .button,
	body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
		float: none;
		width: 100% !important;
		margin: 0 0 9px !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-checkout #customer_details .col-1,
	body.woocommerce-checkout #customer_details .col-2,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review_heading,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review {
		padding-left: 19px;
		padding-right: 19px;
		border-radius: 14px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review_heading {
		padding-bottom: 16px;
		border-bottom: 0;
		border-radius: 14px 14px 0 0;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout > #order_review {
		padding-top: 0;
		border-top: 0;
		border-radius: 0 0 14px 14px;
	}

	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last {
		float: none !important;
		width: 100% !important;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 460px) {
	body.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}

/* v1.1.4 — thank-you page fix.
 * This page loads commerce.css, not account.css. The previous fix targeted the
 * My Account stylesheet, so the native WooCommerce clearfix pseudo-elements
 * still occupied a card position and pushed Total onto a second row.
 */
body.woocommerce-checkout.woocommerce-order-received .woocommerce {
	box-sizing: border-box !important;
	width: calc(100% - 48px) !important;
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-checkout.woocommerce-order-received .woocommerce-order {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	padding: clamp(24px, 3.2vw, 44px) !important;
}

body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details {
	box-sizing: border-box !important;
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
	list-style: none !important;
	clear: both !important;
}

body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details::before,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details::after {
	display: none !important;
	content: none !important;
	position: static !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview > li,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details > li {
	box-sizing: border-box !important;
	display: flex !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	justify-content: center !important;
	float: none !important;
	clear: none !important;
	width: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 92px !important;
	margin: 0 !important;
	padding: 18px 20px !important;
	border-right: 1px solid var(--pw-commerce-border) !important;
	background: var(--pw-commerce-blush) !important;
	border: 1px solid var(--pw-commerce-border) !important;
	border-radius: 13px !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview > li strong,
body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details > li strong {
	display: block !important;
	min-width: 0 !important;
	margin: 7px 0 0 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	overflow-wrap: anywhere !important;
}

/* Reorder panel on the thank-you page. */
body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 28px !important;
	width: 100% !important;
	margin: 30px 0 38px !important;
	padding: 25px 27px !important;
	background: var(--pw-commerce-blush) !important;
	border: 1px solid var(--pw-commerce-border) !important;
	border-radius: 14px !important;
}

body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__copy {
	min-width: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__copy h2 {
	margin: 0 0 11px !important;
	padding: 0 !important;
	color: var(--pw-commerce-navy) !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
}

body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__copy p {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--pw-commerce-text) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__action {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}

body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__action .button {
	min-width: 118px !important;
	margin: 0 !important;
}

@media (max-width: 900px) {
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details {
		flex-wrap: wrap !important;
	}

	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview > li,
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details > li {
		flex: 1 1 calc(50% - 7px) !important;
		width: calc(50% - 7px) !important;
	}
}

@media (max-width: 640px) {
	body.woocommerce-checkout.woocommerce-order-received .woocommerce {
		width: calc(100% - 28px) !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .woocommerce-order {
		padding: 20px 16px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview > li,
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details > li {
		flex: 1 1 100% !important;
		width: 100% !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card {
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 18px !important;
		padding: 21px 19px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__action {
		justify-content: flex-start !important;
		width: 100% !important;
	}
}

/* v1.1.7 — complete mobile rebuild for basket, checkout and order-received.
 * Do not rely on the active theme's responsive table rules: they move the
 * thumbnail and product data into the wrong columns on narrow screens.
 */
@media (max-width: 767px) {
	body.woocommerce-cart,
	body.woocommerce-checkout {
		overflow-x: hidden !important;
	}

	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		box-sizing: border-box !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 18px 14px 48px !important;
		overflow: visible !important;
	}

	body.woocommerce-cart .woocommerce > *,
	body.woocommerce-checkout .woocommerce > *,
	body.woocommerce-cart .woocommerce form,
	body.woocommerce-checkout .woocommerce form,
	body.woocommerce-cart .woocommerce table,
	body.woocommerce-checkout .woocommerce table {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.woocommerce-cart .pw-commerce-heading,
	body.woocommerce-checkout .pw-commerce-heading {
		margin: 0 !important;
		padding: 21px 18px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-cart .pw-commerce-heading h1,
	body.woocommerce-checkout .pw-commerce-heading h1 {
		font-size: 29px !important;
		line-height: 1.15 !important;
	}

	body.woocommerce-cart .pw-commerce-heading p,
	body.woocommerce-checkout .pw-commerce-heading p {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	body.woocommerce-cart .woocommerce-message,
	body.woocommerce-cart .woocommerce-info,
	body.woocommerce-cart .woocommerce-error,
	body.woocommerce-checkout .woocommerce-message,
	body.woocommerce-checkout .woocommerce-info,
	body.woocommerce-checkout .woocommerce-error {
		width: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 16px !important;
		font-size: 14px !important;
		line-height: 1.55 !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-cart .woocommerce-message .button,
	body.woocommerce-cart .woocommerce-info .button,
	body.woocommerce-checkout .woocommerce-message .button,
	body.woocommerce-checkout .woocommerce-info .button {
		float: none !important;
		width: 100% !important;
		margin: 13px 0 0 !important;
	}

	/* Basket product card. */
	body.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
	body.woocommerce-cart form.woocommerce-cart-form,
	body.woocommerce-cart .woocommerce > .cart-collaterals {
		grid-column: 1 !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

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

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item {
		box-sizing: border-box !important;
		display: grid !important;
		grid-template-columns: 76px minmax(0, 1fr) !important;
		grid-template-areas:
			"thumbnail product"
			"price price"
			"quantity quantity"
			"subtotal subtotal" !important;
		column-gap: 14px !important;
		row-gap: 0 !important;
		position: relative !important;
		width: 100% !important;
		margin: 0 0 14px !important;
		padding: 16px !important;
		background: #ffffff !important;
		border: 1px solid var(--pw-commerce-border) !important;
		border-radius: 14px !important;
		box-shadow: var(--pw-commerce-shadow) !important;
		overflow: hidden !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td {
		box-sizing: border-box !important;
		float: none !important;
		clear: none !important;
		width: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		border: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-remove {
		display: block !important;
		position: absolute !important;
		top: 12px !important;
		right: 12px !important;
		z-index: 3 !important;
		width: 38px !important;
		height: 38px !important;
		padding: 0 !important;
		text-align: center !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-remove::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail {
		grid-area: thumbnail !important;
		display: block !important;
		align-self: start !important;
		width: 76px !important;
		min-height: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .pw-reorder-artwork-thumb,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .pw-reorder-artwork-thumb img {
		display: block !important;
		width: 76px !important;
		max-width: 76px !important;
		height: 76px !important;
		margin: 0 !important;
		object-fit: cover !important;
		border-radius: 10px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name {
		grid-area: product !important;
		display: block !important;
		width: 100% !important;
		padding: 2px 38px 13px 0 !important;
		text-align: left !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name > a {
		display: inline-block !important;
		margin: 0 0 8px !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name dl.variation,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name .wc-item-meta {
		display: grid !important;
		grid-template-columns: minmax(112px, max-content) minmax(0, 1fr) !important;
		gap: 5px 8px !important;
		width: 100% !important;
		margin: 0 !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name dl.variation dt,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name dl.variation dd,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name dl.variation dd p,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name .wc-item-meta li,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name .wc-item-meta p {
		float: none !important;
		clear: none !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-price,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-quantity,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-subtotal {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px !important;
		width: 100% !important;
		padding: 13px 0 !important;
		color: var(--pw-commerce-navy) !important;
		text-align: right !important;
		border-top: 1px solid #f0eaed !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-price {
		grid-area: price !important;
		margin-top: 13px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-quantity {
		grid-area: quantity !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-subtotal {
		grid-area: subtotal !important;
		padding-bottom: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-price::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-quantity::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-subtotal::before {
		display: block !important;
		position: static !important;
		float: none !important;
		width: auto !important;
		max-width: 55% !important;
		color: var(--pw-commerce-navy) !important;
		font-weight: 750 !important;
		line-height: 1.35 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-quantity .quantity {
		margin-left: auto !important;
	}

	body.woocommerce-cart .woocommerce .quantity .qty {
		width: 72px !important;
		min-height: 42px !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody > tr:not(.cart_item):not(.woocommerce-cart-form__cart-item) {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive td.actions {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 16px !important;
		background: #ffffff !important;
		border: 1px solid var(--pw-commerce-border) !important;
		border-radius: 14px !important;
		box-shadow: var(--pw-commerce-shadow) !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon .input-text,
	body.woocommerce-cart .woocommerce table.shop_table td.actions .coupon .button,
	body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table td.actions button[name="update_cart"] {
		margin-top: 10px !important;
	}

	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-cart .cart-collaterals .cart_totals {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		padding: 20px 16px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals h2 {
		font-size: 24px !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals table {
		table-layout: fixed !important;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals table th,
	body.woocommerce-cart .cart-collaterals .cart_totals table td {
		width: 50% !important;
		padding: 14px 8px !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-cart .cart-collaterals iframe,
	body.woocommerce-cart .cart-collaterals img,
	body.woocommerce-cart .cart-collaterals svg {
		max-width: 100% !important;
	}

	/* Checkout form and order review. */
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas:
			"customer"
			"heading"
			"review" !important;
		gap: 16px !important;
		width: 100% !important;
	}

	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #customer_details .col-1,
	body.woocommerce-checkout #customer_details .col-2,
	body.woocommerce-checkout form.checkout > #order_review_heading,
	body.woocommerce-checkout form.checkout > #order_review {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.woocommerce-checkout #customer_details .col-1,
	body.woocommerce-checkout #customer_details .col-2 {
		padding: 20px 16px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > #order_review_heading {
		padding: 20px 16px 15px !important;
		font-size: 23px !important;
		border-radius: 14px 14px 0 0 !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > #order_review {
		position: static !important;
		padding: 0 16px 18px !important;
		border-radius: 0 0 14px 14px !important;
	}

	body.woocommerce-checkout .form-row,
	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last {
		float: none !important;
		clear: both !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-checkout #order_review table.shop_table,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table {
		width: 100% !important;
		table-layout: fixed !important;
	}

	body.woocommerce-checkout #order_review table.shop_table th,
	body.woocommerce-checkout #order_review table.shop_table td,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table th,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table td {
		min-width: 0 !important;
		padding: 12px 9px !important;
		font-size: 13px !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	body.woocommerce-checkout #order_review table.shop_table th:first-child,
	body.woocommerce-checkout #order_review table.shop_table td:first-child,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table th:first-child,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table td:first-child {
		width: 68% !important;
	}

	body.woocommerce-checkout #order_review table.shop_table th:last-child,
	body.woocommerce-checkout #order_review table.shop_table td:last-child,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table th:last-child,
	body.woocommerce-checkout .woocommerce-order-details table.shop_table td:last-child {
		width: 32% !important;
	}

	body.woocommerce-checkout #order_review dl.variation,
	body.woocommerce-checkout #order_review .wc-item-meta,
	body.woocommerce-checkout .woocommerce-order-details dl.variation,
	body.woocommerce-checkout .woocommerce-order-details .wc-item-meta {
		max-width: 100% !important;
		font-size: 12px !important;
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-checkout #payment,
	body.woocommerce-checkout #payment ul.payment_methods,
	body.woocommerce-checkout #payment div.form-row.place-order {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-checkout #payment ul.payment_methods,
	body.woocommerce-checkout #payment div.form-row.place-order {
		padding: 16px !important;
	}

	body.woocommerce-checkout #payment label,
	body.woocommerce-checkout #payment p,
	body.woocommerce-checkout #payment li {
		overflow-wrap: anywhere !important;
	}

	body.woocommerce-checkout form.checkout_coupon,
	body.woocommerce-checkout form.login {
		padding: 18px 16px !important;
	}

	/* Order received. */
	body.woocommerce-checkout.woocommerce-order-received .woocommerce {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 18px 14px 48px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .woocommerce-order {
		width: 100% !important;
		max-width: 100% !important;
		padding: 18px 14px !important;
		border-radius: 14px !important;
		overflow: hidden !important;
	}

	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
		margin-bottom: 24px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-order-overview > li,
	body.woocommerce-checkout.woocommerce-order-received ul.woocommerce-thankyou-order-details.order_details > li {
		width: 100% !important;
		min-height: 78px !important;
		padding: 15px 16px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
		width: 100% !important;
		margin: 24px 0 !important;
		padding: 20px 17px !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__action,
	body.woocommerce-checkout.woocommerce-order-received .pw-repeat-order-card__action .button {
		width: 100% !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .woocommerce-columns--addresses,
	body.woocommerce-checkout.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-checkout.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
		margin: 0 0 14px !important;
	}
}

@media (max-width: 420px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		column-gap: 11px !important;
		padding: 14px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .pw-reorder-artwork-thumb,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .pw-reorder-artwork-thumb img {
		width: 64px !important;
		max-width: 64px !important;
		height: 64px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name dl.variation,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-name .wc-item-meta {
		grid-template-columns: minmax(96px, max-content) minmax(0, 1fr) !important;
		font-size: 12px !important;
	}
}

/* v1.1.7 specificity guard: override WooCommerce's 43% mobile label padding. */
@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail {
		padding: 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-name,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-name {
		padding: 2px 38px 13px 0 !important;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-price,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-quantity,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-subtotal,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-quantity,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-subtotal {
		padding: 13px 0 !important;
		text-align: right !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-subtotal,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-subtotal {
		padding-bottom: 0 !important;
	}
}

/* v1.1.7 primary action specificity and guaranteed mobile table labels. */
body.woocommerce-cart .woocommerce a.checkout-button.button,
body.woocommerce-checkout .woocommerce button#place_order.button,
body.woocommerce-checkout .woocommerce button[name="woocommerce_checkout_place_order"].button {
	color: #ffffff !important;
	background: var(--pw-commerce-pink) !important;
	border-color: var(--pw-commerce-pink) !important;
}

body.woocommerce-cart .woocommerce a.checkout-button.button:hover,
body.woocommerce-checkout .woocommerce button#place_order.button:hover,
body.woocommerce-checkout .woocommerce button[name="woocommerce_checkout_place_order"].button:hover {
	color: #ffffff !important;
	background: var(--pw-commerce-pink-hover) !important;
	border-color: var(--pw-commerce-pink-hover) !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-price::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-quantity::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive .product-subtotal::before {
		content: attr(data-title) !important;
	}
}

/* v1.1.7 checkout line-item metadata containment. */
@media (max-width: 767px) {
	body.woocommerce-checkout #order_review dl.variation,
	body.woocommerce-checkout .woocommerce-order-details dl.variation {
		display: grid !important;
		grid-template-columns: minmax(96px, max-content) minmax(0, 1fr) !important;
		gap: 4px 7px !important;
		width: 100% !important;
		margin: 8px 0 0 !important;
		text-align: left !important;
	}

	body.woocommerce-checkout #order_review dl.variation dt,
	body.woocommerce-checkout #order_review dl.variation dd,
	body.woocommerce-checkout #order_review dl.variation dd p,
	body.woocommerce-checkout .woocommerce-order-details dl.variation dt,
	body.woocommerce-checkout .woocommerce-order-details dl.variation dd,
	body.woocommerce-checkout .woocommerce-order-details dl.variation dd p {
		float: none !important;
		clear: none !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		overflow-wrap: anywhere !important;
	}
}

/* v1.1.8 — hard reset for mobile basket cells.
 * Some themes apply zebra backgrounds, fixed heights and responsive-table
 * pseudo-elements directly to cart <td> elements. Those rules produced the
 * large grey/white rectangles visible behind the artwork and product details.
 */
@media (max-width: 767px) {
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item:nth-child(odd),
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item:nth-child(even),
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item:nth-child(odd),
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item:nth-child(even) {
		background: #ffffff !important;
		background-image: none !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item:nth-child(odd) > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item:nth-child(even) > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item:nth-child(odd) > td,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item:nth-child(even) > td {
		height: auto !important;
		max-height: none !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		outline: 0 !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail {
		display: block !important;
		align-self: start !important;
		justify-self: start !important;
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		height: 76px !important;
		min-height: 76px !important;
		max-height: 76px !important;
		padding: 0 !important;
		margin: 0 !important;
		line-height: 0 !important;
		overflow: hidden !important;
		background: transparent !important;
		border-radius: 10px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail > a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail > a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail .pw-reorder-artwork-thumb,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail .pw-reorder-artwork-thumb {
		box-sizing: border-box !important;
		display: block !important;
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		height: 76px !important;
		min-height: 76px !important;
		max-height: 76px !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #ffffff !important;
		border: 1px solid var(--pw-commerce-border) !important;
		border-radius: 10px !important;
		object-fit: cover !important;
		overflow: hidden !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-name,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-name {
		display: block !important;
		align-self: start !important;
		width: 100% !important;
		height: auto !important;
		min-height: 76px !important;
		padding: 2px 42px 12px 0 !important;
		margin: 0 !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail::after,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-name::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-name::after,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail::after,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-name::before,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-name::after {
		display: none !important;
		content: none !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-price,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-quantity,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-subtotal,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-price,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-quantity,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-subtotal {
		min-height: 52px !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
	}
}

@media (max-width: 420px) {
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail > a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail > a,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail img,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-thumbnail .pw-reorder-artwork-thumb,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-thumbnail .pw-reorder-artwork-thumb {
		width: 64px !important;
		min-width: 64px !important;
		max-width: 64px !important;
		height: 64px !important;
		min-height: 64px !important;
		max-height: 64px !important;
	}

	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.cart_item > td.product-name,
	body.woocommerce-cart .woocommerce table.shop_table_responsive tbody tr.woocommerce-cart-form__cart-item > td.product-name {
		min-height: 64px !important;
	}
}
