/**
 * Cart, checkout, account, notices, forms — MEEM branding.
 */

body.meem-theme.woocommerce-cart .meem-page__content,
body.meem-theme.woocommerce-checkout .meem-page__content,
body.meem-theme.woocommerce-account .meem-page__content {
	max-width: none;
}

.meem-wc-page .meem-page__head {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.9rem;
	margin-block-end: 1.25rem;
}

.meem-wc-page .meem-page__head h1 {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2rem);
	color: var(--meem-color-ink);
}

.meem-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0.15rem 0 0;
	counter-reset: meem-step;
	background: transparent;
	border: 0;
}

.meem-steps__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	padding: 0;
	background: transparent;
	color: var(--meem-color-muted);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.meem-steps__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.meem-steps__label {
	display: block;
	max-width: 100%;
	padding-inline: 0.2rem;
}

.meem-steps__num {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	color: var(--meem-color-muted);
	font-size: 0.78rem;
	font-weight: 800;
}

.meem-steps__num::before {
	counter-increment: meem-step;
	content: counter(meem-step);
}

.meem-steps__item:not(:last-child)::after {
	content: "";
	position: absolute;
	z-index: 0;
	inset-block-start: 1rem;
	inset-inline-start: calc(50% + 1.15rem);
	width: calc(100% - 2.3rem);
	height: 2px;
	background: var(--meem-color-border);
}

.meem-steps__item.is-done,
.meem-steps__item.is-done a {
	color: var(--meem-color-success);
}

.meem-steps__item.is-done .meem-steps__num {
	background: var(--meem-color-success);
	border-color: var(--meem-color-success);
	color: #fff;
}

.meem-steps__item.is-done:not(:last-child)::after {
	background: var(--meem-color-success);
}

.meem-steps__item.is-current,
.meem-steps__item.is-current a {
	color: var(--meem-color-primary);
}

.meem-steps__item.is-current .meem-steps__num {
	background: var(--meem-color-primary);
	border-color: var(--meem-color-primary);
	color: #fff;
	box-shadow: 0 0 0 4px var(--meem-color-primary-light);
}

@media (min-width: 768px) {
	.meem-steps {
		max-width: 36rem;
	}
}

body.meem-theme .woocommerce-notices-wrapper,
body.meem-theme .woocommerce-form-coupon-toggle {
	margin-block: 0 1.35rem;
}

body.meem-theme .woocommerce-error,
body.meem-theme .woocommerce-info,
body.meem-theme .woocommerce-message {
	border: 1px solid var(--meem-color-border);
	border-inline-start: 4px solid var(--meem-color-primary);
	background: var(--meem-color-surface);
	border-radius: var(--meem-radius);
	color: var(--meem-color-ink);
	padding: 1rem 1.15rem;
	margin: 0 0 1.15rem;
}

body.meem-theme .woocommerce-notices-wrapper .woocommerce-error,
body.meem-theme .woocommerce-notices-wrapper .woocommerce-info,
body.meem-theme .woocommerce-notices-wrapper .woocommerce-message,
body.meem-theme .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-block-end: 0;
}

body.meem-theme .woocommerce-error {
	border-inline-start-color: var(--meem-color-sale);
}

body.meem-theme .woocommerce-message {
	border-inline-start-color: var(--meem-color-success);
}

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

body.meem-theme .woocommerce a.button,
body.meem-theme .woocommerce button.button,
body.meem-theme .woocommerce input.button,
body.meem-theme .woocommerce #respond input#submit,
body.meem-theme .woocommerce #place_order,
body.meem-theme .woocommerce a.button.alt,
body.meem-theme .woocommerce button.button.alt,
body.meem-theme .woocommerce input.button.alt,
body.meem-theme .woocommerce #respond input#submit.alt {
	background: var(--meem-gradient-cta) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--meem-radius-md) !important;
	min-height: var(--meem-control-height);
	font-weight: 700;
	padding: 0.65rem 1.15rem;
	box-shadow: var(--meem-shadow-button) !important;
}

body.meem-theme .woocommerce a.button:hover,
body.meem-theme .woocommerce button.button:hover,
body.meem-theme .woocommerce input.button:hover,
body.meem-theme .woocommerce a.button.alt:hover,
body.meem-theme .woocommerce button.button.alt:hover,
body.meem-theme .woocommerce #place_order:hover {
	background: var(--meem-gradient-cta-hover) !important;
	color: #fff !important;
}

body.meem-theme .woocommerce a.button:focus-visible,
body.meem-theme .woocommerce button.button:focus-visible,
body.meem-theme .woocommerce input.button:focus-visible,
body.meem-theme .woocommerce #place_order:focus-visible {
	outline: var(--meem-focus);
	outline-offset: 2px;
}

body.meem-theme .woocommerce a.button.disabled,
body.meem-theme .woocommerce button.button.disabled,
body.meem-theme .woocommerce button.button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

body.meem-theme .woocommerce .button.wc-backward,
body.meem-theme .woocommerce a.button.wc-forward:not(.checkout-button) {
	background: var(--meem-color-surface) !important;
	color: var(--meem-color-ink) !important;
	border: 1px solid var(--meem-color-border) !important;
}

body.meem-theme .woocommerce form .form-row label,
body.meem-theme .woocommerce-account .woocommerce form label {
	font-weight: 600;
	color: var(--meem-color-ink);
	margin-block-end: 0.3rem;
}

body.meem-theme .woocommerce form .form-row-wide,
body.meem-theme .woocommerce form .form-row-first,
body.meem-theme .woocommerce form .form-row-last {
	max-width: none;
}

body.meem-theme .woocommerce form .form-row-wide .input-text,
body.meem-theme .woocommerce form .form-row-wide select {
	width: 100%;
}

body.meem-theme .woocommerce form .input-text,
body.meem-theme .woocommerce form select,
body.meem-theme .woocommerce form textarea,
body.meem-theme .woocommerce-page .input-text,
body.meem-theme .select2-container--default .select2-selection--single {
	border: 1px solid var(--meem-color-border) !important;
	border-radius: var(--meem-radius-sm) !important;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	background: var(--meem-color-surface);
	color: var(--meem-color-ink);
	box-shadow: none !important;
}

body.meem-theme .woocommerce form .input-text:focus,
body.meem-theme .woocommerce form select:focus,
body.meem-theme .woocommerce form textarea:focus,
body.meem-theme .select2-container--default.select2-container--focus .select2-selection--single,
body.meem-theme .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--meem-color-primary) !important;
	outline: none;
	box-shadow: var(--meem-focus-ring) !important;
}

body.meem-theme .woocommerce form .form-row.woocommerce-invalid .input-text,
body.meem-theme .woocommerce form .form-row.woocommerce-invalid select,
body.meem-theme .woocommerce form .form-row.woocommerce-invalid textarea {
	border-color: var(--meem-color-error) !important;
}

body.meem-theme .woocommerce form .form-row.woocommerce-invalid label {
	color: var(--meem-color-error);
}

body.meem-theme .woocommerce form .input-text::placeholder,
body.meem-theme .woocommerce form textarea::placeholder {
	color: var(--meem-color-text-muted);
}

body.meem-theme .select2-dropdown {
	border-color: var(--meem-color-border);
}

body.meem-theme .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--meem-color-primary);
}

body.meem-theme table.shop_table {
	width: 100%;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--meem-color-surface);
	table-layout: auto;
}

body.meem-theme.woocommerce-cart table.cart {
	table-layout: fixed;
}

body.meem-theme .woocommerce-cart-form .actions,
body.meem-theme table.cart td.actions {
	display: table-cell;
	width: auto;
	padding: 1rem 1.1rem;
	vertical-align: middle;
}

body.meem-theme.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	float: left !important;
	width: calc(100% - 10.5rem) !important;
	max-width: none !important;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
}

body.meem-theme.woocommerce-cart table.cart td.actions .coupon .input-text {
	float: none !important;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
}

body.meem-theme.woocommerce-cart table.cart td.actions .coupon .button,
body.meem-theme.woocommerce-cart table.cart td.actions > .button {
	float: none !important;
	margin: 0 !important;
	white-space: nowrap;
}

body.meem-theme.woocommerce-cart table.cart td.actions > .button {
	float: right !important;
}

body.meem-theme table.shop_table th,
body.meem-theme table.shop_table td {
	border-color: var(--meem-color-border);
	padding: 0.85rem 0.75rem;
	vertical-align: middle;
}

body.meem-theme table.shop_table th {
	background: var(--meem-color-cream);
	color: var(--meem-color-ink);
	font-weight: 700;
	font-size: 0.82rem;
	text-align: start;
}

body.meem-theme table.cart th.product-remove,
body.meem-theme table.cart td.product-remove {
	width: 52px;
	text-align: center;
}

body.meem-theme table.cart th.product-thumbnail,
body.meem-theme table.cart td.product-thumbnail {
	width: 88px;
	text-align: center;
}

body.meem-theme table.cart th.product-price,
body.meem-theme table.cart td.product-price,
body.meem-theme table.cart th.product-quantity,
body.meem-theme table.cart td.product-quantity,
body.meem-theme table.cart th.product-subtotal,
body.meem-theme table.cart td.product-subtotal {
	width: 16%;
	text-align: end;
}

body.meem-theme table.cart .product-thumbnail img,
body.meem-theme table.cart .product-thumbnail a img {
	display: block;
	width: 64px !important;
	height: 64px !important;
	max-width: none !important;
	margin-inline: auto;
	object-fit: cover;
	border-radius: var(--meem-radius-sm);
	background: var(--meem-color-cream);
}

body.meem-theme table.cart .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--meem-color-cream);
	color: var(--meem-color-sale) !important;
	text-decoration: none;
	font-size: 1.1rem;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.meem-theme table.cart .product-remove a:hover,
body.meem-theme table.cart .product-remove a:focus-visible {
	background: var(--meem-color-sale) !important;
	color: #fff !important;
}

body.meem-theme table.cart .product-name {
	text-align: start;
}

body.meem-theme table.cart .product-name a {
	color: var(--meem-color-ink);
	font-weight: 600;
	text-decoration: none;
}

body.meem-theme.woocommerce-cart table.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	justify-content: stretch;
	gap: 0;
	width: 7.75rem;
	max-width: 100%;
	margin: 0;
	border: 1px solid var(--meem-color-border);
	border-radius: 12px;
	overflow: hidden;
	background: var(--meem-color-surface);
}

body.meem-theme.woocommerce-cart .meem-qty-btn {
	flex: 0 0 2.15rem;
	width: 2.15rem;
	border: 0;
	background: var(--meem-color-cream);
	color: var(--meem-color-ink);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

body.meem-theme.woocommerce-cart .meem-qty-btn:hover,
body.meem-theme.woocommerce-cart .meem-qty-btn:focus-visible {
	background: var(--meem-color-primary-light);
	color: var(--meem-color-primary);
}

body.meem-theme.woocommerce-cart table.cart .quantity .qty {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: var(--meem-color-surface) !important;
	text-align: center;
	font-weight: 800;
	-moz-appearance: textfield;
	appearance: textfield;
}

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

body.meem-theme.woocommerce-cart form.woocommerce-cart-form.is-updating {
	opacity: 0.65;
	pointer-events: none;
}

body.meem-theme .quantity .qty {
	width: 4.2rem;
	min-height: 40px;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius-sm);
	text-align: center;
}

body.meem-theme .cart-collaterals {
	margin-block-start: 0;
}

body.meem-theme .cart_totals table.shop_table,
body.meem-theme .cart_totals table.shop_table th,
body.meem-theme .cart_totals table.shop_table td {
	border: 0;
	background: transparent;
	padding: 0.55rem 0;
}

body.meem-theme .cart_totals table.shop_table th {
	text-align: start;
	font-weight: 600;
}

body.meem-theme .cart_totals table.shop_table td {
	text-align: end;
}

body.meem-theme.woocommerce-cart .meem-page__head {
	align-items: center;
	justify-content: flex-start;
}

body.meem-theme .cart_totals,
body.meem-theme .woocommerce-checkout-review-order,
body.meem-theme #order_review {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.1rem 1.2rem;
}

body.meem-theme .cart_totals h2,
body.meem-theme #order_review_heading {
	margin: 0 0 0.85rem;
	font-size: 1.15rem;
}

body.meem-theme .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
}

.meem-cart-continue {
	margin: 1rem 0 0;
}

.meem-cart-continue a {
	color: var(--meem-color-primary);
	font-weight: 700;
	text-decoration: none;
}

body.meem-theme .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	max-width: 100%;
}

body.meem-theme .coupon .input-text {
	flex: 1 1 12rem;
	min-width: 0;
	width: auto;
	max-width: 100%;
}

body.meem-theme .coupon .button {
	flex: 0 0 auto;
}

body.meem-theme #payment .payment_methods,
body.meem-theme #payment .payment_methods label,
body.meem-theme #payment .payment_box {
	overflow-wrap: anywhere;
}

body.meem-theme.woocommerce-checkout .meem-page__head {
	margin-block-end: 1.15rem;
}

body.meem-theme.woocommerce-checkout form.woocommerce-form-login {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1rem 1.15rem;
	margin-block-end: 1rem;
	box-shadow: var(--meem-shadow);
}

body.meem-theme.woocommerce-checkout form.checkout_coupon .form-row-first,
body.meem-theme.woocommerce-checkout form.checkout_coupon .form-row-last,
body.meem-theme.woocommerce-checkout form.woocommerce-form-login .form-row {
	float: none;
	width: 100%;
}

body.meem-theme.woocommerce-checkout #place_order {
	width: 100%;
}

@media (max-width: 767px) {
	body.meem-theme.woocommerce-checkout .form-row-first,
	body.meem-theme.woocommerce-checkout .form-row-last {
		float: none !important;
		width: 100% !important;
		margin-inline: 0;
	}

	body.meem-theme.woocommerce-checkout form.checkout_coupon .button,
	body.meem-theme.woocommerce-checkout form.checkout_coupon .input-text,
	body.meem-theme.woocommerce-checkout form.woocommerce-form-login .button {
		width: 100% !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table {
		display: table !important;
		width: 100%;
		table-layout: fixed;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
		display: table-header-group !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody {
		display: table-row-group !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot {
		display: table-footer-group !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table tr {
		display: table-row !important;
		background: transparent;
		border: 0;
		border-radius: 0;
		margin: 0;
		padding: 0;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
		display: table-cell !important;
		width: auto !important;
		text-align: start !important;
		background: transparent !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table td::before,
	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table th::before {
		content: none !important;
		display: none !important;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total,
	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
		text-align: end !important;
		white-space: nowrap;
	}

	body.meem-theme.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

body.meem-theme .woocommerce-form-coupon-toggle .woocommerce-info {
	display: block;
	margin: 0;
	padding: 0;
	border: 1px solid var(--meem-color-border);
	border-inline-start: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	background: var(--meem-color-surface);
	box-shadow: var(--meem-shadow);
	overflow: hidden;
}

body.meem-theme .meem-coupon-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	min-height: 52px;
	padding: 0.75rem 1rem;
	color: var(--meem-color-ink);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body.meem-theme .meem-coupon-toggle span:last-child {
	color: var(--meem-color-primary);
	font-weight: 800;
}

body.meem-theme .meem-coupon-toggle:hover span:last-child,
body.meem-theme .meem-coupon-toggle:focus-visible span:last-child {
	color: var(--meem-color-primary-dark);
}

body.meem-theme form.checkout_coupon {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1rem 1.15rem;
	margin-block-end: 1.25rem;
}

body.meem-theme #order_review_heading {
	margin: 0;
}

body.meem-theme .woocommerce-billing-fields h3,
body.meem-theme .woocommerce-shipping-fields h3,
body.meem-theme .woocommerce-additional-fields h3 {
	font-size: 1.15rem;
	margin: 0 0 0.85rem;
}

body.meem-theme #payment {
	background: var(--meem-color-cream);
	border-radius: var(--meem-radius-sm);
}

body.meem-theme #payment .payment_methods {
	padding: 0.75rem 1rem;
}

body.meem-theme #payment div.form-row {
	padding: 1rem;
}

body.meem-theme #payment .payment_box {
	background: var(--meem-color-surface);
	color: var(--meem-color-muted);
}

.meem-checkout-trust {
	margin: 0.75rem 0 0;
	font-size: 0.8rem;
	color: var(--meem-color-muted);
	text-align: center;
}

body.meem-theme .woocommerce-order {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.5rem;
}

body.meem-theme .woocommerce-thankyou-order-received {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--meem-color-success);
}

body.meem-theme.woocommerce-account.logged-in .woocommerce {
	display: block;
	max-width: none;
	margin-inline: 0;
}

body.meem-theme.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: none;
	margin-inline: 0;
}

body.meem-theme.woocommerce-account:not(.logged-in) .meem-page__head {
	margin-block-end: 1.15rem;
}

body.meem-theme .meem-account-layout {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

body.meem-theme .woocommerce-MyAccount-navigation,
body.meem-theme .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	box-shadow: var(--meem-shadow);
}

body.meem-theme .woocommerce-MyAccount-navigation {
	position: sticky;
	inset-block-start: 72px;
	z-index: 4;
	padding: 0.45rem;
	overflow: hidden;
}

body.meem-theme .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.4rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

body.meem-theme .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
	display: none;
}

body.meem-theme .woocommerce-MyAccount-navigation li {
	margin: 0;
	flex: 0 0 auto;
}

body.meem-theme .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.55rem 0.95rem;
	color: var(--meem-color-ink);
	text-decoration: none;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.88rem;
	white-space: nowrap;
	background: var(--meem-color-cream);
}

body.meem-theme .woocommerce-MyAccount-navigation li.is-active a,
body.meem-theme .woocommerce-MyAccount-navigation a:hover,
body.meem-theme .woocommerce-MyAccount-navigation a:focus-visible {
	background: var(--meem-gradient-cta);
	color: #fff;
	box-shadow: none;
}

body.meem-theme .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	background: transparent;
	color: var(--meem-color-muted);
}

body.meem-theme .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover,
body.meem-theme .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout.is-active a {
	background: var(--meem-color-cream);
	color: var(--meem-color-ink);
}

body.meem-theme .woocommerce-MyAccount-content {
	padding: 1.15rem 1.2rem 1.35rem;
	min-width: 0;
}

body.meem-theme .woocommerce-MyAccount-content a {
	color: var(--meem-color-primary);
}

@media (min-width: 900px) {
	body.meem-theme .meem-account-layout {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		align-items: start;
		gap: 1.35rem;
	}

	body.meem-theme .woocommerce-MyAccount-navigation {
		inset-block-start: 96px;
		padding: 0.7rem;
	}

	body.meem-theme .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-direction: column;
		overflow: visible;
		gap: 0.2rem;
	}

	body.meem-theme .woocommerce-MyAccount-navigation li {
		width: 100%;
	}

	body.meem-theme .woocommerce-MyAccount-navigation a {
		border-radius: var(--meem-radius-sm);
		padding: 0.7rem 0.75rem;
		background: transparent;
		white-space: normal;
	}

	body.meem-theme .woocommerce-MyAccount-navigation li.is-active a,
	body.meem-theme .woocommerce-MyAccount-navigation a:hover,
	body.meem-theme .woocommerce-MyAccount-navigation a:focus-visible {
		background: var(--meem-gradient-soft);
		color: var(--meem-color-primary-dark);
		box-shadow: inset 3px 0 0 var(--meem-color-primary);
	}

	html[dir="rtl"] body.meem-theme .woocommerce-MyAccount-navigation li.is-active a,
	html[dir="rtl"] body.meem-theme .woocommerce-MyAccount-navigation a:hover,
	html[dir="rtl"] body.meem-theme .woocommerce-MyAccount-navigation a:focus-visible,
	body.rtl.meem-theme .woocommerce-MyAccount-navigation li.is-active a,
	body.rtl.meem-theme .woocommerce-MyAccount-navigation a:hover,
	body.rtl.meem-theme .woocommerce-MyAccount-navigation a:focus-visible {
		box-shadow: inset -3px 0 0 var(--meem-color-primary);
	}

	body.meem-theme .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin-block-start: 0.45rem;
		padding-block-start: 0.45rem;
		border-block-start: 1px solid var(--meem-color-border);
	}

	body.meem-theme .woocommerce-MyAccount-content {
		padding: 1.35rem 1.45rem 1.55rem;
	}
}

body.meem-theme .woocommerce-form-login,
body.meem-theme .woocommerce-form-register,
body.meem-theme .woocommerce-ResetPassword,
body.meem-theme .woocommerce-EditAccountForm,
body.meem-theme .woocommerce-address-fields {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.25rem;
}

body.meem-theme .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
body.meem-theme .woocommerce-MyAccount-content .woocommerce-address-fields {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

body.meem-theme .woocommerce-EditAccountForm fieldset {
	margin: 1.15rem 0 0.35rem;
	padding: 0.85rem 1rem 0.35rem;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius-sm);
}

body.meem-theme .woocommerce-EditAccountForm > p,
body.meem-theme .woocommerce-address-fields > p {
	clear: both;
	float: none;
	margin: 0.85rem 0 0;
	text-align: start;
}

body.meem-theme .woocommerce-EditAccountForm .woocommerce-Button,
body.meem-theme .woocommerce-EditAccountForm button.button,
body.meem-theme .woocommerce-address-fields button.button {
	float: none !important;
	display: inline-flex;
	margin: 0.25rem 0 0 !important;
}

body.meem-theme .woocommerce-customer-details address,
body.meem-theme .woocommerce-Address address,
body.meem-theme .woocommerce-column address {
	display: block;
	flex: 1;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius-sm);
	padding: 0.9rem 1rem;
	font-style: normal;
	line-height: 1.55;
}

body.meem-theme .woocommerce-order-details {
	overflow: visible;
}

body.meem-theme .woocommerce-order-details table.shop_table {
	width: 100%;
	margin: 0;
}

body.meem-theme .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: block;
	margin-block: 0.75rem;
}

body.meem-theme .woocommerce-orders-table .woocommerce-button.view {
	min-height: 36px;
	padding-inline: 0.8rem;
}

body.meem-theme .woocommerce-pagination {
	margin-block-start: 1.5rem;
}

body.meem-theme .woocommerce-pagination ul {
	border: 0;
}

body.meem-theme .woocommerce-pagination li {
	border: 0;
	margin-inline-end: 0.35rem;
}

body.meem-theme .woocommerce-pagination a,
body.meem-theme .woocommerce-pagination span {
	min-width: 40px;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius-sm);
	background: var(--meem-color-surface);
	color: var(--meem-color-ink);
	text-decoration: none;
}

body.meem-theme .woocommerce-pagination span.current,
body.meem-theme .woocommerce-pagination a:hover {
	background: var(--meem-gradient-cta);
	border-color: transparent;
	color: #fff;
}

body.meem-theme .woocommerce-ordering select {
	min-height: 40px;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius-sm);
	padding-inline: 0.6rem;
	background: var(--meem-color-surface);
}

body.meem-theme .cart-empty.woocommerce-info {
	text-align: center;
}

body.meem-theme #customer_login,
body.meem-theme #customer_login.col2-set,
body.meem-theme #customer_login.u-columns {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	width: 100% !important;
	float: none !important;
}

body.meem-theme #customer_login::before,
body.meem-theme #customer_login::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	body.meem-theme #customer_login,
	body.meem-theme #customer_login.col2-set,
	body.meem-theme #customer_login.u-columns {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

body.meem-theme .wc-block-cart,
body.meem-theme .wc-block-checkout {
	font-family: var(--meem-font-body);
}

body.meem-theme .wc-block-cart__submit-button,
body.meem-theme .wc-block-components-checkout-place-order-button,
body.meem-theme .wc-block-components-button {
	background: var(--meem-gradient-cta) !important;
	color: #fff !important;
	border-radius: 10px !important;
}

@media (max-width: 767px) {
	body.meem-theme.woocommerce-cart table.cart {
		table-layout: auto;
		border: 0;
		background: transparent;
		overflow: visible;
	}

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

	body.meem-theme.woocommerce-cart table.cart tbody,
	body.meem-theme.woocommerce-cart table.cart tbody tr.cart_item {
		display: block;
		width: 100%;
	}

	body.meem-theme.woocommerce-cart table.cart tbody tr.cart_item {
		position: relative;
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"price price"
			"qty qty"
			"sub sub";
		gap: 0.65rem 0.85rem;
		align-items: center;
		background: var(--meem-color-surface) !important;
		border: 1px solid var(--meem-color-border);
		border-radius: var(--meem-radius);
		margin-block-end: 0.75rem;
		padding: 0.9rem 0.9rem 0.75rem;
	}

	body.meem-theme.woocommerce-cart table.cart td {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		width: auto !important;
		border: 0 !important;
		padding: 0;
		background: transparent !important;
		text-align: start !important;
	}

	body.meem-theme.woocommerce-cart table.cart td.product-remove {
		position: absolute;
		inset-block-start: 0.55rem;
		inset-inline-end: 0.55rem;
		z-index: 1;
		width: auto !important;
	}

	body.meem-theme.woocommerce-cart table.cart td.product-thumbnail { grid-area: thumb; align-self: start; }
	body.meem-theme.woocommerce-cart table.cart td.product-name {
		grid-area: name;
		align-self: start;
		padding-inline-end: 2.4rem;
		font-weight: 800;
	}
	body.meem-theme.woocommerce-cart table.cart td.product-price { grid-area: price; }
	body.meem-theme.woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
	body.meem-theme.woocommerce-cart table.cart td.product-subtotal { grid-area: sub; font-weight: 800; }

	body.meem-theme.woocommerce-cart table.cart td.product-price,
	body.meem-theme.woocommerce-cart table.cart td.product-quantity,
	body.meem-theme.woocommerce-cart table.cart td.product-subtotal {
		width: 100% !important;
		padding-block-start: 0.65rem;
		border-block-start: 1px solid var(--meem-color-border) !important;
	}

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

	body.meem-theme.woocommerce-cart table.cart td.product-price::before,
	body.meem-theme.woocommerce-cart table.cart td.product-quantity::before,
	body.meem-theme.woocommerce-cart table.cart td.product-subtotal::before {
		content: attr(data-title);
		float: none !important;
		display: inline;
		min-width: 0;
		margin: 0;
		color: var(--meem-color-muted);
		font-size: 0.78rem;
		font-weight: 700;
	}

	body.meem-theme.woocommerce-cart table.cart td.product-quantity .quantity {
		width: 7.75rem !important;
		max-width: none;
		margin-inline-start: auto;
	}

	body.meem-theme.woocommerce-cart table.cart td.actions {
		display: flex !important;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: stretch;
		float: none !important;
		width: 100% !important;
		padding: 0.85rem;
		background: var(--meem-color-surface);
		border: 1px solid var(--meem-color-border);
		border-radius: var(--meem-radius);
	}

	body.meem-theme.woocommerce-cart table.cart td.actions .coupon {
		flex-direction: column;
		align-items: stretch;
		float: none !important;
		width: 100% !important;
	}

	body.meem-theme.woocommerce-cart table.cart td.actions > .button {
		float: none !important;
	}

	body.meem-theme.woocommerce-cart table.cart .coupon,
	body.meem-theme.woocommerce-cart table.cart .coupon .input-text,
	body.meem-theme.woocommerce-cart table.cart td.actions .button {
		width: 100% !important;
		min-width: 0;
	}

	body.meem-theme table.shop_table_responsive tr {
		background: var(--meem-color-surface);
		border: 1px solid var(--meem-color-border);
		border-radius: var(--meem-radius-sm);
		margin-block-end: 0.75rem;
		padding: 0.75rem;
		display: block;
	}
}

body.meem-theme #customer_login .col-1,
body.meem-theme #customer_login .col-2,
body.meem-theme #customer_login .u-column1,
body.meem-theme #customer_login .u-column2 {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.35rem 1.4rem 1.5rem;
	box-shadow: var(--meem-shadow);
}

body.meem-theme #customer_login .input-text,
body.meem-theme #customer_login input[type="text"],
body.meem-theme #customer_login input[type="email"],
body.meem-theme #customer_login input[type="password"] {
	width: 100%;
	max-width: none;
}

body.meem-theme #customer_login h2 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
	letter-spacing: -0.03em;
}

body.meem-theme #customer_login h2::after {
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin-block-start: 0.45rem;
	border-radius: 99px;
	background: var(--meem-gradient-brand);
}

body.meem-theme #customer_login .woocommerce-form-login,
body.meem-theme #customer_login .woocommerce-form-register {
	background: transparent;
	border: 0;
	padding: 0;
	border-radius: 0;
}

body.meem-theme .lost_password {
	margin: 0.85rem 0 0;
}

body.meem-theme .lost_password a {
	font-weight: 600;
	text-decoration: none;
}

.meem-account-hello {
	margin: 0 0 0.4rem;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.meem-account-intro {
	margin: 0 0 1.15rem;
	color: var(--meem-color-muted);
}

.meem-account-cards {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.meem-account-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.meem-account-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.meem-account-cards a {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-height: 100%;
	padding: 1rem 1.05rem;
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	background: var(--meem-gradient-soft);
	text-decoration: none !important;
	color: var(--meem-color-ink) !important;
	box-shadow: var(--meem-shadow);
}

.meem-account-cards a:hover {
	border-color: transparent;
	box-shadow: var(--meem-shadow-hover);
}

.meem-account-cards strong {
	font-size: 1.02rem;
}

.meem-account-cards span {
	color: var(--meem-color-muted);
	font-size: 0.85rem;
	font-weight: 500;
}

body.meem-theme .woocommerce-Address,
body.meem-theme .woocommerce-column--billing-address,
body.meem-theme .woocommerce-column--shipping-address {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	box-sizing: border-box;
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.1rem 1.2rem;
}

body.meem-theme .woocommerce-Address-title,
body.meem-theme .woocommerce-column__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
}

body.meem-theme .woocommerce-Address-title h2,
body.meem-theme .woocommerce-Address-title h3,
body.meem-theme .woocommerce-column__title {
	flex: 1;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.3;
}

body.meem-theme .woocommerce-Address-title .edit {
	float: none !important;
	margin: 0 0 0 auto;
	white-space: nowrap;
}

body.meem-theme .woocommerce-MyAccount-content .woocommerce-order-details,
body.meem-theme .woocommerce-customer-details,
body.meem-theme .woocommerce-order-overview {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.1rem 1.2rem;
	margin-block: 1rem 0;
}

body.meem-theme .woocommerce-order-overview {
	display: grid;
	gap: 0.75rem 1.25rem;
	list-style: none;
}

@media (min-width: 768px) {
	body.meem-theme .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.meem-theme.woocommerce-order-received form.checkout,
body.meem-theme.woocommerce-order-received .col2-set {
	display: block;
}

body.meem-theme .woocommerce-thankyou-order-received {
	padding: 0.35rem 0 0.75rem;
}

.meem-thankyou-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.25rem 0 0;
}

body.meem-theme .woocommerce-order {
	box-shadow: var(--meem-shadow);
}

body.meem-theme .cart-empty.woocommerce-info {
	padding: 2rem 1.25rem;
	border-radius: var(--meem-radius);
}

body.meem-theme.woocommerce-cart .return-to-shop {
	text-align: center;
	margin-block-start: 1rem;
}

body.meem-theme .woocommerce-billing-fields,
body.meem-theme .woocommerce-shipping-fields,
body.meem-theme .woocommerce-additional-fields {
	background: var(--meem-color-surface);
	border: 1px solid var(--meem-color-border);
	border-radius: var(--meem-radius);
	padding: 1.15rem 1.2rem;
	margin-block-end: 1rem;
	box-shadow: var(--meem-shadow);
}

body.meem-theme #order_review_heading {
	background: var(--meem-gradient-soft);
	border: 1px solid var(--meem-color-border);
	border-block-end: 0;
	border-radius: var(--meem-radius) var(--meem-radius) 0 0;
	padding: 0.9rem 1.2rem;
}

body.meem-theme #order_review {
	border-radius: 0 0 var(--meem-radius) var(--meem-radius);
	box-shadow: var(--meem-shadow);
}

body.meem-theme .meem-checkout-layout__aside #order_review {
	position: static;
}

body.meem-theme .woocommerce-ResetPassword {
	max-width: 32rem;
	margin-inline: auto;
	box-shadow: var(--meem-shadow);
}

body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-columns,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col2-set,
body.meem-theme.woocommerce-account .woocommerce-Addresses,
body.meem-theme .woocommerce-customer-details .woocommerce-columns--addresses,
body.meem-theme .woocommerce-customer-details .addresses {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 1rem;
	width: 100% !important;
	float: none !important;
	margin: 0;
}

body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-columns::before,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-columns::after,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col2-set::before,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col2-set::after,
body.meem-theme.woocommerce-account .woocommerce-Addresses::before,
body.meem-theme.woocommerce-account .woocommerce-Addresses::after,
body.meem-theme .woocommerce-customer-details .woocommerce-columns--addresses::before,
body.meem-theme .woocommerce-customer-details .woocommerce-columns--addresses::after,
body.meem-theme .woocommerce-customer-details .addresses::before,
body.meem-theme .woocommerce-customer-details .addresses::after {
	content: none !important;
	display: none !important;
}

body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col-1,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col-2,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-column2,
body.meem-theme.woocommerce-account .woocommerce-column,
body.meem-theme .woocommerce-column--billing-address,
body.meem-theme .woocommerce-column--shipping-address {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
}

@media (min-width: 768px) {
	body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .u-columns,
	body.meem-theme.woocommerce-account .woocommerce-MyAccount-content .col2-set,
	body.meem-theme.woocommerce-account .woocommerce-Addresses,
	body.meem-theme .woocommerce-customer-details .woocommerce-columns--addresses,
	body.meem-theme .woocommerce-customer-details .addresses {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}

	body.meem-theme .woocommerce-column--billing-address,
	body.meem-theme .woocommerce-Address.col-1,
	body.meem-theme .u-column1.woocommerce-Address {
		grid-column: 1;
		grid-row: 1;
	}

	body.meem-theme .woocommerce-column--shipping-address,
	body.meem-theme .woocommerce-Address.col-2,
	body.meem-theme .u-column2.woocommerce-Address {
		grid-column: 2;
		grid-row: 1;
	}
}

body.woocommerce-shop .meem-page h1::after,
body.woocommerce-account .meem-page__head h1::after {
	margin-block-end: 0;
}
