/*!
 * Mine Mirth — WooCommerce
 * Shop · product cards · single product · cart · mini cart · checkout
 * (classic + blocks) · order confirmation · account · auth
 * WooCommerce's own stylesheets are disabled; everything is styled here.
 */

/* ==========================================================================
   1. Shared WooCommerce elements
   ========================================================================== */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce-page .button,
.wc-block-components-button:not(.is-link),
.wp-element-button.wc-block-components-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 46px;
	padding: 0 1.35em;
	border: 1px solid transparent;
	border-radius: var(--mm-btn-radius);
	background: var(--mm-grad);
	color: var(--mm-on-primary);
	font-family: var(--mm-font-body);
	font-size: .93rem;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / .3), 0 8px 24px -12px color-mix(in srgb, var(--mm-primary) 85%, transparent);
	transition: transform .3s var(--mm-ease-out), box-shadow .3s, opacity .2s, background-color .2s;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:not(.is-link):hover {
	color: var(--mm-on-primary);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 14px 34px -12px var(--mm-primary);
	transform: translateY(-1px);
}
.woocommerce .button:active { transform: scale(.97); }
.woocommerce .button .mm-icon { width: 1.1em; height: 1.1em; }
.woocommerce .button.alt { background: var(--mm-grad); }
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce .button[disabled] { opacity: .55; cursor: not-allowed; transform: none; }
.woocommerce .button.loading { color: transparent !important; pointer-events: none; }
.woocommerce .button.loading::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--mm-on-primary);
	border-right-color: transparent;
	animation: mm-spin .7s linear infinite;
}
.woocommerce .button.added::after {
	content: "";
	width: 8px;
	height: 14px;
	margin-left: 2px;
	border: solid var(--mm-on-primary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translateY(-2px);
}
.woocommerce a.added_to_cart {
	display: inline-flex;
	align-items: center;
	margin-top: 8px;
	font-size: .84rem;
	font-weight: 600;
	color: var(--mm-link);
}
/* Secondary-style buttons */
.woocommerce .woocommerce-MyAccount-content .button.view,
.woocommerce .return-to-shop .button,
.woocommerce-cart .actions .button[name="update_cart"],
.woocommerce .woocommerce-mini-cart__buttons .button:not(.checkout),
.woocommerce-form-coupon .button,
.woocommerce .woocommerce-Address .edit,
.woocommerce .order-again .button,
.woocommerce .woocommerce-pagination .button,
.wc-block-components-button.is-secondary {
	background: transparent;
	color: var(--mm-text);
	border-color: var(--mm-border-strong);
	box-shadow: none;
}
.woocommerce-cart .actions .button[name="update_cart"]:hover,
.woocommerce .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.woocommerce .woocommerce-MyAccount-content .button.view:hover { color: var(--mm-text); border-color: var(--mm-primary); background: var(--mm-primary-soft); box-shadow: none; }

/* Prices */
.woocommerce .price, .woocommerce-Price-amount { font-family: var(--mm-font-mono); font-weight: 600; letter-spacing: -.02em; }
.woocommerce .price del, .woocommerce del .woocommerce-Price-amount { color: var(--mm-muted); font-weight: 400; opacity: .8; }
.woocommerce .price ins { text-decoration: none; color: var(--mm-text); }
.woocommerce .price .woocommerce-price-suffix { font-family: var(--mm-font-body); font-size: .75em; color: var(--mm-muted); }

/* Star ratings without WooCommerce's icon font */
.star-rating {
	position: relative;
	display: inline-block;
	width: 5.4em;
	height: 1em;
	overflow: hidden;
	font-family: var(--mm-font-body) !important;
	font-size: .92rem;
	line-height: 1;
	letter-spacing: .1em;
}
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: color-mix(in srgb, var(--mm-text) 16%, transparent); }
.star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--mm-warning); }
p.stars { margin: 0 0 14px; }
p.stars span { display: inline-flex; gap: 4px; }
p.stars a {
	position: relative;
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	overflow: hidden;
	text-indent: -999em;
	color: color-mix(in srgb, var(--mm-text) 25%, transparent);
	text-decoration: none;
}
p.stars a::before { content: "★"; position: absolute; inset: 0; text-indent: 0; font-size: 1.4em; line-height: 1; }
p.stars:hover a::before, p.stars.selected a::before { color: var(--mm-warning); }
p.stars:hover a:hover ~ a::before, p.stars.selected a.active ~ a::before { color: color-mix(in srgb, var(--mm-text) 25%, transparent); }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin: 0 0 24px;
	padding: 14px 18px 14px 50px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	color: var(--mm-text-2);
	font-size: .94rem;
	list-style: none;
	box-shadow: var(--mm-shadow-sm);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 50%;
	background: var(--mm-success);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12.5 2.8 2.8L16 10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12.5 2.8 2.8L16 10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-message { border-color: color-mix(in srgb, var(--mm-success) 40%, var(--mm-border)); }
.woocommerce-info { border-color: var(--mm-primary-line); }
.woocommerce-info::before { background: var(--mm-primary); }
.woocommerce-error { border-color: color-mix(in srgb, var(--mm-danger) 45%, var(--mm-border)); flex-direction: column; align-items: flex-start; }
.woocommerce-error::before { background: var(--mm-danger); top: 24px; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; min-height: 38px; font-size: .84rem; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { font-weight: 600; }
.wc-block-components-notice-banner { border-radius: var(--mm-radius) !important; }

/* Forms */
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label,
.wc-block-components-text-input label { display: block; margin-bottom: 7px; font-size: .84rem; font-weight: 600; color: var(--mm-text-2); }
.woocommerce form .form-row label.checkbox,
.woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; cursor: pointer; }
.woocommerce form .form-row .required { color: var(--mm-danger); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { color: var(--mm-muted); font-weight: 400; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide, .woocommerce form .form-row.notes { clear: both; }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--mm-danger); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: color-mix(in srgb, var(--mm-success) 55%, var(--mm-border)); }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select { width: 100%; }
.woocommerce-input-wrapper { display: block; }
.woocommerce .col2-set::after, .woocommerce form .form-row::after, .woocommerce-billing-fields__field-wrapper::after, .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.woocommerce-password-strength { margin-top: 8px; padding: 8px 12px; border-radius: 10px; font-size: .82rem; font-weight: 600; }
.woocommerce-password-strength.strong { background: color-mix(in srgb, var(--mm-success) 15%, transparent); color: var(--mm-success); }
.woocommerce-password-strength.short, .woocommerce-password-strength.bad { background: color-mix(in srgb, var(--mm-danger) 12%, transparent); color: var(--mm-danger); }
.woocommerce-password-strength.good { background: color-mix(in srgb, var(--mm-warning) 15%, transparent); color: var(--mm-warning); }
.woocommerce-password-hint { display: block; margin-top: 6px; font-size: .78rem; color: var(--mm-muted); }
.show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--mm-muted); cursor: pointer; }
.password-input { position: relative; display: block; }

/* Select2 / SelectWoo */
.select2-container .select2-selection--single {
	height: 48px;
	border-radius: calc(var(--mm-radius) * .62);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 15px; color: var(--mm-text); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 10px; }
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single { border-color: var(--mm-primary); box-shadow: 0 0 0 4px var(--mm-primary-soft); }
.select2-dropdown { border-color: var(--mm-border); border-radius: calc(var(--mm-radius) * .6); background: var(--mm-surface); color: var(--mm-text); overflow: hidden; box-shadow: var(--mm-shadow-lg); }
.select2-search--dropdown .select2-search__field { border-radius: 8px !important; border: 1px solid var(--mm-border) !important; background: var(--mm-bg) !important; color: var(--mm-text) !important; min-height: 40px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--mm-primary); color: var(--mm-on-primary); }
.select2-container--default .select2-results__option[aria-selected="true"], .select2-container--default .select2-results__option[data-selected="true"] { background: var(--mm-hover); }

/* Quantity stepper (buttons added by woo.js) */
.quantity { position: relative; display: inline-flex; align-items: center; }
.mm-qty {
	display: inline-flex;
	align-items: center;
	height: 48px;
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-btn-radius);
	background: var(--mm-surface);
	overflow: hidden;
}
.mm-qty__btn {
	display: grid;
	place-items: center;
	width: 40px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--mm-text);
	transition: background-color .2s;
}
.mm-qty__btn:hover { background: var(--mm-hover); }
.mm-qty__btn .mm-icon { width: 16px; height: 16px; }
.mm-theme .mm-qty input.qty {
	width: 48px;
	min-height: 0;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: center;
	font-family: var(--mm-font-mono);
	font-weight: 600;
	-moz-appearance: textfield;
}
.mm-qty input.qty::-webkit-inner-spin-button, .mm-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* BlockUI overlay used by WooCommerce AJAX */
.blockUI.blockOverlay { background: color-mix(in srgb, var(--mm-bg) 60%, transparent) !important; opacity: 1 !important; border-radius: inherit; }
.blockUI.blockOverlay::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26px;
	height: 26px;
	margin: -13px 0 0 -13px;
	border-radius: 50%;
	border: 2.5px solid var(--mm-primary);
	border-right-color: transparent;
	animation: mm-spin .7s linear infinite;
}

/* Tables */
.woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--mm-surface);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--mm-border); vertical-align: middle; }
.woocommerce table.shop_table tr:last-child > td, .woocommerce table.shop_table tfoot tr:last-child > th { border-bottom: 0; }
.woocommerce table.shop_table thead th { background: var(--mm-surface-2); }
.woocommerce table.shop_table tfoot th { font-weight: 600; color: var(--mm-text-2); }
.woocommerce table.shop_table .order-total .woocommerce-Price-amount { font-size: 1.15rem; color: var(--mm-text); }

/* Order status pills */
.mm-order-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .74rem;
	font-weight: 700;
	white-space: nowrap;
	color: var(--mm-muted);
	background: var(--mm-hover);
}
.mm-order-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mm-order-status--completed { color: var(--mm-success); background: color-mix(in srgb, var(--mm-success) 13%, transparent); }
.mm-order-status--processing { color: var(--mm-link); background: var(--mm-primary-soft); }
.mm-order-status--on-hold, .mm-order-status--pending { color: var(--mm-warning); background: color-mix(in srgb, var(--mm-warning) 14%, transparent); }
.mm-order-status--cancelled, .mm-order-status--failed, .mm-order-status--refunded { color: var(--mm-danger); background: color-mix(in srgb, var(--mm-danger) 12%, transparent); }

/* ==========================================================================
   2. Shop archive
   ========================================================================== */
.mm-shop { padding-bottom: var(--mm-section-y); }
.mm-shop__wrap { padding-top: clamp(20px, 3vw, 40px); }
.mm-page-hero--shop .mm-filter-pills small { font-family: var(--mm-font-mono); font-size: .7rem; opacity: .65; }
.mm-shop-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 36px; align-items: start; }
.mm-shop-layout--right { grid-template-columns: minmax(0, 1fr) 280px; }
.mm-shop-layout--right .mm-shop-sidebar { order: 2; }
.mm-shop-sidebar { position: sticky; top: calc(var(--mm-header-h) + var(--mm-admin-bar) + 20px); display: grid; gap: 16px; }
.mm-shop-sidebar__head { display: none; }
.mm-shop-sidebar .mm-widget { margin: 0; padding: 20px; }
.mm-shop-sidebar .widget_product_categories ul ul { margin: 6px 0 0 12px; }
.mm-shop-sidebar .count { color: var(--mm-muted); font-size: .8rem; font-family: var(--mm-font-mono); }
.mm-shop-sidebar .woocommerce-widget-layered-nav-list__item { display: flex; justify-content: space-between; }
.mm-shop-sidebar .chosen a { color: var(--mm-primary); font-weight: 600; }
.mm-shop-filter-btn { display: none; }
@media (max-width: 1000px) {
	.mm-shop-layout, .mm-shop-layout--right { grid-template-columns: minmax(0, 1fr); }
	.mm-shop-filter-btn { display: inline-flex; }
	.mm-shop-sidebar {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 1001;
		width: min(360px, 90vw);
		padding: 18px;
		overflow-y: auto;
		background: var(--mm-bg);
		box-shadow: var(--mm-shadow-lg);
		transform: translateX(-105%);
		transition: transform .5s var(--mm-ease-out);
		align-content: start;
	}
	.mm-shop-sidebar.is-open { transform: none; }
	.mm-shop-sidebar__head { display: flex; align-items: center; justify-content: space-between; }
	.mm-filters-backdrop { position: fixed; inset: 0; z-index: 1000; background: var(--mm-overlay); }
}

/* Price filter widget */
.price_slider_wrapper .ui-slider { position: relative; height: 4px; margin: 14px 8px 22px; border-radius: 4px; background: var(--mm-border); }
.price_slider_wrapper .ui-slider-range { position: absolute; height: 100%; border-radius: 4px; background: var(--mm-grad-bold); }
.price_slider_wrapper .ui-slider-handle { position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--mm-surface); border: 2px solid var(--mm-primary); cursor: grab; box-shadow: var(--mm-shadow-sm); }
.price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: .86rem; }
.price_slider_amount .button { min-height: 38px; font-size: .82rem; }

/* Toolbar */
.mm-shop-toolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 26px;
	padding: 10px 10px 10px 18px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-glass);
}
.mm-shop-toolbar .woocommerce-result-count { margin: 0 auto 0 0; font-size: .88rem; color: var(--mm-muted); }
.mm-shop-toolbar .woocommerce-ordering { margin: 0; }
.mm-theme .mm-shop-toolbar .woocommerce-ordering select { min-height: 42px; padding-block: 8px; border-radius: 999px; background-color: var(--mm-surface); font-size: .88rem; width: auto; }

/* Product grid */
.woocommerce ul.products {
	--cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-2 { --cols: 2; }
.woocommerce ul.products.columns-4 { --cols: 4; }
.woocommerce ul.products.columns-5 { --cols: 5; }
.woocommerce ul.products.columns-6 { --cols: 6; }
@media (max-width: 1200px) { .woocommerce ul.products.columns-5, .woocommerce ul.products.columns-6 { --cols: 4; } }
@media (max-width: 1024px) { .woocommerce ul.products { --cols: 3 !important; } .mm-shop-layout .woocommerce ul.products, .mm-shop-main ul.products { --cols: 2 !important; } }
@media (max-width: 760px) { .woocommerce ul.products { --cols: 2 !important; gap: 12px; } }
@media (max-width: 480px) { .woocommerce ul.products { --cols: 1 !important; } }

/* Product card */
.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 12px 12px 16px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	text-align: left;
	isolation: isolate;
	transition: transform .5s var(--mm-ease-out), box-shadow .5s var(--mm-ease-out), border-color .3s;
}
.mm-cards-glass .woocommerce ul.products li.product { background: var(--mm-glass); border-color: var(--mm-glass-border); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.mm-cards-elevated .woocommerce ul.products li.product { box-shadow: var(--mm-shadow); border-color: transparent; }
.mm-cards-flat .woocommerce ul.products li.product { background: var(--mm-surface-2); border-color: transparent; }
.woocommerce ul.products li.product:hover { transform: translateY(-6px); border-color: var(--mm-primary-line); box-shadow: var(--mm-shadow-lg); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--mm-text); }
.mm-card-media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	margin-bottom: 14px;
	border-radius: calc(var(--mm-radius) * .75);
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--mm-primary) 14%, transparent), transparent 65%),
		var(--mm-surface-2);
}
.mm-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0 !important; object-fit: contain; padding: 6%; transition: transform .9s var(--mm-ease-out), opacity .5s; }
.woocommerce ul.products li.product:hover .mm-card-media img { transform: scale(1.06); }
.mm-card-media.has-alt .mm-card-media__alt { opacity: 0; }
.woocommerce ul.products li.product:hover .mm-card-media.has-alt img:first-child { opacity: 0; }
.woocommerce ul.products li.product:hover .mm-card-media.has-alt .mm-card-media__alt { opacity: 1; }
.mm-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.mm-quickview-btn {
	position: absolute;
	top: 22px;
	right: 22px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--mm-glass-border);
	border-radius: 999px;
	background: color-mix(in srgb, var(--mm-surface) 80%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--mm-text);
	font-size: .78rem;
	font-weight: 600;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .3s, transform .4s var(--mm-ease-out), background-color .2s;
}
.mm-quickview-btn .mm-icon { width: 16px; height: 16px; }
.woocommerce ul.products li.product:hover .mm-quickview-btn,
.mm-quickview-btn:focus-visible { opacity: 1; transform: none; }
.mm-quickview-btn:hover { background: var(--mm-primary); color: var(--mm-on-primary); border-color: var(--mm-primary); }
@media (hover: none) { .mm-quickview-btn { opacity: 1; transform: none; } .mm-quickview-btn span { display: none; } .mm-quickview-btn { width: 36px; padding: 0; justify-content: center; } }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0 4px 6px;
	padding: 0;
	font-family: var(--mm-font-heading);
	font-size: 1.04rem;
	font-weight: var(--mm-heading-weight);
	letter-spacing: -.015em;
	line-height: 1.3;
	color: var(--mm-text);
}
.woocommerce ul.products li.product .star-rating { margin: 0 4px 8px; font-size: .8rem; }
.mm-spec-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 2px 4px 10px; padding: 0; list-style: none; }
.mm-spec-chips li { padding: 3px 8px; border-radius: 7px; background: var(--mm-hover); font-family: var(--mm-font-mono); font-size: .7rem; font-weight: 500; color: var(--mm-text-2); }
.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin: auto 4px 0;
	padding-top: 6px;
	font-size: 1.12rem;
	color: var(--mm-text);
}
.woocommerce ul.products li.product .price del { font-size: .82rem; order: 2; }
.mm-stock { display: inline-flex; align-items: center; gap: 6px; margin: 6px 4px 12px; font-size: .76rem; font-weight: 600; }
.mm-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 20%, transparent); }
.mm-stock--instock { color: var(--mm-success); }
.mm-stock--outofstock { color: var(--mm-muted); }
.mm-stock--onbackorder { color: var(--mm-warning); }
.woocommerce ul.products li.product .button { width: 100%; margin-top: 0; min-height: 44px; }
.woocommerce ul.products li.product .button:not(.add_to_cart_button) { background: transparent; color: var(--mm-text); border-color: var(--mm-border-strong); box-shadow: none; }
.woocommerce ul.products li.product .button:not(.add_to_cart_button):hover { border-color: var(--mm-primary); background: var(--mm-primary-soft); }
.woocommerce ul.products li.product .added_to_cart { justify-content: center; width: 100%; }
.woocommerce .products .product-category a { display: block; color: var(--mm-text); }
.woocommerce .products .product-category img { border-radius: calc(var(--mm-radius) * .75); margin-bottom: 12px; }
.woocommerce .products .product-category h2 { font-size: 1.05rem; margin: 0; }
.woocommerce .products .product-category mark { background: none; color: var(--mm-muted); font-family: var(--mm-font-mono); font-size: .8rem; }
.woocommerce-no-products-found .woocommerce-info { margin-top: 20px; }

/* ==========================================================================
   3. Single product
   ========================================================================== */
.mm-shop--single .mm-breadcrumbs { margin-bottom: 8px; }
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
	margin-bottom: clamp(48px, 7vw, 96px);
}
.woocommerce div.product > .onsale, .woocommerce span.onsale {
	position: absolute;
	z-index: 5;
	top: 16px;
	left: 16px;
	padding: 5px 11px;
	border-radius: 8px;
	background: var(--mm-danger);
	color: #fff;
	font-size: .76rem;
	font-weight: 700;
	text-transform: uppercase;
}
.woocommerce div.product { position: relative; }
.woocommerce div.product .woocommerce-product-gallery {
	position: sticky;
	top: calc(var(--mm-header-h) + var(--mm-admin-bar) + 20px);
	grid-column: 1;
	width: 100% !important;
	margin: 0;
	opacity: 1 !important;
}
.woocommerce div.product .summary { grid-column: 2; margin: 0; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product > .mm-after-summary { grid-column: 1 / -1; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child {
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--mm-primary) 16%, transparent), transparent 65%),
		var(--mm-surface);
}
.woocommerce-product-gallery__image img { width: 100%; height: auto; object-fit: contain; }
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 9;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--mm-glass);
	border: 1px solid var(--mm-glass-border);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: 0;
	text-indent: -999em;
	overflow: hidden;
}
.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--mm-text);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat;
	text-indent: 0;
}
.woocommerce-product-gallery__trigger img { display: none !important; }
.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.woocommerce div.product .flex-control-thumbs li img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: calc(var(--mm-radius) * .6);
	border: 2px solid transparent;
	opacity: .65;
	cursor: pointer;
	transition: opacity .2s, border-color .2s;
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--mm-primary); }

.woocommerce div.product .product_title { margin: 0 0 12px; font-size: calc(clamp(1.8rem, 1.3rem + 1.8vw, 2.7rem) * var(--mm-heading-scale)); }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: .86rem; }
.woocommerce div.product .woocommerce-review-link { color: var(--mm-muted); }
.woocommerce div.product .summary > .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 0 0 18px; font-size: 1.9rem; color: var(--mm-text); }
.woocommerce div.product .summary > .price del { font-size: 1.1rem; order: 2; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 20px; color: var(--mm-text-2); }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin: 0; }
.mm-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 24px; }
.mm-spec-grid div { padding: 12px 14px; border-radius: calc(var(--mm-radius) * .7); border: 1px solid var(--mm-border); background: var(--mm-surface); }
.mm-spec-grid dt { font-size: .74rem; font-weight: 600; color: var(--mm-muted); text-transform: uppercase; letter-spacing: .06em; }
.mm-spec-grid dd { margin: 2px 0 0; font-family: var(--mm-font-mono); font-weight: 600; font-size: 1rem; }
.woocommerce div.product .stock { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; font-weight: 600; font-size: .9rem; }
.woocommerce div.product .stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.woocommerce div.product .stock.in-stock { color: var(--mm-success); }
.woocommerce div.product .stock.out-of-stock { color: var(--mm-danger); }
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	padding: 18px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
}
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 1rem; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 14px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 6px; border: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { font-size: .84rem; font-weight: 600; color: var(--mm-text-2); }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: .82rem; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-price { margin-bottom: 12px; }
.woocommerce div.product form.cart table.group_table { width: 100%; margin-bottom: 12px; }
.woocommerce div.product .product_meta { display: grid; gap: 4px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--mm-border); font-size: .84rem; color: var(--mm-muted); }
.woocommerce div.product .product_meta a { color: var(--mm-text-2); }

.mm-trust-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.mm-trust-list li { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border-radius: calc(var(--mm-radius) * .7); background: var(--mm-surface-2); border: 1px solid var(--mm-border); }
.mm-trust-list .mm-icon { width: 20px; height: 20px; color: var(--mm-primary); margin-top: 1px; }
.mm-trust-list strong { display: block; font-size: .82rem; line-height: 1.3; }
.mm-trust-list small { display: block; font-size: .74rem; color: var(--mm-muted); line-height: 1.35; }
.mm-trust-list--compact { grid-template-columns: minmax(0, 1fr); }
.mm-trust-list--compact li { background: transparent; border: 0; padding: 8px 0; }
@media (max-width: 560px) { .mm-trust-list { grid-template-columns: minmax(0, 1fr); } }

.mm-cta-boxes { display: grid; gap: 10px; margin-bottom: 14px; }
.mm-cta-box {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: calc(var(--mm-radius) * .8);
	border: 1px solid var(--mm-primary-line);
	background: linear-gradient(110deg, var(--mm-primary-soft), transparent 70%), var(--mm-surface);
	color: var(--mm-text);
	transition: transform .3s var(--mm-ease-out), border-color .2s;
}
.mm-cta-box:hover { color: var(--mm-text); border-color: var(--mm-primary); transform: translateX(4px); }
.mm-cta-box > .mm-icon:first-child { width: 36px; height: 36px; padding: 8px; border-radius: 10px; background: var(--mm-primary); color: var(--mm-on-primary); }
.mm-cta-box > .mm-icon:last-child { margin-left: auto; color: var(--mm-primary); }
.mm-cta-box strong { display: block; font-size: .92rem; }
.mm-cta-box small { display: block; font-size: .8rem; color: var(--mm-muted); }
.mm-delivery { border-radius: calc(var(--mm-radius) * .8); border: 1px solid var(--mm-border); background: var(--mm-surface); }
.mm-delivery summary { display: flex; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer; list-style: none; font-weight: 600; font-size: .92rem; }
.mm-delivery summary::-webkit-details-marker { display: none; }
.mm-delivery summary .mm-icon:first-child { color: var(--mm-primary); }
.mm-delivery summary .mm-icon:last-child { margin-left: auto; transition: transform .3s; }
.mm-delivery[open] summary .mm-icon:last-child { transform: rotate(180deg); }
.mm-delivery > div { padding: 0 16px 14px; color: var(--mm-muted); font-size: .9rem; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(20px, 4vw, 48px); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 24px;
	padding: 5px;
	list-style: none;
	border-radius: 999px;
	border: 1px solid var(--mm-border);
	background: var(--mm-glass);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; border-radius: 999px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 9px 18px; border-radius: 999px; color: var(--mm-muted); font-weight: 600; font-size: .9rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--mm-primary); color: var(--mm-on-primary); }
.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: clamp(22px, 4vw, 40px);
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 1.3rem; }
.woocommerce table.woocommerce-product-attributes { border: 0; }
.woocommerce table.woocommerce-product-attributes th { width: 34%; font-weight: 600; color: var(--mm-muted); background: transparent; }
.woocommerce table.woocommerce-product-attributes td p { margin: 0; font-family: var(--mm-font-mono); }
.woocommerce table.woocommerce-product-attributes tr:nth-child(odd) { background: var(--mm-surface-2); }
#reviews .commentlist { margin: 0 0 24px; padding: 0; list-style: none; }
#reviews .commentlist li { padding: 18px 0; border-bottom: 1px solid var(--mm-border); }
#reviews .comment_container { display: flex; gap: 14px; }
#reviews .comment_container img.avatar { width: 44px; height: 44px; border-radius: 50%; }
#reviews .comment-text { flex: 1; }
#reviews .comment-text .meta { margin: 4px 0 6px; font-size: .84rem; color: var(--mm-muted); }
#reviews .woocommerce-review__verified { color: var(--mm-success); font-style: normal; font-weight: 600; }
#review_form_wrapper { margin-top: 20px; }
#review_form .comment-reply-title { display: block; font-family: var(--mm-font-heading); font-size: 1.15rem; font-weight: 600; margin-bottom: 14px; }

.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2, .cross-sells > h2 {
	margin: clamp(40px, 6vw, 72px) 0 24px;
	font-size: calc(clamp(1.5rem, 1.2rem + 1vw, 2.1rem) * var(--mm-heading-scale));
}

@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	.woocommerce div.product .woocommerce-product-gallery, .woocommerce div.product .summary { grid-column: 1; position: static; }
	.mm-spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Sticky add-to-cart */
.mm-sticky-atc {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 85;
	padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--mm-border);
	background: color-mix(in srgb, var(--mm-bg) 86%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	backdrop-filter: blur(18px) saturate(160%);
	box-shadow: 0 -10px 40px -20px rgb(0 0 0 / .35);
	transform: translateY(110%);
	transition: transform .5s var(--mm-ease-out);
}
.mm-sticky-atc.is-visible { transform: none; }
.mm-sticky-atc__inner { display: flex; align-items: center; gap: 14px; }
.mm-sticky-atc__thumb { width: 48px; height: 48px; border-radius: 10px; overflow: hidden; background: var(--mm-surface-2); flex-shrink: 0; }
.mm-sticky-atc__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mm-sticky-atc__info { display: grid; min-width: 0; margin-right: auto; }
.mm-sticky-atc__info strong { font-size: .94rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mm-sticky-atc__price { font-family: var(--mm-font-mono); font-size: .88rem; color: var(--mm-link); }
.mm-sticky-atc__price del { color: var(--mm-muted); margin-right: 6px; }
.mm-sticky-atc__price ins { text-decoration: none; }
.mm-sticky-visible .mm-to-top { bottom: 92px; }

/* ==========================================================================
   4. Cart page
   ========================================================================== */
.mm-store-page { padding-top: clamp(28px, 4vw, 48px); }
.mm-store-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; margin-bottom: clamp(24px, 3vw, 36px); }
.mm-store-head__title { margin: 0; font-size: calc(clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem) * var(--mm-heading-scale)); }
.mm-store-head .mm-steps { margin: 0; padding: 0; }
.mm-store-head.is-auth { display: none; }

.woocommerce-cart .mm-store-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 32px;
	align-items: start;
}
.woocommerce-cart .mm-store-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .mm-store-content > .woocommerce > .mm-free-ship,
.woocommerce-cart .mm-store-content > .woocommerce > .cart-empty,
.woocommerce-cart .mm-store-content > .woocommerce > .return-to-shop,
.woocommerce-cart .mm-store-content > .woocommerce > .wc-empty-cart-message { grid-column: 1 / -1; }
.woocommerce-cart .mm-store-content > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: span 2; position: sticky; top: calc(var(--mm-header-h) + var(--mm-admin-bar) + 20px); display: grid; gap: 20px; }
@media (max-width: 1000px) {
	.woocommerce-cart .mm-store-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .cart-collaterals { grid-column: 1; position: static; }
}
.woocommerce-cart table.cart { border-radius: var(--mm-radius-lg); }
.woocommerce-cart table.cart thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--mm-muted); }
.woocommerce-cart table.cart img { width: 76px; height: 76px; object-fit: contain; border-radius: 12px; background: var(--mm-surface-2); padding: 4px; }
.woocommerce-cart table.cart .product-name a { font-weight: 600; color: var(--mm-text); }
.woocommerce-cart table.cart .product-name .variation { margin: 6px 0 0; font-size: .82rem; color: var(--mm-muted); }
.woocommerce-cart table.cart .product-price, .woocommerce-cart table.cart .product-subtotal { font-family: var(--mm-font-mono); }
.woocommerce a.remove {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	color: var(--mm-muted) !important;
	font-size: 1.3rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
.woocommerce a.remove:hover { background: color-mix(in srgb, var(--mm-danger) 14%, transparent); color: var(--mm-danger) !important; }
.woocommerce-cart table.cart td.actions { padding: 16px; background: var(--mm-surface-2); }
.woocommerce-cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; float: left; }
.mm-theme .woocommerce-cart table.cart td.actions .coupon .input-text { width: 200px; min-height: 46px; }
.woocommerce-cart table.cart td.actions > .button { float: right; }
@media (max-width: 760px) {
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart table.cart tr.cart_item { display: grid; grid-template-columns: 80px 1fr auto; gap: 4px 12px; padding: 14px; border-bottom: 1px solid var(--mm-border); }
	.woocommerce-cart table.cart tr.cart_item td { display: block; padding: 0; border: 0; }
	.woocommerce-cart table.cart td.product-thumbnail { grid-row: span 3; }
	.woocommerce-cart table.cart td.product-remove { grid-column: 3; grid-row: 1; }
	.woocommerce-cart table.cart td.product-price { display: none; }
	.woocommerce-cart table.cart td::before { display: none; }
	.woocommerce-cart table.cart td.actions .coupon, .woocommerce-cart table.cart td.actions > .button { float: none; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; }
	.woocommerce-cart table.cart td.actions > .button { margin-top: 10px; }
}
.cart_totals, .woocommerce .cross-sells {
	padding: 24px;
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow);
}
.cart_totals > h2 { font-size: 1.2rem; margin-bottom: 14px; }
.cart_totals table.shop_table { border: 0; background: transparent; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td { padding: 12px 0; }
.cart_totals table.shop_table td { text-align: right; }
.cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; text-align: right; }
.cart_totals .woocommerce-shipping-destination, .cart_totals .shipping-calculator-button { font-size: .82rem; color: var(--mm-muted); }
.wc-proceed-to-checkout { padding-top: 16px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 54px !important; font-size: 1rem !important; }
.woocommerce .cross-sells { grid-column: 1; }
.woocommerce .cross-sells > h2 { margin-top: 0; font-size: 1.15rem; }
.woocommerce .cross-sells ul.products { --cols: 3 !important; margin: 0; }
.mm-cart-trust { display: grid; gap: 14px; padding: 18px 4px 0; }
.woocommerce .cart-empty.woocommerce-info {
	flex-direction: column;
	justify-content: center;
	padding: 56px 24px;
	text-align: center;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--mm-text);
}
.woocommerce .cart-empty.woocommerce-info::before { position: static; width: 48px; height: 48px; margin: 0 auto 8px; }
.woocommerce .return-to-shop { text-align: center; }

/* Free shipping progress */
.mm-free-ship { padding: 14px 18px; margin-bottom: 20px; border-radius: var(--mm-radius); border: 1px solid var(--mm-primary-line); background: var(--mm-primary-soft); }
.mm-free-ship[hidden] { display: none; }
.mm-free-ship p { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: .9rem; }
.mm-free-ship p .mm-icon { color: var(--mm-primary); }
.mm-free-ship__bar { display: block; height: 6px; border-radius: 6px; background: color-mix(in srgb, var(--mm-text) 10%, transparent); overflow: hidden; }
.mm-free-ship__bar span { display: block; height: 100%; border-radius: inherit; background: var(--mm-grad-bold); transition: width .8s var(--mm-ease-out); }
.mm-free-ship.is-done { border-color: color-mix(in srgb, var(--mm-success) 45%, transparent); background: color-mix(in srgb, var(--mm-success) 10%, transparent); }
.mm-free-ship.is-done .mm-free-ship__bar span { background: var(--mm-success); }

/* ==========================================================================
   5. Mini cart drawer
   ========================================================================== */
.mm-cart-drawer { z-index: 1002; }
.mm-cart-drawer__panel { gap: 14px; }
.mm-cart-drawer__title { display: inline-flex; align-items: center; gap: 10px; font-family: var(--mm-font-heading); font-size: 1.2rem; }
.mm-cart-count-inline { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; border-radius: 999px; background: var(--mm-primary-soft); color: var(--mm-link); font-family: var(--mm-font-mono); font-size: .8rem; }
.mm-cart-drawer .mm-free-ship { margin: 0; }
.mm-cart-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.woocommerce-mini-cart { flex: 1; margin: 0; padding: 0; list-style: none; overflow-y: auto; }
.woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	padding: 14px 36px 14px 0;
	border-bottom: 1px solid var(--mm-border);
	animation: mm-fade-up .4s var(--mm-ease-out) both;
}
.woocommerce-mini-cart-item > a:not(.remove) { display: contents; color: var(--mm-text); font-weight: 600; font-size: .92rem; line-height: 1.35; }
.woocommerce-mini-cart-item img { grid-row: span 2; width: 72px !important; height: 72px !important; object-fit: contain; border-radius: 12px; background: var(--mm-surface); border: 1px solid var(--mm-border); padding: 4px; }
.woocommerce-mini-cart-item .quantity { grid-column: 2; margin-top: 4px; font-family: var(--mm-font-mono); font-size: .84rem; color: var(--mm-muted); }
.woocommerce-mini-cart-item .remove { position: absolute; top: 12px; right: 0; }
.woocommerce-mini-cart-item .variation { grid-column: 2; margin: 2px 0 0; font-size: .78rem; color: var(--mm-muted); }
.woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	padding: 18px 0 12px;
	border-top: 1px solid var(--mm-border);
	font-weight: 600;
}
.woocommerce-mini-cart__total .woocommerce-Price-amount { font-size: 1.2rem; }
.woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin: 0; }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__empty-message { margin: 32px 0 8px; text-align: center; color: var(--mm-muted); }
.mm-cart-empty-cta { display: grid; justify-items: center; gap: 14px; margin-top: 8px; }
.mm-cart-empty-cta > .mm-icon { width: 54px; height: 54px; padding: 14px; border-radius: 50%; background: var(--mm-primary-soft); color: var(--mm-primary); order: -1; }
.mm-cart-drawer__panel:not(:has(.woocommerce-mini-cart__empty-message)) .mm-cart-empty-cta { display: none; }
.mm-cart-drawer__note { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .8rem; color: var(--mm-muted); }
.mm-cart-drawer__note .mm-icon { width: 15px; height: 15px; color: var(--mm-success); }

/* ==========================================================================
   6. Checkout (classic)
   ========================================================================== */
.woocommerce-checkout .mm-store-content { max-width: none; }
.mm-checkout { counter-reset: mm-step; }
.mm-checkout > .woocommerce-form-coupon-toggle, .mm-checkout > .woocommerce-form-login-toggle { max-width: none; }
.mm-checkout > .woocommerce-form-coupon-toggle .woocommerce-info,
.mm-checkout > .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 14px; }
.mm-checkout form.checkout_coupon,
.mm-checkout form.woocommerce-form-login {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin: 0 0 24px;
	padding: 20px;
	border-radius: var(--mm-radius);
	border: 1px dashed var(--mm-border-strong);
	background: var(--mm-surface);
}
.mm-checkout form.checkout_coupon p { margin: 0; }
.mm-checkout form.checkout_coupon .form-row-first { flex: 1; width: auto; float: none; }
.mm-checkout form.checkout_coupon .form-row-last { width: auto; float: none; }
.mm-checkout form.checkout_coupon > p:first-child { width: 100%; font-size: .9rem; color: var(--mm-muted); }
.mm-checkout form.woocommerce-form-login > * { width: 100%; }

.mm-checkout__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
	gap: clamp(24px, 3vw, 44px);
	align-items: start;
}
.mm-checkout__main { display: grid; gap: 20px; min-width: 0; }
.mm-checkout__details { display: grid; gap: 20px; }
.mm-checkout .col2-set .col-1, .mm-checkout .col2-set .col-2 { float: none; width: 100%; }
.mm-checkout__card {
	position: relative;
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow-sm);
}
.mm-checkout__card--shipping:not(:has(.shipping_address)):not(:has(#order_comments)) { display: none; }
.mm-checkout__card h3,
.mm-checkout__heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	font-size: 1.2rem;
}
.mm-checkout .woocommerce-billing-fields > h3::before,
.mm-checkout .woocommerce-shipping-fields > h3::before,
.mm-checkout .woocommerce-additional-fields > h3::before,
.mm-checkout__heading::before {
	counter-increment: mm-step;
	content: counter(mm-step);
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--mm-grad);
	color: var(--mm-on-primary);
	font-family: var(--mm-font-mono);
	font-size: .82rem;
	font-weight: 700;
	box-shadow: 0 6px 16px -6px var(--mm-primary);
}
.mm-checkout #ship-to-different-address { font-size: 1rem; }
.mm-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; font-weight: 600; }
.mm-checkout .woocommerce-shipping-fields .shipping_address { margin-top: 10px; }
.mm-checkout .woocommerce-additional-fields { margin-top: 16px; }
.mm-checkout .woocommerce-additional-fields > h3 { font-size: 1.05rem; }
.mm-checkout .woocommerce-account-fields { margin-top: 8px; padding: 14px 16px; border-radius: var(--mm-radius-sm); background: var(--mm-surface-2); }

.mm-checkout__summary { position: sticky; top: calc(var(--mm-admin-bar) + 24px); }
.mm-header-sticky:not(.mm-checkout-focus) .mm-checkout__summary { top: calc(var(--mm-header-h) + var(--mm-admin-bar) + 24px); }
.mm-checkout__summary-inner {
	padding: clamp(20px, 3vw, 28px);
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background:
		radial-gradient(120% 60% at 100% 0%, var(--mm-primary-soft), transparent 60%),
		var(--mm-surface);
	box-shadow: var(--mm-shadow-lg);
}
.mm-checkout__summary-title { display: flex; align-items: center; justify-content: space-between; margin: 0 0 16px; font-size: 1.2rem; }
.mm-checkout__count { padding: 4px 10px; border-radius: 999px; background: var(--mm-hover); font-family: var(--mm-font-mono); font-size: .76rem; font-weight: 600; color: var(--mm-muted); }
.woocommerce-checkout-review-order-table { border: 0 !important; background: transparent !important; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0 !important; }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table tfoot td { text-align: right; font-family: var(--mm-font-mono); }
.woocommerce-checkout-review-order-table .cart_item td { vertical-align: middle; }
.mm-review-item { display: flex; align-items: center; gap: 14px; }
.mm-review-media { position: relative; flex-shrink: 0; }
.mm-review-media img, .mm-review-thumb { width: 58px; height: 58px; object-fit: contain; border-radius: 12px; border: 1px solid var(--mm-border); background: var(--mm-surface-2); padding: 3px; }
.mm-review-qty {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--mm-text);
	color: var(--mm-bg);
	font-family: var(--mm-font-mono);
	font-size: .7rem;
	font-weight: 700;
}
.mm-review-name { font-weight: 600; font-size: .92rem; line-height: 1.35; }
.woocommerce-checkout-review-order-table .product-name dl.variation { margin: 4px 0 0 72px; font-size: .78rem; color: var(--mm-muted); }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { padding-top: 16px !important; border-top: 1px solid var(--mm-border); font-size: 1.05rem; color: var(--mm-text); }
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { font-size: 1.4rem; }
#shipping_method { margin: 0; padding: 0; list-style: none; text-align: right; }
#shipping_method li { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 6px; font-family: var(--mm-font-body); font-size: .88rem; }
#shipping_method li label { font-weight: 500; }
.mm-checkout__trust { margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--mm-border); }
.mm-checkout__help { display: flex; gap: 10px; margin: 8px 0 0; font-size: .84rem; color: var(--mm-muted); }
.mm-checkout__help .mm-icon { color: var(--mm-primary); margin-top: 2px; }
.mm-checkout__help a { font-weight: 600; margin-left: 4px; }

/* Payment */
#payment { background: transparent; border-radius: 0; }
#payment ul.payment_methods { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; border: 0; }
#payment ul.payment_methods li {
	position: relative;
	padding: 14px 16px;
	border-radius: var(--mm-radius);
	border: 1.5px solid var(--mm-border);
	background: var(--mm-surface);
	transition: border-color .2s, box-shadow .2s;
}
#payment ul.payment_methods li:has(input:checked) { border-color: var(--mm-primary); box-shadow: 0 0 0 4px var(--mm-primary-soft); }
#payment ul.payment_methods li > input { margin-right: 10px; vertical-align: middle; }
#payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; font-weight: 600; cursor: pointer; }
#payment ul.payment_methods li > label img { max-height: 24px; width: auto; margin: 0; }
#payment .payment_box {
	margin: 12px 0 2px;
	padding: 14px 16px;
	border-radius: calc(var(--mm-radius) * .7);
	background: var(--mm-surface-2);
	font-size: .9rem;
	color: var(--mm-text-2);
}
#payment .payment_box p:last-child { margin: 0; }
#payment .payment_box fieldset { margin: 0; padding: 0; border: 0; }
#payment .woocommerce-notice--info { margin: 0; }
#payment .place-order { margin: 0; padding: 0; }
#payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 14px; font-size: .86rem; color: var(--mm-muted); }
#payment .woocommerce-privacy-policy-text p { margin-bottom: 10px; }
#payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; color: var(--mm-text-2); }
#place_order {
	width: 100%;
	min-height: 58px !important;
	font-size: 1.05rem !important;
	letter-spacing: -.01em;
}
#place_order::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10.5' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10.5' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mm-checkout-assure { display: grid; gap: 12px; margin-top: 14px; }
.mm-checkout-assure p { display: flex; gap: 10px; margin: 0; font-size: .8rem; line-height: 1.5; color: var(--mm-muted); }
.mm-checkout-assure p .mm-icon { width: 16px; height: 16px; color: var(--mm-success); margin-top: 2px; }
.mm-checkout-assure .mm-pay-badges { justify-content: center; }
@media (max-width: 960px) {
	.mm-checkout__form { grid-template-columns: minmax(0, 1fr); }
	.mm-checkout__summary { position: static; order: -1; }
	.mm-checkout--pay-left .mm-checkout__summary { order: 0; }
}
@media (max-width: 560px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
}

/* ==========================================================================
   7. Block cart & checkout (WooCommerce Blocks)
   ========================================================================== */
.wc-block-components-text-input input[type],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-radius: calc(var(--mm-radius) * .62) !important;
	border-color: var(--mm-border) !important;
	background: var(--mm-surface) !important;
	color: var(--mm-text) !important;
}
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus { border-color: var(--mm-primary) !important; box-shadow: 0 0 0 4px var(--mm-primary-soft) !important; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--mm-muted) !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout-fields-block > div {
	padding: clamp(18px, 3vw, 28px) !important;
	margin-bottom: 18px !important;
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
}
.wc-block-components-checkout-step__title { font-family: var(--mm-font-heading) !important; font-weight: 600 !important; }
.wc-block-components-checkout-step__heading::before, .wc-block-components-checkout-step__container::after { display: none !important; }
.wc-block-components-sidebar.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border) !important;
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow-lg);
	padding: 8px 4px;
}
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option {
	border-radius: var(--mm-radius) !important;
	border: 1.5px solid var(--mm-border) !important;
	margin-bottom: 10px !important;
	box-shadow: none !important;
}
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--mm-primary) !important; box-shadow: 0 0 0 4px var(--mm-primary-soft) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--mm-primary) !important; background: var(--mm-primary) !important; }
.wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--mm-primary) !important; border-color: var(--mm-primary) !important; }
.wc-block-components-checkout-place-order-button { min-height: 58px; font-size: 1.05rem !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--mm-font-mono); font-size: 1.35rem !important; }
.wc-block-components-order-summary-item__image img { border-radius: 10px; background: var(--mm-surface-2); }
.wc-block-components-order-summary-item__quantity { background: var(--mm-text) !important; color: var(--mm-bg) !important; border: 0 !important; box-shadow: none !important; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: var(--mm-link) !important; }
.wc-block-cart-items { border-radius: var(--mm-radius-lg); overflow: hidden; }
.wc-block-cart-item__image img { border-radius: 12px; background: var(--mm-surface-2); }
.wc-block-components-quantity-selector { border-radius: 999px !important; border-color: var(--mm-border) !important; }
.wc-block-components-product-badge { border-radius: 6px !important; }
.mm-block-checkout-assure { display: grid; gap: 14px; max-width: 560px; margin: 28px auto 0; text-align: center; }

/* ==========================================================================
   8. Order confirmation
   ========================================================================== */
.mm-thankyou { display: grid; gap: 24px; max-width: 980px; margin: 0 auto; }
.mm-thankyou__hero {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: clamp(32px, 6vw, 64px) clamp(18px, 4vw, 48px);
	text-align: center;
	overflow: hidden;
}
.mm-thankyou__hero::after { content: ""; position: absolute; inset: -40% -20% auto; height: 80%; background: radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--mm-success) 18%, transparent), transparent 60%); z-index: -1; }
.mm-thankyou__hero.is-failed::after { background: radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--mm-danger) 18%, transparent), transparent 60%); }
.mm-thankyou__icon { display: grid; place-items: center; width: 84px; height: 84px; margin-bottom: 10px; }
.mm-thankyou__icon svg { width: 84px; height: 84px; fill: none; stroke: var(--mm-success); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.mm-thankyou__icon svg circle { stroke-dasharray: 160; stroke-dashoffset: 160; animation: mm-draw 1s var(--mm-ease-out) .2s forwards; }
.mm-thankyou__icon svg path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: mm-draw .6s var(--mm-ease-out) .9s forwards; }
.mm-thankyou__icon:not(.is-success) .mm-icon { width: 60px; height: 60px; color: var(--mm-danger); }
.mm-thankyou__title { margin: 0; font-size: calc(clamp(1.7rem, 1.3rem + 1.6vw, 2.5rem) * var(--mm-heading-scale)); }
.mm-thankyou .woocommerce-notice--success, .mm-thankyou .woocommerce-thankyou-order-received { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--mm-muted); font-size: 1.02rem; justify-content: center; }
.mm-thankyou .woocommerce-notice--success::before, .mm-thankyou .woocommerce-thankyou-order-received::before { display: none; }
.mm-thankyou__text { margin: 0; color: var(--mm-muted); }
.mm-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}
.mm-order-overview li {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface-2);
	font-size: .76rem;
	font-weight: 600;
	color: var(--mm-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
	text-align: left;
}
.mm-order-overview li strong { font-family: var(--mm-font-mono); font-size: .98rem; color: var(--mm-text); text-transform: none; letter-spacing: 0; word-break: break-word; }
.mm-thankyou__next { padding: clamp(22px, 4vw, 36px); border-radius: var(--mm-radius-lg); border: 1px solid var(--mm-border); background: var(--mm-surface); }
.mm-thankyou__next h3 { margin-bottom: 18px; }
.mm-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 24px; padding: 0; list-style: none; }
.mm-timeline li { position: relative; padding-top: 44px; }
.mm-timeline li::before { content: ""; position: absolute; top: 15px; left: 34px; right: -18px; height: 2px; background: var(--mm-border); }
.mm-timeline li:last-child::before { display: none; }
.mm-timeline li.is-current::before { background: linear-gradient(90deg, var(--mm-primary), var(--mm-border)); }
.mm-timeline__dot {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--mm-border);
	background: var(--mm-surface);
	font-family: var(--mm-font-mono);
	font-size: .8rem;
	font-weight: 700;
	color: var(--mm-muted);
}
.mm-timeline li.is-current .mm-timeline__dot { border-color: var(--mm-primary); background: var(--mm-primary); color: var(--mm-on-primary); box-shadow: 0 0 0 6px var(--mm-primary-soft); }
.mm-timeline strong { display: block; margin-bottom: 4px; }
.mm-timeline p { margin: 0; font-size: .9rem; color: var(--mm-muted); }
@media (max-width: 720px) {
	.mm-timeline { grid-template-columns: minmax(0, 1fr); }
	.mm-timeline li { padding: 0 0 0 48px; }
	.mm-timeline li::before { top: 34px; left: 15px; right: auto; bottom: -18px; width: 2px; height: auto; }
}
.mm-thankyou__details .woocommerce-order-details, .mm-thankyou__details .woocommerce-customer-details { margin-bottom: 24px; }
.mm-thankyou__details h2 { font-size: 1.25rem; }
.woocommerce-customer-details address {
	padding: 18px 20px;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	font-style: normal;
	line-height: 1.7;
}
.woocommerce-customer-details .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.woocommerce-customer-details .woocommerce-column { width: auto !important; float: none !important; }
@media (max-width: 640px) { .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: minmax(0, 1fr); } }
.mm-confetti { position: fixed; inset: 0; z-index: 2000; pointer-events: none; }
@keyframes mm-draw { to { stroke-dashoffset: 0; } }

/* ==========================================================================
   9. My account
   ========================================================================== */
.woocommerce-account.logged-in .mm-store-content > .woocommerce {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: clamp(20px, 3vw, 40px);
	align-items: start;
}
.woocommerce-account .mm-store-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.mm-account-nav {
	position: sticky;
	top: calc(var(--mm-header-h) + var(--mm-admin-bar) + 20px);
	padding: 14px;
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow-sm);
}
.mm-account-nav__profile { display: flex; align-items: center; gap: 12px; padding: 8px 8px 16px; margin-bottom: 8px; border-bottom: 1px solid var(--mm-border); }
.mm-account-nav__avatar { width: 46px; height: 46px; border-radius: 50%; box-shadow: 0 0 0 3px var(--mm-primary-soft); }
.mm-account-nav__profile strong { display: block; font-size: .95rem; }
.mm-account-nav__profile small { display: block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; color: var(--mm-muted); }
.mm-account-nav ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mm-account-nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	border-radius: calc(var(--mm-radius) * .65);
	color: var(--mm-text-2);
	font-weight: 500;
	font-size: .93rem;
	transition: background-color .2s, color .2s;
}
.mm-account-nav a .mm-icon { width: 19px; height: 19px; color: var(--mm-muted); transition: color .2s; }
.mm-account-nav a:hover { background: var(--mm-hover); color: var(--mm-text); }
.mm-account-nav .is-active a, .mm-account-nav a[aria-current="page"] { background: var(--mm-primary-soft); color: var(--mm-text); font-weight: 600; }
.mm-account-nav .is-active a .mm-icon, .mm-account-nav a[aria-current="page"] .mm-icon { color: var(--mm-primary); }
.mm-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--mm-border); }
.mm-account-nav .woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: color-mix(in srgb, var(--mm-danger) 10%, transparent); color: var(--mm-danger); }
@media (max-width: 900px) {
	.woocommerce-account.logged-in .mm-store-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.mm-account-nav { position: static; min-width: 0; }
	.mm-account-nav ul { display: flex; overflow-x: auto; gap: 6px; scrollbar-width: none; }
	.mm-account-nav ul::-webkit-scrollbar { display: none; }
	.mm-account-nav a { white-space: nowrap; }
	.mm-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > h2, .woocommerce-MyAccount-content > h3, .woocommerce-MyAccount-content .woocommerce-order-details__title { font-size: 1.3rem; }
.woocommerce-MyAccount-content > p:first-child mark { background: none; font-weight: 600; color: var(--mm-text); }

/* Dashboard */
.mm-dash { display: grid; gap: 20px; }
.mm-dash__hello {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: clamp(22px, 3vw, 32px);
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background:
		radial-gradient(70% 140% at 100% 0%, color-mix(in srgb, var(--mm-primary) 22%, transparent), transparent 60%),
		var(--mm-surface);
}
.mm-dash__hello .mm-eyebrow { margin-bottom: 10px; }
.mm-dash__hello h2 { margin: 0 0 6px; font-size: calc(clamp(1.5rem, 1.2rem + 1vw, 2rem) * var(--mm-heading-scale)); }
.mm-dash__hello p { margin: 0; color: var(--mm-muted); font-size: .9rem; }
.mm-dash__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mm-dash__stat { display: grid; gap: 4px; padding: 18px; }
.mm-dash__stat .mm-icon-badge { width: 40px; height: 40px; margin-bottom: 8px; }
.mm-dash__stat small { color: var(--mm-muted); font-size: .8rem; font-weight: 600; }
.mm-dash__stat strong { font-family: var(--mm-font-mono); font-size: 1.25rem; letter-spacing: -.02em; }
@media (max-width: 1100px) { .mm-dash__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mm-dash__panel { padding: 22px; }
.mm-dash__panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mm-dash__panel-head h3 { margin: 0; font-size: 1.1rem; }
.mm-dash__orders { margin: 0; padding: 0; list-style: none; }
.mm-dash__orders a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 8px;
	border-radius: calc(var(--mm-radius) * .6);
	color: var(--mm-text);
	transition: background-color .2s;
}
.mm-dash__orders li + li a { border-top: 1px solid var(--mm-border); border-radius: 0; }
.mm-dash__orders a:hover { background: var(--mm-hover); color: var(--mm-text); }
.mm-dash__thumb { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; background: var(--mm-surface-2); color: var(--mm-primary); flex-shrink: 0; }
.mm-dash__thumb img { width: 100%; height: 100%; object-fit: contain; }
.mm-dash__order-main { display: grid; margin-right: auto; min-width: 0; }
.mm-dash__order-main small { color: var(--mm-muted); font-size: .8rem; }
.mm-dash__total { font-family: var(--mm-font-mono); font-weight: 600; font-size: .92rem; white-space: nowrap; }
.mm-dash__orders a > .mm-icon:last-child { color: var(--mm-muted); width: 18px; height: 18px; }
@media (max-width: 600px) {
	.mm-dash__orders a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 12px; row-gap: 6px; }
	.mm-dash__thumb { grid-row: span 2; width: 46px; height: 46px; }
	.mm-dash__order-main { margin: 0; }
	.mm-dash__orders .mm-order-status { grid-column: 2; grid-row: 2; justify-self: start; }
	.mm-dash__total { grid-column: 3; grid-row: 1; }
	.mm-dash__orders a > .mm-icon:last-child { display: none; }
}
.mm-dash__empty { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 18px; border-radius: var(--mm-radius); background: var(--mm-surface-2); }
.mm-dash__empty p { margin: 0; color: var(--mm-muted); }
.mm-dash__actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mm-dash__action { display: grid; gap: 4px; padding: 18px; color: var(--mm-text); }
.mm-dash__action:hover { color: var(--mm-text); transform: translateY(-4px); border-color: var(--mm-primary-line); }
.mm-dash__action .mm-icon-badge { width: 40px; height: 40px; margin-bottom: 10px; }
.mm-dash__action small { color: var(--mm-muted); font-size: .82rem; }
@media (max-width: 1100px) { .mm-dash__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mm-dash__support {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	padding: 24px;
	border-radius: var(--mm-radius-lg);
	background:
		radial-gradient(60% 140% at 100% 0%, color-mix(in srgb, var(--mm-primary) 32%, transparent), transparent 60%),
		linear-gradient(160deg, #0a1b2f, #040b15);
	border: 1px solid rgb(140 190 255 / .14);
	color: var(--mm-text);
}
.mm-dash__support > div { flex: 1; min-width: 220px; }
.mm-dash__support h3 { margin: 0 0 4px; font-size: 1.1rem; }
.mm-dash__support p { margin: 0; color: var(--mm-muted); font-size: .9rem; }

/* Orders, addresses, account forms */
.woocommerce-orders-table .button { min-height: 36px; padding: 0 14px; font-size: .8rem; margin: 2px; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { font-weight: 700; font-family: var(--mm-font-mono); }
@media (max-width: 760px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 14px; border-bottom: 1px solid var(--mm-border); }
	.woocommerce-orders-table td { display: block; padding: 0 !important; border: 0 !important; }
	.woocommerce-orders-table td::before { content: attr(data-title); display: block; font-size: .72rem; color: var(--mm-muted); text-transform: uppercase; letter-spacing: .06em; }
	.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; }
	.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before { display: none; }
}
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.woocommerce-Addresses .woocommerce-Address { width: auto !important; float: none !important; padding: 22px; border-radius: var(--mm-radius-lg); border: 1px solid var(--mm-border); background: var(--mm-surface); }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { margin: 0; font-size: 1.1rem; }
.woocommerce-Address-title .edit { font-size: .84rem; font-weight: 600; }
.woocommerce-Address address { font-style: normal; color: var(--mm-text-2); line-height: 1.7; }
@media (max-width: 700px) { .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); } }
.woocommerce-EditAccountForm, .woocommerce-address-fields, .woocommerce-MyAccount-content form.woocommerce-form {
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
}
.woocommerce-EditAccountForm fieldset { margin: 20px 0; padding: 18px; border: 1px dashed var(--mm-border-strong); border-radius: var(--mm-radius); }
.woocommerce-EditAccountForm legend { padding: 0 8px; font-weight: 600; }
.woocommerce-MyAccount-content .woocommerce-pagination { display: flex; justify-content: space-between; margin-top: 16px; }
.woocommerce-MyAccount-content mark { background: var(--mm-primary-soft); color: var(--mm-text); border-radius: 4px; padding: 0 4px; }
.woocommerce-table--order-details tfoot th { text-align: left; }
.woocommerce-table--order-details td.woocommerce-table__product-total, .woocommerce-table--order-details tfoot td { text-align: right; font-family: var(--mm-font-mono); }
.woocommerce-order-downloads { margin-bottom: 24px; }
.woocommerce-MyAccount-paymentMethods .button { min-height: 34px; font-size: .78rem; }

/* ==========================================================================
   10. Sign in / register
   ========================================================================== */
.woocommerce-account:not(.logged-in) .mm-store-content > .woocommerce { max-width: 1080px; margin: 0 auto; }
.mm-auth {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	min-height: 600px;
	border-radius: calc(var(--mm-radius) * 1.6);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow-lg);
	overflow: hidden;
}
.mm-auth__panel {
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: clamp(28px, 4vw, 48px);
	background:
		radial-gradient(80% 60% at 20% 0%, color-mix(in srgb, var(--mm-primary) 42%, transparent), transparent 60%),
		radial-gradient(60% 50% at 100% 100%, color-mix(in srgb, var(--mm-accent) 38%, transparent), transparent 60%),
		linear-gradient(160deg, #0a1b2f, #030912);
	color: var(--mm-text);
	isolation: isolate;
	overflow: hidden;
}
.mm-auth__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.mm-auth__fx { position: absolute; inset: 0; z-index: -1; }
.mm-auth__fx::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, rgb(140 190 255 / .07) 1px, transparent 1px), linear-gradient(to bottom, rgb(140 190 255 / .07) 1px, transparent 1px);
	background-size: 36px 36px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%);
	mask-image: linear-gradient(to bottom, #000, transparent 85%);
}
.mm-auth__fx span {
	position: absolute;
	top: 14%;
	right: -18%;
	width: 80%;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgb(94 200 255 / .18);
	animation: mm-spin 60s linear infinite;
}
.mm-auth__fx span::after { content: ""; position: absolute; top: 14%; left: 14%; width: 8px; height: 8px; border-radius: 50%; background: var(--mm-accent-2); box-shadow: 0 0 16px 4px var(--mm-accent-2); }
.mm-auth__fx span:nth-child(2) { top: 26%; right: -6%; width: 54%; animation-duration: 40s; animation-direction: reverse; }
.mm-auth__panel-inner { position: relative; }
.mm-auth__panel .mm-logo { margin-bottom: clamp(40px, 8vw, 120px); }
.mm-auth__panel h2 { margin-bottom: 10px; font-size: calc(clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem) * var(--mm-heading-scale)); }
.mm-auth__panel p { color: var(--mm-muted); margin-bottom: 0; }
.mm-auth__panel .mm-checklist { margin: 24px 0 0; }
.mm-auth__forms { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; }
.mm-auth__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-bottom: 28px;
	padding: 5px;
	border-radius: 999px;
	border: 1px solid var(--mm-border);
	background: var(--mm-surface-2);
}
.mm-auth__tabs button { padding: 10px; border: 0; border-radius: 999px; background: transparent; color: var(--mm-muted); font-weight: 600; transition: all .3s var(--mm-ease); }
.mm-auth__tabs button[aria-selected="true"] { background: var(--mm-surface); color: var(--mm-text); box-shadow: var(--mm-shadow-sm); }
.mm-auth #customer_login { display: block; }
.mm-auth #customer_login .col-1, .mm-auth #customer_login .col-2 { float: none; width: 100%; }
.mm-js .mm-auth__pane[data-mm-hidden] { display: none; }
.mm-auth__pane { animation: mm-fade-up .45s var(--mm-ease-out); }
.mm-auth__pane h2 { margin-bottom: 6px; font-size: 1.6rem; }
.mm-auth__lead { margin-bottom: 24px; color: var(--mm-muted); font-size: .95rem; }
.mm-auth form.woocommerce-form { margin: 0; padding: 0; border: 0; background: none; }
.mm-auth__row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.mm-auth__row::before, .mm-auth__row::after { content: none !important; display: none !important; }
.woocommerce form .mm-auth__row label { margin: 0; }
.mm-auth__lost { font-size: .86rem; font-weight: 600; }
.mm-auth .woocommerce-form-login__submit, .mm-auth .woocommerce-form-register__submit { width: 100%; min-height: 52px; font-size: 1rem; }
.mm-auth__switch { margin: 22px 0 0; text-align: center; font-size: .9rem; color: var(--mm-muted); }
.mm-auth__switch .button-link { border: 0; background: none; padding: 0; color: var(--mm-link); font-weight: 600; cursor: pointer; }
.mm-auth__note { font-size: .88rem; color: var(--mm-muted); }
@media (max-width: 860px) {
	.mm-auth { grid-template-columns: minmax(0, 1fr); }
	.mm-auth__panel { min-height: 0; }
	.mm-auth__panel .mm-logo { margin-bottom: 24px; }
}
.woocommerce-ResetPassword, .woocommerce-account .lost_reset_password {
	max-width: 520px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 40px) !important;
	border-radius: var(--mm-radius-lg);
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	box-shadow: var(--mm-shadow);
}
.woocommerce-ResetPassword .form-row-first { width: 100% !important; float: none !important; }

/* Breadcrumb from plugins */
.mm-wc-breadcrumb { font-size: .84rem; color: var(--mm-muted); margin-bottom: 16px; }
.mm-wc-breadcrumb a { color: var(--mm-muted); }
.mm-bc-sep { margin: 0 8px; opacity: .45; }

/* Shipping choices sit under their label: always in the narrow checkout summary, on small screens in the cart. */
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { display: block; width: 100%; text-align: left; }
.woocommerce .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th { padding-bottom: 4px; border-bottom: 0; }
.woocommerce .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { border-bottom: 0; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals #shipping_method { text-align: left; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals #shipping_method li { justify-content: flex-start; }
@media (max-width: 560px) {
	.woocommerce-cart .cart_totals .woocommerce-shipping-totals th,
	.woocommerce-cart .cart_totals .woocommerce-shipping-totals td { display: block; width: 100%; text-align: left; }
	.woocommerce .cart_totals .woocommerce-shipping-totals th { padding-bottom: 4px; border-bottom: 0; }
	.woocommerce-cart .cart_totals .woocommerce-shipping-totals #shipping_method { text-align: left; }
	.woocommerce-cart .cart_totals .woocommerce-shipping-totals #shipping_method li { justify-content: flex-start; }
}
