/*
Theme Name: MechanicMate
WooCommerce styles - Professional digital product store
*/

/* ==========================================================================
   Shop / Product Archive Grid
   ========================================================================== */

ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
	gap: var(--mm-sp-6);
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.products.columns-1 { grid-template-columns: 1fr !important; }
ul.products.columns-2 { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; }
ul.products.columns-3 { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; }
ul.products.columns-4 { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; }
ul.products.columns-5 { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; }
ul.products.columns-6 { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; }

/* Override WooCommerce legacy float widths - we use CSS grid */
ul.products li.product {
	width: auto !important;
	float: none !important;
	margin-right: 0 !important;
}

/* ── Product Card ── */
ul.products li.product {
	position: relative;
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	box-shadow: var(--mm-shadow-sm);
	transition: box-shadow var(--mm-duration-md) var(--mm-ease),
	            transform var(--mm-duration-md) var(--mm-ease);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	isolation: isolate;
}

ul.products li.product:hover {
	box-shadow: var(--mm-shadow-lg);
	transform: translateY(-3px);
}

ul.products li.product::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 45, 110, 0.04) 0%, rgba(255, 255, 255, 0) 42%);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--mm-duration-md) var(--mm-ease);
}

ul.products li.product:hover::before {
	opacity: 1;
}

ul.products li.product .woocommerce-LoopProduct-link,
ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 100%;
	color: inherit;
	position: relative;
}

ul.products li.product .woocommerce-LoopProduct-link:hover,
ul.products li.product .woocommerce-LoopProduct-link:focus {
	color: inherit;
}

/* Product image wrapper */
ul.products li.product a img,
ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--mm-duration-md) var(--mm-ease);
}

ul.products li.product:hover img {
	transform: scale(1.04);
}

/* image overflow clip */
ul.products li.product > a:first-child {
	display: block;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
}

/* Product category cards */
ul.products li.product-category {
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

ul.products li.product-category > a:first-child {
	display: flex;
	flex-direction: column;
	height: 100%;
}

ul.products li.product-category::before {
	background: linear-gradient(180deg, rgba(10, 45, 110, 0.08) 0%, rgba(255, 255, 255, 0) 56%);
	opacity: 1;
}

ul.products li.product-category .mm-category-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 212px;
	padding: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-6));
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.16), transparent 30%),
		linear-gradient(180deg, #f9fbff 0%, #edf4ff 100%);
	border-bottom: 1px solid rgba(0, 27, 73, 0.08);
}

ul.products li.product-category .mm-category-card__media::after {
	content: "";
	position: absolute;
	inset: auto auto -48px -32px;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 27, 73, 0.08), transparent 72%);
	pointer-events: none;
}

ul.products li.product-category .mm-category-card__badge {
	position: absolute;
	top: var(--mm-sp-4);
	left: var(--mm-sp-4);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 0.85rem;
	border-radius: var(--mm-radius-full);
	background: rgba(255, 255, 255, 0.94);
	color: var(--mm-orange-hover);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: var(--mm-shadow-sm);
}

ul.products li.product-category .mm-category-card__logo {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 220px);
	min-height: 116px;
	padding: var(--mm-sp-5);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 18px 36px rgba(10, 45, 110, 0.08);
	transition: transform var(--mm-duration-md) var(--mm-ease),
	            box-shadow var(--mm-duration-md) var(--mm-ease);
}

ul.products li.product-category .mm-category-card__logo--fallback {
	background: linear-gradient(135deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
	color: var(--mm-white);
}

ul.products li.product-category .mm-category-card__logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 68px;
	aspect-ratio: auto;
	object-fit: contain;
	transition: none;
}

ul.products li.product-category .mm-category-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.12);
}

ul.products li.product-category .mm-category-card__icon svg {
	display: block;
	width: 34px;
	height: 34px;
}

ul.products li.product-category:hover .mm-category-card__logo {
	transform: translateY(-2px);
	box-shadow: 0 22px 42px rgba(10, 45, 110, 0.12);
}

ul.products li.product-category:hover .mm-category-card__logo img {
	transform: none;
}

ul.products li.product-category .mm-category-card__body {
	display: grid;
	grid-template-rows: auto auto auto 1fr auto;
	gap: var(--mm-sp-3);
	padding: var(--mm-sp-5);
	flex: 1 1 auto;
	height: 100%;
}

ul.products li.product-category .mm-category-card__eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 0 0.75rem;
	border-radius: var(--mm-radius-full);
	background: rgba(0, 27, 73, 0.06);
	color: var(--mm-navy);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

ul.products li.product-category .woocommerce-loop-category__title {
	padding: 0;
	margin: 0;
	min-height: 0;
	display: block;
	color: var(--mm-navy);
	font-size: var(--mm-text-lg);
	font-weight: 700;
	line-height: 1.35;
	-webkit-line-clamp: unset;
}

ul.products li.product-category .mm-category-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mm-sp-2);
}

ul.products li.product-category .mm-category-card__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 32px;
	padding: 0 0.85rem;
	border-radius: var(--mm-radius-full);
	background: var(--mm-gray-100);
	color: var(--mm-gray-700);
	font-size: var(--mm-text-xs);
	font-weight: 600;
}

ul.products li.product-category .mm-category-card__pill::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: var(--mm-radius-full);
	background: var(--mm-success);
	flex-shrink: 0;
}

ul.products li.product-category .mm-category-card__pill--count::before {
	background: var(--mm-orange);
}

ul.products li.product-category .mm-category-card__note {
	margin: 0;
	font-size: var(--mm-text-sm);
	line-height: 1.65;
	color: var(--mm-gray-600);
}

ul.products li.product-category .mm-category-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mm-sp-2);
	width: 100%;
	min-height: 48px;
	padding: 0 var(--mm-sp-4);
	margin-top: auto;
	border-radius: var(--mm-radius);
	background: linear-gradient(135deg, var(--mm-orange) 0%, #ff8a1f 100%);
	color: var(--mm-white);
	font-size: var(--mm-text-sm);
	font-weight: 700;
	box-shadow: 0 12px 20px rgba(255, 111, 0, 0.18);
}

ul.products li.product-category .mm-category-card__cta::after {
	content: "\2192";
	font-size: 1rem;
	line-height: 1;
}

ul.products li.product-category:hover .mm-category-card__cta {
	background: linear-gradient(135deg, var(--mm-orange-hover) 0%, #f17600 100%);
}

/* Product info area */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-800);
	line-height: 1.4;
	padding: var(--mm-sp-4) var(--mm-sp-4) 0;
	margin: 0;
	flex: 1;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	min-height: calc(1.4em * 3);
}

ul.products li.product .price {
	padding: var(--mm-sp-2) var(--mm-sp-4);
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-navy);
	display: flex;
	flex-wrap: wrap;
	gap: var(--mm-sp-2);
	align-items: baseline;
}

ul.products li.product .price del {
	color: var(--mm-gray-400);
	font-weight: 400;
	font-size: var(--mm-text-sm);
}

ul.products li.product .price ins {
	text-decoration: none;
	color: var(--mm-error);
	font-weight: 700;
}

/* Star rating in product cards */
ul.products li.product .star-rating {
	margin: var(--mm-sp-2) var(--mm-sp-4) 0;
}

.mm-loop-badges {
	position: absolute;
	top: var(--mm-sp-3);
	right: var(--mm-sp-3);
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--mm-sp-2);
	max-width: calc(100% - var(--mm-sp-6));
	pointer-events: none;
}

.mm-loop-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 var(--mm-sp-3);
	border-radius: var(--mm-radius-full);
	background: rgba(0, 27, 73, 0.92);
	color: var(--mm-white);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: var(--mm-shadow-sm);
}

.mm-loop-badge--download {
	background: rgba(5, 150, 105, 0.95);
}

.mm-loop-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mm-sp-2);
	padding: 0 var(--mm-sp-4) var(--mm-sp-2);
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-600);
}

.mm-loop-meta span {
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-2);
	padding: 0.35rem 0.7rem;
	border-radius: var(--mm-radius-full);
	background: var(--mm-gray-100);
}

.mm-loop-meta span::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: var(--mm-radius-full);
	background: var(--mm-success);
	flex-shrink: 0;
}

/* Add to cart button in cards */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product .ajax_add_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - var(--mm-sp-8));
	margin: auto var(--mm-sp-4) var(--mm-sp-4);
	padding: var(--mm-sp-3);
	text-align: center;
	font-size: var(--mm-text-sm);
	font-weight: 700;
	background: linear-gradient(135deg, var(--mm-orange) 0%, #ff8a1f 100%);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius);
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: 48px;
	box-shadow: 0 12px 20px rgba(255, 111, 0, 0.18);
}

ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover,
ul.products li.product .ajax_add_to_cart:hover {
	background: linear-gradient(135deg, var(--mm-orange-hover) 0%, #f17600 100%);
	transform: translateY(-1px);
	box-shadow: 0 16px 24px rgba(255, 111, 0, 0.24);
}

ul.products li.product .button::after,
ul.products li.product .add_to_cart_button::after,
ul.products li.product .ajax_add_to_cart::after {
	content: "\2192";
	margin-left: var(--mm-sp-2);
	font-size: 1em;
	line-height: 1;
	transition: transform var(--mm-duration) var(--mm-ease);
}

ul.products li.product .button:hover::after,
ul.products li.product .add_to_cart_button:hover::after,
ul.products li.product .ajax_add_to_cart:hover::after {
	transform: translateX(3px);
}

/* "Added to cart" state */
ul.products li.product .added_to_cart {
	display: block;
	text-align: center;
	font-size: var(--mm-text-xs);
	color: var(--mm-success);
	padding: var(--mm-sp-1) var(--mm-sp-4);
	font-weight: 600;
	text-decoration: none;
}

/* Sale badge */
ul.products li.product .onsale,
.single-product .onsale {
	position: absolute;
	top: var(--mm-sp-3);
	left: var(--mm-sp-3);
	z-index: 2;
	background: var(--mm-error);
	color: var(--mm-white);
	font-size: var(--mm-text-xs);
	font-weight: 700;
	padding: var(--mm-sp-1) var(--mm-sp-3);
	border-radius: var(--mm-radius-full);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

/* ==========================================================================
   Shop / Category Archive Header
   ========================================================================== */

.woocommerce-products-header {
	margin-bottom: var(--mm-sp-8);
}

.woocommerce-products-header__title {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 800;
	color: var(--mm-navy);
	margin-bottom: var(--mm-sp-4);
	line-height: 1.05;
}

.mm-archive-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.95fr);
	gap: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-10));
	padding: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-10));
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.14), transparent 28%),
		linear-gradient(135deg, #ffffff 0%, #fbfcff 56%, #f5f8ff 100%);
	box-shadow: var(--mm-shadow-sm);
	overflow: hidden;
}

.mm-archive-hero::after {
	content: "";
	position: absolute;
	bottom: -96px;
	left: -48px;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(0, 27, 73, 0.08), transparent 72%);
	pointer-events: none;
}

.mm-archive-hero__content,
.mm-archive-hero__panel {
	position: relative;
	z-index: 1;
}

.mm-archive-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-2);
	padding: 0.55rem 0.95rem;
	margin-bottom: var(--mm-sp-4);
	border-radius: var(--mm-radius-full);
	background: rgba(255, 111, 0, 0.1);
	color: var(--mm-orange-hover);
	font-size: var(--mm-text-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mm-archive-hero__summary {
	max-width: 62ch;
	font-size: clamp(var(--mm-text-base), 1.5vw, var(--mm-text-lg));
	line-height: 1.7;
	color: var(--mm-gray-600);
	margin-bottom: var(--mm-sp-6);
}

.mm-archive-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mm-sp-2);
	margin-bottom: var(--mm-sp-6);
}

.mm-archive-chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 var(--mm-sp-4);
	border-radius: var(--mm-radius-full);
	background: var(--mm-white);
	border: 1px solid rgba(0, 27, 73, 0.12);
	box-shadow: var(--mm-shadow-sm);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-navy);
}

.mm-archive-chip:hover {
	border-color: rgba(0, 27, 73, 0.25);
	box-shadow: var(--mm-shadow);
}

.mm-archive-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--mm-sp-3);
	margin-bottom: var(--mm-sp-6);
}

.mm-archive-benefit {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: start;
	gap: var(--mm-sp-3);
	padding: var(--mm-sp-4);
	border-radius: var(--mm-radius-lg);
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(0, 27, 73, 0.08);
}

.mm-archive-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--mm-orange-light);
	color: var(--mm-orange);
	flex-shrink: 0;
}

.mm-archive-benefit__icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.mm-archive-benefit strong {
	display: block;
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-800);
}

.mm-archive-benefit > div span {
	display: block;
	margin-top: var(--mm-sp-1);
	font-size: var(--mm-text-xs);
	line-height: 1.55;
	color: var(--mm-gray-600);
}

.mm-archive-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mm-sp-4);
}

.mm-archive-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 var(--mm-sp-6);
	border-radius: var(--mm-radius-full);
	background: var(--mm-navy);
	color: var(--mm-white);
	font-weight: 700;
	box-shadow: 0 18px 32px rgba(0, 27, 73, 0.15);
}

.mm-archive-hero__cta:hover {
	background: var(--mm-navy-light);
	color: var(--mm-white);
	transform: translateY(-1px);
}

.mm-archive-hero__note {
	margin: 0;
	max-width: 34ch;
	font-size: var(--mm-text-sm);
	line-height: 1.6;
	color: var(--mm-gray-500);
}

.mm-archive-hero__panel {
	display: flex;
	flex-direction: column;
	gap: var(--mm-sp-4);
	padding: clamp(var(--mm-sp-5), 3vw, var(--mm-sp-6));
	border-radius: var(--mm-radius-xl);
	background: linear-gradient(180deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
	color: var(--mm-white);
	box-shadow: var(--mm-shadow-lg);
}

.mm-archive-hero__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 88px;
	padding: var(--mm-sp-4);
	border-radius: var(--mm-radius-lg);
	background: var(--mm-white);
}

.mm-archive-hero__logo img {
	max-width: 160px;
	max-height: 54px;
	width: auto;
}

.mm-archive-stats {
	display: grid;
	gap: var(--mm-sp-3);
}

.mm-archive-stat {
	padding: var(--mm-sp-4);
	border-radius: var(--mm-radius-lg);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.mm-archive-stat strong {
	display: block;
	font-size: clamp(1.375rem, 2vw, 1.8rem);
	line-height: 1.1;
}

.mm-archive-stat span {
	display: block;
	margin-top: var(--mm-sp-1);
	font-size: var(--mm-text-sm);
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
}

.mm-archive-hero__panel-note {
	margin: 0;
	font-size: var(--mm-text-sm);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
}

.mm-archive-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--mm-sp-4);
	padding: var(--mm-sp-4) var(--mm-sp-5);
	margin-bottom: var(--mm-sp-6);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	background: var(--mm-white);
	box-shadow: var(--mm-shadow-sm);
}

.mm-archive-toolbar__intro {
	display: grid;
	gap: 0.15rem;
	max-width: 34rem;
}

.mm-archive-toolbar__intro strong {
	font-size: var(--mm-text-sm);
	font-weight: 700;
	color: var(--mm-navy);
}

.mm-archive-toolbar__intro span {
	font-size: var(--mm-text-xs);
	line-height: 1.6;
	color: var(--mm-gray-600);
}

.woocommerce-result-count,
.woocommerce-ordering {
	margin: 0;
	float: none;
}

.woocommerce-result-count {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	line-height: 1.5;
	color: var(--mm-gray-700);
}

.woocommerce-ordering {
	margin-left: auto;
}

.woocommerce-ordering select {
	width: auto;
	min-width: 220px;
	min-height: 46px;
	padding: var(--mm-sp-3) var(--mm-sp-5) var(--mm-sp-3) var(--mm-sp-4);
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-gray-300);
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	font-size: var(--mm-text-sm);
}

.woocommerce-ordering select:focus {
	border-color: var(--mm-navy);
	outline: none;
}

.woocommerce-result-count + .woocommerce-ordering::after,
.woocommerce-ordering::after {
	display: none;
}

ul.products {
	clear: both;
}

.mm-archive-details {
	margin-top: var(--mm-sp-10);
}

.mm-archive-details__toggle {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	background: linear-gradient(180deg, var(--mm-white) 0%, var(--mm-gray-50) 100%);
	box-shadow: var(--mm-shadow-sm);
	overflow: hidden;
}

.mm-archive-details__toggle summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--mm-sp-4);
	padding: var(--mm-sp-5) var(--mm-sp-6);
	cursor: pointer;
	list-style: none;
	font-size: var(--mm-text-base);
	font-weight: 700;
	color: var(--mm-navy);
}

.mm-archive-details__toggle summary::-webkit-details-marker {
	display: none;
}

.mm-archive-details__toggle summary::after {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--mm-radius-full);
	background: rgba(0, 27, 73, 0.08);
	color: var(--mm-navy);
	font-size: 1.25rem;
	flex-shrink: 0;
}

.mm-archive-details__toggle[open] summary::after {
	content: "\2212";
}

.mm-archive-details__content {
	padding: 0 var(--mm-sp-6) var(--mm-sp-6);
	font-size: var(--mm-text-sm);
	line-height: 1.8;
	color: var(--mm-gray-600);
}

.mm-archive-details__content h2,
.mm-archive-details__content h3 {
	font-size: var(--mm-text-lg);
	color: var(--mm-gray-900);
	margin-top: var(--mm-sp-6);
	margin-bottom: var(--mm-sp-2);
}

.mm-archive-details__content ul {
	margin: var(--mm-sp-3) 0 var(--mm-sp-4);
	padding-left: var(--mm-sp-5);
}

.mm-archive-details__content li {
	margin-bottom: var(--mm-sp-2);
}

.mm-archive-details__content p:last-child {
	margin-bottom: 0;
}

@media (max-width: 980px) {
	.mm-archive-hero {
		grid-template-columns: 1fr;
	}

	.mm-archive-benefits {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.woocommerce-products-header {
		margin-bottom: var(--mm-sp-6);
	}

	.mm-archive-hero {
		padding: var(--mm-sp-5);
	}

	.mm-archive-hero__actions,
	.mm-archive-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.mm-archive-hero__cta {
		width: 100%;
	}

	.woocommerce-ordering {
		margin-left: 0;
	}

	.woocommerce-ordering select {
		width: 100%;
	}

	ul.products li.product-category .mm-category-card__media {
		min-height: 188px;
	}

	ul.products li.product-category .mm-category-card__body {
		padding: var(--mm-sp-4);
	}

	.mm-archive-toolbar__intro {
		max-width: none;
	}

	.mm-archive-details__toggle summary,
	.mm-archive-details__content {
		padding-left: var(--mm-sp-4);
		padding-right: var(--mm-sp-4);
	}
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.woocommerce-breadcrumb {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
	padding: var(--mm-sp-4) 0;
	margin-bottom: var(--mm-sp-4);
}

.woocommerce-breadcrumb a {
	color: var(--mm-gray-500);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
	color: var(--mm-navy);
}

/* ==========================================================================
   Single Product
   ========================================================================== */

.single-product div.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(var(--mm-sp-8), 4vw, var(--mm-sp-16));
	align-items: start;
	margin-bottom: var(--mm-sp-10);
}

/* Product Gallery */
.single-product div.product .woocommerce-product-gallery {
	position: relative;
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--mm-sp-4);
	right: var(--mm-sp-4);
	z-index: 10;
	width: 40px;
	height: 40px;
	background: var(--mm-white);
	border-radius: var(--mm-radius-full);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--mm-shadow);
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	box-shadow: var(--mm-shadow-md);
	transform: scale(1.05);
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	margin-bottom: var(--mm-sp-3);
}

.single-product div.product .woocommerce-product-gallery .flex-viewport img {
	border-radius: var(--mm-radius-lg);
}

/* Gallery thumbnails */
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: var(--mm-sp-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	flex: 1;
	cursor: pointer;
	border-radius: var(--mm-radius);
	overflow: hidden;
	border: 2px solid transparent;
	transition: border-color var(--mm-duration) var(--mm-ease);
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
	transition: opacity var(--mm-duration) var(--mm-ease);
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--mm-navy);
}

/* Product Summary (right column) */
.single-product div.product .summary {
	padding-top: var(--mm-sp-2);
}

.single-product div.product .product_title {
	font-size: clamp(var(--mm-text-2xl), 3vw, var(--mm-text-3xl));
	font-weight: 800;
	color: var(--mm-navy);
	margin-bottom: var(--mm-sp-3);
	line-height: 1.2;
}

.single-product div.product .price {
	font-size: var(--mm-text-2xl);
	font-weight: 700;
	color: var(--mm-navy);
	margin-bottom: var(--mm-sp-4);
}

.single-product div.product .price del {
	color: var(--mm-gray-400);
	font-weight: 400;
	font-size: var(--mm-text-lg);
}

.single-product div.product .price ins {
	text-decoration: none;
	color: var(--mm-error);
}

/* Short description */
.single-product div.product .woocommerce-product-details__short-description {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-600);
	line-height: 1.7;
	margin-bottom: var(--mm-sp-6);
	padding-bottom: var(--mm-sp-6);
	border-bottom: 1px solid var(--mm-gray-200);
}

/* Add to cart form */
.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mm-sp-3);
	margin-bottom: var(--mm-sp-6);
}

.single-product div.product form.cart .qty {
	width: 80px;
	text-align: center;
	padding: var(--mm-sp-3) var(--mm-sp-2);
	border-radius: var(--mm-radius);
	border: 1.5px solid var(--mm-gray-300);
	font-size: var(--mm-text-base);
	font-weight: 600;
}

.single-product div.product form.cart .single_add_to_cart_button {
	flex: 1;
	width: 100%;
	min-width: 0;
	padding: var(--mm-sp-4) var(--mm-sp-8);
	font-size: var(--mm-text-base);
	font-weight: 700;
	background: var(--mm-orange);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius);
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
}

/* When sold individually (no qty input), button fills full width */
.single-product div.product form.cart {
	flex-direction: column;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
	background: var(--mm-orange-hover);
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-md);
}

/* What's Included checklist */
.mm-whats-included {
	background: var(--mm-success-bg);
	border: 1px solid rgba(5, 150, 105, 0.15);
	border-radius: var(--mm-radius-lg);
	padding: var(--mm-sp-5);
	margin-bottom: var(--mm-sp-6);
}

.mm-whats-included-title {
	font-size: var(--mm-text-sm);
	font-weight: 700;
	color: var(--mm-gray-800);
	margin: 0 0 var(--mm-sp-3);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.mm-whats-included ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mm-whats-included li {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-2);
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-700);
	padding: var(--mm-sp-1) 0;
	border: none;
}

.mm-whats-included li svg {
	color: var(--mm-success);
	flex-shrink: 0;
}

/* Trust badges under add to cart */
.mm-product-trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mm-sp-4);
	padding: var(--mm-sp-4) 0;
	border-top: 1px solid var(--mm-gray-200);
	border-bottom: 1px solid var(--mm-gray-200);
	margin-bottom: var(--mm-sp-6);
}

.mm-product-trust-item {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-2);
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-600);
	font-weight: 500;
}

.mm-product-trust-item svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.mm-product-trust-item .trust-icon-green { color: var(--mm-success); }
.mm-product-trust-item .trust-icon-blue  { color: var(--mm-info); }
.mm-product-trust-item .trust-icon-orange { color: var(--mm-orange); }

/* Product meta (categories, tags, SKU) */
.single-product div.product .product_meta {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
}

.single-product div.product .product_meta > span {
	display: block;
	margin-bottom: var(--mm-sp-1);
}

.single-product div.product .product_meta a {
	color: var(--mm-navy);
	font-weight: 500;
}

/* Stock status */
.stock.in-stock     { color: var(--mm-success); font-weight: 600; }
.stock.out-of-stock { color: var(--mm-error); font-weight: 600; }
.stock:empty::before { display: none; }

/* Responsive single product */
@media (max-width: 768px) {
	.single-product div.product {
		grid-template-columns: 1fr;
		gap: var(--mm-sp-6);
	}
}

/* ==========================================================================
   Product Tabs
   ========================================================================== */

.woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: clamp(var(--mm-sp-8), 5vw, var(--mm-sp-12));
	clear: both;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 var(--mm-sp-6);
	padding: var(--mm-sp-1);
	gap: var(--mm-sp-2);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-full);
	background: linear-gradient(180deg, rgba(249, 250, 251, 0.92) 0%, rgba(255, 255, 255, 0.98) 100%);
	box-shadow: var(--mm-shadow-sm);
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.9rem 1.35rem;
	font-size: var(--mm-text-sm);
	font-weight: 700;
	color: var(--mm-gray-500);
	text-decoration: none;
	border-radius: var(--mm-radius-full);
	transition: background var(--mm-duration) var(--mm-ease),
	            color var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease),
	            transform var(--mm-duration) var(--mm-ease);
}

.woocommerce-tabs ul.tabs li a:hover {
	color: var(--mm-navy);
	background: rgba(255, 255, 255, 0.92);
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--mm-white);
	background: linear-gradient(135deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
	box-shadow: var(--mm-shadow);
}

.woocommerce-tabs .panel {
	position: relative;
	padding: clamp(var(--mm-sp-6), 4vw, var(--mm-sp-8));
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.12), transparent 34%),
		linear-gradient(180deg, rgba(250, 252, 255, 0.98) 0%, rgba(255, 255, 255, 1) 100%);
	box-shadow: var(--mm-shadow-md);
	overflow: hidden;
}

.mm-product-description {
	display: grid;
	gap: var(--mm-sp-6);
	color: var(--mm-gray-700);
}

.mm-product-description__snapshot {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
	gap: var(--mm-sp-5);
	padding: var(--mm-sp-6);
	border: 1px solid rgba(0, 27, 73, 0.1);
	border-radius: var(--mm-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.14), transparent 28%),
		linear-gradient(135deg, rgba(0, 27, 73, 0.03) 0%, rgba(255, 255, 255, 1) 55%);
	box-shadow: var(--mm-shadow-sm);
	overflow: hidden;
}

.mm-product-description__snapshot::after {
	content: "";
	position: absolute;
	inset: auto -56px -56px auto;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 27, 73, 0.07), transparent 72%);
	pointer-events: none;
}

.mm-product-description__snapshot-header {
	position: relative;
	z-index: 1;
	max-width: 28rem;
}

.mm-product-description__snapshot-eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: var(--mm-sp-3);
	padding: 0.4rem 0.8rem;
	border-radius: var(--mm-radius-full);
	background: rgba(255, 111, 0, 0.12);
	color: var(--mm-orange-hover);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mm-product-description__snapshot-title {
	font-size: clamp(1.45rem, 2vw, 1.95rem);
	line-height: 1.2;
	color: var(--mm-navy);
	margin-bottom: var(--mm-sp-3);
}

.mm-product-description__snapshot-copy {
	margin: 0;
	color: var(--mm-gray-600);
	line-height: 1.75;
}

.mm-product-description__snapshot-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--mm-sp-3);
	margin: 0;
}

.mm-product-description__snapshot-item {
	padding: var(--mm-sp-4);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-lg);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 10px 20px rgba(0, 27, 73, 0.04);
}

.mm-product-description__snapshot-item dt {
	margin-bottom: var(--mm-sp-2);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mm-gray-500);
}

.mm-product-description__snapshot-item dd {
	margin: 0;
	font-size: var(--mm-text-base);
	font-weight: 700;
	line-height: 1.55;
	color: var(--mm-gray-900);
}

.mm-product-description__content {
	display: grid;
	gap: var(--mm-sp-6);
}

.mm-product-description__content > *:last-child {
	margin-bottom: 0;
}

.mm-product-description__content > h2:first-child,
.mm-product-description__content > h2:first-child + h1 {
	display: none;
}

.mm-product-description__content p,
.mm-product-description__content li {
	font-size: 1.02rem;
	line-height: 1.8;
}

.mm-product-description__content a {
	color: var(--mm-navy);
	font-weight: 600;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.mm-product-description__intro {
	display: grid;
	gap: var(--mm-sp-5);
}

.mm-product-description__hero {
	padding: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-6));
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 1) 100%);
	box-shadow: var(--mm-shadow-sm);
}

.mm-product-description__lead {
	margin-bottom: var(--mm-sp-4);
	font-size: clamp(1.08rem, 0.55vw + 1rem, 1.22rem);
	line-height: 1.75;
	color: var(--mm-gray-800);
}

.mm-product-description__lead--strong {
	color: var(--mm-navy);
	font-weight: 600;
}

.mm-product-description__checklist {
	display: grid;
	gap: var(--mm-sp-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.mm-product-description__checklist li {
	position: relative;
	padding-left: 1.9rem;
	margin: 0;
}

.mm-product-description__checklist li::before {
	content: "";
	position: absolute;
	top: 0.6rem;
	left: 0;
	width: 0.95rem;
	height: 0.95rem;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(5, 150, 105, 0.18) 0%, rgba(5, 150, 105, 0.28) 100%);
	box-shadow: inset 0 0 0 4px rgba(5, 150, 105, 0.18);
}

.mm-product-description__section {
	padding: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-6));
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background: var(--mm-white);
	box-shadow: var(--mm-shadow-sm);
}

.mm-product-description__section--deliverables,
.mm-product-description__section--coverage {
	background: linear-gradient(180deg, rgba(249, 251, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

.mm-product-description__section--faq {
	background: linear-gradient(180deg, rgba(252, 253, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

.mm-product-description__section-title {
	margin-bottom: var(--mm-sp-5);
	padding-bottom: var(--mm-sp-3);
	border-bottom: 1px solid rgba(0, 27, 73, 0.08);
	font-size: clamp(1.55rem, 2vw, 2rem);
	line-height: 1.2;
	color: var(--mm-navy);
}

.mm-product-description__section > *:last-child {
	margin-bottom: 0;
}

.mm-product-description__table {
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	background: var(--mm-white);
}

.mm-product-description__table th,
.mm-product-description__table td {
	padding: 0.95rem 1rem;
	border-bottom: 1px solid var(--mm-gray-200);
	vertical-align: top;
}

.mm-product-description__table tr:last-child th,
.mm-product-description__table tr:last-child td {
	border-bottom: none;
}

.mm-product-description__table th,
.mm-product-description__table td:first-child {
	width: 28%;
	font-weight: 700;
	color: var(--mm-navy);
	background: rgba(0, 27, 73, 0.03);
}

.mm-product-description__spec-table td:last-child,
.mm-product-description__spec-table th:last-child {
	color: var(--mm-gray-800);
}

.mm-product-description__list {
	margin: 0;
	padding-left: 1.4rem;
}

.mm-product-description__list li + li {
	margin-top: var(--mm-sp-2);
}

.mm-product-description__related-list {
	list-style: none;
	padding: 0;
	display: grid;
	gap: var(--mm-sp-3);
}

.mm-product-description__related-list li {
	margin: 0;
}

.mm-product-description__related-list a {
	display: block;
	padding: var(--mm-sp-4) var(--mm-sp-5);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 1) 100%);
	text-decoration: none;
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease),
	            border-color var(--mm-duration) var(--mm-ease);
}

.mm-product-description__related-list a:hover {
	transform: translateY(-1px);
	border-color: rgba(0, 27, 73, 0.16);
	box-shadow: var(--mm-shadow);
}

.mm-product-description__faq-item {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 251, 254, 1) 100%);
	overflow: hidden;
}

.mm-product-description__faq-item + .mm-product-description__faq-item {
	margin-top: var(--mm-sp-3);
}

.mm-product-description__faq-question {
	margin: 0;
	padding: var(--mm-sp-4) var(--mm-sp-5);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.55;
	color: var(--mm-navy);
	background: rgba(0, 27, 73, 0.04);
}

.mm-product-description__faq-answer {
	padding: var(--mm-sp-4) var(--mm-sp-5);
}

.mm-product-description__faq-answer > :last-child {
	margin-bottom: 0;
}

/* Responsive tabs - stack on mobile */
@media (max-width: 600px) {
	.woocommerce-tabs ul.tabs {
		border-radius: var(--mm-radius-xl);
	}

	.woocommerce-tabs ul.tabs li a {
		border-radius: var(--mm-radius-lg);
	}

	.woocommerce-tabs ul.tabs li.active a {
		color: var(--mm-white);
	}

	.woocommerce-tabs .panel {
		padding: var(--mm-sp-5);
	}

	.mm-product-description__section,
	.mm-product-description__hero,
	.mm-product-description__snapshot {
		padding: var(--mm-sp-5);
	}

	.mm-product-description__table th,
	.mm-product-description__table td {
		display: block;
		width: 100%;
	}
}

@media (max-width: 860px) {
	.mm-product-description__snapshot {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Related / Upsell Products
   ========================================================================== */

.related.products,
.upsells.products,
.cross-sells {
	grid-column: 1 / -1;
	margin-top: var(--mm-sp-10);
	padding-top: var(--mm-sp-8);
	border-top: 1px solid var(--mm-gray-200);
}

.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
	font-size: var(--mm-text-2xl);
	margin-bottom: var(--mm-sp-6);
}

/* ==========================================================================
   Star Rating
   ========================================================================== */

.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.2em;
	line-height: 1.2;
	width: 5.4em;
	font-family: sans-serif !important;
	font-weight: 400;
	font-size: var(--mm-text-sm);
}

.star-rating::before {
	content: "★★★★★" !important;
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	color: var(--mm-orange);
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "★★★★★" !important;
	top: 0;
	position: absolute;
	left: 0;
	color: var(--mm-orange);
}

/* Interactive stars (leave a review) */
p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: sans-serif !important;
	content: "★" !important;
	color: var(--mm-gray-300);
	text-indent: 0;
}

p.stars a:hover ~ a::before { content: "★" !important; color: var(--mm-gray-300); }
p.stars:hover a::before { content: "★" !important; color: var(--mm-orange); }
p.stars.selected a.active::before { content: "★" !important; color: var(--mm-orange); }
p.stars.selected a.active ~ a::before { content: "★" !important; color: var(--mm-gray-300); }
p.stars.selected a:not(.active)::before { content: "★" !important; color: var(--mm-orange); }

/* ==========================================================================
   Reviews
   ========================================================================== */

.woocommerce-Reviews {
	max-width: var(--mm-content);
}

#reviews #comments ol.commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

#reviews #comments ol.commentlist li {
	margin-bottom: var(--mm-sp-4);
	padding: var(--mm-sp-6);
	background: var(--mm-gray-50);
	border-radius: var(--mm-radius-lg);
}

#reviews #comments .comment-text .star-rating {
	margin-bottom: var(--mm-sp-2);
}

#reviews #comments .comment-text .meta {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
	margin-bottom: var(--mm-sp-3);
}

#reviews #comments .comment-text .description p {
	margin-bottom: var(--mm-sp-2);
	line-height: 1.6;
}

#review_form #respond .comment-form-rating {
	margin-bottom: var(--mm-sp-4);
}

/* ==========================================================================
   Cart Table
   ========================================================================== */

table.shop_table {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

table.shop_table thead {
	background: var(--mm-gray-50);
}

table.shop_table thead th {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-700);
	padding: var(--mm-sp-4);
	text-align: left;
	border-bottom: 1px solid var(--mm-gray-200);
}

table.shop_table td {
	padding: var(--mm-sp-4);
	vertical-align: middle;
	border-bottom: 1px solid var(--mm-gray-100);
}

table.shop_table tr:last-child td { border-bottom: none; }

table.shop_table td.product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--mm-radius-full);
	background: var(--mm-gray-100);
	color: var(--mm-gray-500);
	text-decoration: none;
	font-size: var(--mm-text-lg);
	transition: all var(--mm-duration) var(--mm-ease);
}

table.shop_table td.product-remove a:hover {
	background: var(--mm-error-bg);
	color: var(--mm-error);
}

table.shop_table td.product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--mm-radius);
}

table.shop_table td.product-name a {
	font-weight: 600;
	color: var(--mm-gray-800);
}

table.shop_table td.product-name a:hover { color: var(--mm-navy); }

/* Quantity input in cart */
table.shop_table .quantity input.qty {
	width: 64px;
	text-align: center;
	padding: var(--mm-sp-2);
	border: 1.5px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
}

/* Cart actions row */
table.shop_table td.actions {
	padding: var(--mm-sp-4);
}

table.shop_table td.actions .coupon {
	display: flex;
	gap: var(--mm-sp-2);
	align-items: center;
}

table.shop_table td.actions .coupon input {
	max-width: 200px;
	padding: var(--mm-sp-2) var(--mm-sp-3);
	font-size: var(--mm-text-sm);
}

table.shop_table td.actions .coupon .button {
	font-size: var(--mm-text-sm);
	padding: var(--mm-sp-2) var(--mm-sp-4);
	background: var(--mm-gray-100);
	color: var(--mm-gray-700);
	border: 1px solid var(--mm-gray-300);
}

table.shop_table td.actions .coupon .button:hover {
	background: var(--mm-gray-200);
	transform: none;
	box-shadow: none;
}

table.shop_table td.actions > .button {
	float: right;
}

/* Responsive cart table */
table.shop_table_responsive thead { display: none; }
table.shop_table_responsive tbody th { display: none; }

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
	padding: var(--mm-sp-3) var(--mm-sp-4);
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
	font-weight: 600;
	color: var(--mm-gray-700);
}

table.shop_table_responsive tr td.product-remove::before,
table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.product-remove a { text-align: left; }

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

@media (min-width: 48em) {
	table.shop_table_responsive thead { display: table-header-group; }
	table.shop_table_responsive tbody th { display: table-cell; }
	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td { text-align: left; }
	table.shop_table_responsive tr td { display: table-cell; }
	table.shop_table_responsive tr td::before { display: none; }
}

/* ==========================================================================
   Cart Totals
   ========================================================================== */

.cart_totals {
	max-width: 480px;
	margin-left: auto;
}

.cart_totals h2 {
	font-size: var(--mm-text-xl);
	margin-bottom: var(--mm-sp-4);
}

.cart_totals table {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
}

.cart_totals table th {
	font-weight: 600;
	color: var(--mm-gray-700);
	background: var(--mm-gray-50);
	padding: var(--mm-sp-4);
	text-align: left;
}

.cart_totals table td {
	padding: var(--mm-sp-4);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-navy);
}

.wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: var(--mm-sp-4);
	margin-top: var(--mm-sp-4);
	font-size: var(--mm-text-base);
	font-weight: 700;
	background: var(--mm-orange);
	color: var(--mm-white);
	border-radius: var(--mm-radius);
	text-align: center;
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
}

.wc-proceed-to-checkout .checkout-button:hover {
	background: var(--mm-orange-hover);
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-md);
}

/* ==========================================================================
   Checkout
   ========================================================================== */

.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--mm-sp-8);
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100%;
}

@media (max-width: 768px) {
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}
}

.woocommerce-checkout h3 {
	font-size: var(--mm-text-xl);
	margin-bottom: var(--mm-sp-6);
	padding-bottom: var(--mm-sp-3);
	border-bottom: 2px solid var(--mm-gray-200);
}

/* Checkout form fields */
.woocommerce-checkout .form-row {
	margin-bottom: var(--mm-sp-4);
}

.woocommerce-checkout .form-row label {
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
	margin-bottom: var(--mm-sp-1);
}

.woocommerce-checkout .form-row .required {
	color: var(--mm-error);
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	width: 100%;
}

/* Form validation */
.form-row.woocommerce-validated input.input-text {
	border-color: var(--mm-success);
	box-shadow: inset 3px 0 0 var(--mm-success);
}

.form-row.woocommerce-invalid input.input-text {
	border-color: var(--mm-error);
	box-shadow: inset 3px 0 0 var(--mm-error);
}

.required { color: var(--mm-error); }

/* Order review table */
#order_review_heading {
	font-size: var(--mm-text-xl);
	margin-top: var(--mm-sp-8);
	margin-bottom: var(--mm-sp-4);
}

.woocommerce-checkout-review-order-table {
	margin-bottom: var(--mm-sp-6);
}

/* Place order button */
#place_order {
	width: 100%;
	padding: var(--mm-sp-5);
	font-size: var(--mm-text-lg);
	font-weight: 700;
	background: var(--mm-orange);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius);
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
}

#place_order:hover {
	background: var(--mm-orange-hover);
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-lg);
}

/* Password strength meter */
.woocommerce-password-strength { text-align: right; font-weight: 600; }
.woocommerce-password-strength.strong { color: var(--mm-success); }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { color: var(--mm-error); }
.woocommerce-password-strength.good { color: var(--mm-info); }

/* ==========================================================================
   Notices & Messages
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	padding: var(--mm-sp-4) var(--mm-sp-6);
	margin-bottom: var(--mm-sp-6);
	border-radius: var(--mm-radius-lg);
	font-size: var(--mm-text-sm);
	font-weight: 500;
	clear: both;
	display: flex;
	align-items: center;
	gap: var(--mm-sp-3);
}

.woocommerce-message {
	background: var(--mm-success-bg);
	color: var(--mm-success);
	border: 1px solid rgba(5, 150, 105, 0.2);
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background: var(--mm-info-bg);
	color: var(--mm-info);
	border: 1px solid rgba(37, 99, 235, 0.2);
}

.woocommerce-error {
	background: var(--mm-error-bg);
	color: var(--mm-error);
	border: 1px solid rgba(220, 38, 38, 0.2);
	list-style: none;
	padding-left: var(--mm-sp-6);
}

.woocommerce-message .button,
.woocommerce-info .button {
	font-size: var(--mm-text-xs);
	padding: var(--mm-sp-1) var(--mm-sp-3);
	margin-left: auto;
	background: transparent;
	border: 1.5px solid currentColor;
	color: inherit;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: currentColor;
	color: var(--mm-white);
	transform: none;
	box-shadow: none;
}

/* ==========================================================================
   Header Cart (mini cart)
   ========================================================================== */

.site-header-cart {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-2);
	text-decoration: none;
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
	padding: var(--mm-sp-2) var(--mm-sp-3);
	border-radius: var(--mm-radius);
	transition: all var(--mm-duration) var(--mm-ease);
}

.site-header-cart .cart-contents:hover {
	color: var(--mm-navy);
	background: var(--mm-gray-50);
}

.site-header-cart .cart-contents .count {
	background: var(--mm-orange);
	color: var(--mm-white);
	font-size: 11px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--mm-radius-full);
	padding: 0 5px;
}

.site-header-cart .widget_shopping_cart { display: none; }

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 48em) {
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		right: 0;
		width: 320px;
		z-index: 9999;
		display: block;
		background: var(--mm-white);
		border: 1px solid var(--mm-gray-200);
		border-radius: var(--mm-radius-lg);
		box-shadow: var(--mm-shadow-xl);
		padding: var(--mm-sp-4);
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: all var(--mm-duration) var(--mm-ease);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

/* ==========================================================================
   WooCommerce Widgets
   ========================================================================== */

/* Price Filter */
.widget_price_filter .price_slider {
	margin-bottom: var(--mm-sp-6);
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
	font-size: var(--mm-text-sm);
}

.widget_price_filter .price_slider_amount .button {
	float: left;
	font-size: var(--mm-text-sm);
	padding: var(--mm-sp-2) var(--mm-sp-4);
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 18px;
	height: 18px;
	cursor: ew-resize;
	outline: none;
	background: var(--mm-navy);
	border-radius: var(--mm-radius-full);
	margin-top: -5px;
	border: 3px solid var(--mm-white);
	box-shadow: var(--mm-shadow);
	transition: box-shadow var(--mm-duration) var(--mm-ease);
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -18px;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 4px rgba(0, 27, 73, 0.15);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: var(--mm-navy);
	border-radius: var(--mm-radius-full);
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--mm-gray-200);
	border-radius: var(--mm-radius-full);
}

.widget_price_filter .ui-slider-horizontal {
	height: 8px;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}

/* Product categories widget */
.widget_product_categories ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.widget_product_categories ul li {
	padding: var(--mm-sp-2) 0;
	border-bottom: 1px solid var(--mm-gray-100);
}

.widget_product_categories ul li a {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-700);
	display: flex;
	justify-content: space-between;
}

.widget_product_categories ul li a:hover { color: var(--mm-navy); }

.widget_product_categories ul li .count {
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-400);
	background: var(--mm-gray-100);
	padding: 0 var(--mm-sp-2);
	border-radius: var(--mm-radius-full);
}

/* ==========================================================================
   Demo Store Banner
   ========================================================================== */

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: var(--mm-sp-3) var(--mm-sp-6);
	background: var(--mm-info);
	color: var(--mm-white);
	z-index: 9999;
	text-align: center;
	font-size: var(--mm-text-sm);
	box-shadow: var(--mm-shadow-lg);
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.woocommerce-pagination {
	margin-top: var(--mm-sp-8);
	text-align: center;
}

.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--mm-sp-1);
}

.woocommerce-pagination ul.page-numbers li {
	border: none;
	padding: 0;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: var(--mm-sp-2);
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
}

.woocommerce-pagination ul.page-numbers li a:hover {
	background: var(--mm-gray-50);
	border-color: var(--mm-navy);
	color: var(--mm-navy);
}

.woocommerce-pagination ul.page-numbers li span.current {
	background: var(--mm-navy);
	border-color: var(--mm-navy);
	color: var(--mm-white);
}

/* ==========================================================================
   My Account – Layout
   ========================================================================== */

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: var(--mm-sp-8);
	align-items: start;
}

/* Logged-out state: single-column for login/register form */
.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
	display: block;
}

/* ==========================================================================
   My Account – Sidebar Navigation
   ========================================================================== */

.woocommerce-MyAccount-navigation,
.mm-account-nav {
	position: sticky;
	top: calc(var(--mm-sp-8) + 80px); /* below sticky header */
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--mm-sp-1);
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	box-shadow: var(--mm-shadow-sm);
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
}

.woocommerce-MyAccount-navigation ul li + li {
	border-top: 1px solid var(--mm-gray-100);
}

.mm-account-nav__link,
.woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-3);
	padding: var(--mm-sp-3) var(--mm-sp-5);
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-600);
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
	border-left: 3px solid transparent;
}

.mm-account-nav__link:hover,
.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--mm-navy);
	background: var(--mm-gray-50);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.is-active .mm-account-nav__link {
	color: var(--mm-navy);
	background: rgba(0, 27, 73, 0.04);
	border-left-color: var(--mm-navy);
	font-weight: 600;
}

.mm-account-nav__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--mm-radius);
	background: var(--mm-gray-100);
	color: var(--mm-gray-500);
	flex-shrink: 0;
	transition: all var(--mm-duration) var(--mm-ease);
}

.woocommerce-MyAccount-navigation ul li.is-active .mm-account-nav__icon {
	background: var(--mm-navy);
	color: var(--mm-white);
}

.mm-account-nav__link:hover .mm-account-nav__icon {
	background: var(--mm-gray-200);
	color: var(--mm-gray-700);
}

/* Logout link: subtle red accent */
.woocommerce-MyAccount-navigation ul li:last-child a {
	color: var(--mm-gray-400);
}

.woocommerce-MyAccount-navigation ul li:last-child a:hover {
	color: var(--mm-error);
	background: var(--mm-error-bg);
}

.woocommerce-MyAccount-navigation ul li:last-child.is-active .mm-account-nav__icon,
.woocommerce-MyAccount-navigation ul li:last-child a:hover .mm-account-nav__icon {
	background: var(--mm-error);
	color: var(--mm-white);
}

/* ==========================================================================
   My Account – Content Area
   ========================================================================== */

.woocommerce-MyAccount-content {
	min-height: 400px;
}

.woocommerce-MyAccount-content > h2:first-child,
.woocommerce-MyAccount-content > h3:first-child {
	font-size: var(--mm-text-xl);
	font-weight: 700;
	color: var(--mm-gray-900);
	margin-bottom: var(--mm-sp-6);
	padding-bottom: var(--mm-sp-4);
	border-bottom: 2px solid var(--mm-gray-100);
}

/* ==========================================================================
   My Account – Dashboard
   ========================================================================== */

.mm-dashboard__welcome {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-5);
	padding: var(--mm-sp-6);
	background: linear-gradient(135deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
	border-radius: var(--mm-radius-xl);
	color: var(--mm-white);
	margin-bottom: var(--mm-sp-6);
}

.mm-dashboard__avatar img {
	width: 64px;
	height: 64px;
	border-radius: var(--mm-radius-full);
	border: 3px solid rgba(255, 255, 255, 0.3);
	object-fit: cover;
}

.mm-dashboard__title {
	font-size: var(--mm-text-xl);
	font-weight: 600;
	margin: 0 0 var(--mm-sp-1);
	color: var(--mm-white);
}

.mm-dashboard__title strong {
	font-weight: 700;
}

.mm-dashboard__subtitle {
	font-size: var(--mm-text-sm);
	opacity: 0.85;
	margin: 0;
}

/* ── Stat cards ── */

.mm-dashboard__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--mm-sp-4);
	margin-bottom: var(--mm-sp-8);
}

.mm-stat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mm-sp-2);
	padding: var(--mm-sp-6) var(--mm-sp-4);
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	text-decoration: none;
	text-align: center;
	transition: all var(--mm-duration) var(--mm-ease);
	box-shadow: var(--mm-shadow-sm);
}

.mm-stat-card:hover {
	border-color: var(--mm-navy);
	box-shadow: var(--mm-shadow-md);
	transform: translateY(-2px);
}

.mm-stat-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--mm-radius-lg);
}

.mm-stat-card__icon--manuals {
	background: var(--mm-info-bg);
	color: var(--mm-info);
}

.mm-stat-card__icon--orders {
	background: var(--mm-success-bg);
	color: var(--mm-success);
}

.mm-stat-card__icon--account {
	background: var(--mm-orange-light);
	color: var(--mm-orange);
}

.mm-stat-card__value {
	font-size: var(--mm-text-2xl);
	font-weight: 800;
	color: var(--mm-gray-900);
	line-height: 1;
}

.mm-stat-card__label {
	font-size: var(--mm-text-xs);
	font-weight: 500;
	color: var(--mm-gray-500);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ── Dashboard sections ── */

.mm-dashboard__section {
	margin-bottom: var(--mm-sp-8);
}

.mm-dashboard__section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--mm-sp-4);
}

.mm-dashboard__section-header h3 {
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-gray-900);
	margin: 0;
}

.mm-dashboard__view-all {
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-orange);
	text-decoration: none;
	transition: color var(--mm-duration) var(--mm-ease);
}

.mm-dashboard__view-all:hover {
	color: var(--mm-orange-hover);
}

/* ── Download cards grid ── */

.mm-download-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--mm-sp-4);
}

.mm-download-card {
	display: flex;
	flex-direction: column;
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	transition: all var(--mm-duration) var(--mm-ease);
	box-shadow: var(--mm-shadow-sm);
}

.mm-download-card:hover {
	border-color: var(--mm-gray-300);
	box-shadow: var(--mm-shadow-md);
}

.mm-download-card__image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--mm-gray-100);
}

.mm-download-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--mm-duration-md) var(--mm-ease);
}

.mm-download-card:hover .mm-download-card__image img {
	transform: scale(1.03);
}

.mm-download-card__body {
	padding: var(--mm-sp-4);
	flex: 1;
}

.mm-download-card__title {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-900);
	margin: 0 0 var(--mm-sp-1);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mm-download-card__meta {
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-500);
}

.mm-download-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mm-sp-2);
	margin: 0 var(--mm-sp-4) var(--mm-sp-4);
	padding: var(--mm-sp-2) var(--mm-sp-4);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-white);
	background: var(--mm-navy);
	border-radius: var(--mm-radius);
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
}

.mm-download-card__btn:hover {
	background: var(--mm-navy-light);
}

/* ── Empty state ── */

.mm-dashboard__empty {
	text-align: center;
	padding: var(--mm-sp-12) var(--mm-sp-6);
	background: var(--mm-gray-50);
	border: 2px dashed var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	margin-bottom: var(--mm-sp-6);
}

.mm-dashboard__empty-icon {
	color: var(--mm-gray-300);
	margin-bottom: var(--mm-sp-4);
}

.mm-dashboard__empty h3 {
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-gray-900);
	margin: 0 0 var(--mm-sp-2);
}

.mm-dashboard__empty p {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
	max-width: 380px;
	margin: 0 auto var(--mm-sp-6);
}

/* ── CTA banner ── */

.mm-dashboard__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--mm-sp-6);
	padding: var(--mm-sp-6);
	background: var(--mm-orange-light);
	border: 1px solid rgba(255, 111, 0, 0.15);
	border-radius: var(--mm-radius-xl);
}

.mm-dashboard__cta-text h3 {
	font-size: var(--mm-text-base);
	font-weight: 700;
	color: var(--mm-gray-900);
	margin: 0 0 var(--mm-sp-1);
}

.mm-dashboard__cta-text p {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-600);
	margin: 0;
}

/* ── Shared button styles ── */

.mm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mm-sp-2);
	padding: var(--mm-sp-3) var(--mm-sp-6);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	border-radius: var(--mm-radius);
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
	white-space: nowrap;
}

.mm-btn--primary {
	background: var(--mm-orange);
	color: var(--mm-white);
}

.mm-btn--primary:hover {
	background: var(--mm-orange-hover);
}

.mm-btn--full {
	width: 100%;
}

/* ==========================================================================
   My Account – Downloads / My Manuals Table
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-table--order-downloads,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	font-size: var(--mm-text-sm);
}

.woocommerce-MyAccount-content table.shop_table thead {
	background: var(--mm-gray-50);
}

.woocommerce-MyAccount-content table.shop_table th {
	font-weight: 600;
	color: var(--mm-gray-700);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: var(--mm-text-xs);
	padding: var(--mm-sp-3) var(--mm-sp-4);
	border-bottom: 1px solid var(--mm-gray-200);
	text-align: left;
}

.woocommerce-MyAccount-content table.shop_table td {
	padding: var(--mm-sp-4);
	border-bottom: 1px solid var(--mm-gray-100);
	vertical-align: middle;
	color: var(--mm-gray-700);
}

.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
	border-bottom: none;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
	background: var(--mm-gray-50);
}

.woocommerce-MyAccount-content table.shop_table .button,
.woocommerce-MyAccount-content table.shop_table .woocommerce-button {
	padding: var(--mm-sp-2) var(--mm-sp-4);
	font-size: var(--mm-text-xs);
	font-weight: 600;
	border-radius: var(--mm-radius);
	text-decoration: none;
	transition: all var(--mm-duration) var(--mm-ease);
}

.woocommerce-MyAccount-content table.shop_table .button.view,
.woocommerce-MyAccount-content table.shop_table .woocommerce-button.view {
	background: var(--mm-gray-100);
	color: var(--mm-navy);
	border: 1px solid var(--mm-gray-200);
}

.woocommerce-MyAccount-content table.shop_table .button.view:hover,
.woocommerce-MyAccount-content table.shop_table .woocommerce-button.view:hover {
	background: var(--mm-navy);
	color: var(--mm-white);
	border-color: var(--mm-navy);
}

/* Download button in table */
.woocommerce-MyAccount-content table.shop_table .download-file a,
.woocommerce-MyAccount-content table.shop_table td .button:not(.view) {
	background: var(--mm-navy);
	color: var(--mm-white);
	padding: var(--mm-sp-2) var(--mm-sp-4);
	border-radius: var(--mm-radius);
	text-decoration: none;
	font-size: var(--mm-text-xs);
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-1);
}

.woocommerce-MyAccount-content table.shop_table .download-file a:hover,
.woocommerce-MyAccount-content table.shop_table td .button:not(.view):hover {
	background: var(--mm-navy-light);
}

/* ==========================================================================
   My Account – Orders Table
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
}

/* Order status badges */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status mark {
	background: none;
	padding: var(--mm-sp-1) var(--mm-sp-3);
	border-radius: var(--mm-radius-full);
	font-size: var(--mm-text-xs);
	font-weight: 600;
}

mark.order-status.status-completed {
	background: var(--mm-success-bg) !important;
	color: var(--mm-success) !important;
}

mark.order-status.status-processing {
	background: var(--mm-info-bg) !important;
	color: var(--mm-info) !important;
}

mark.order-status.status-on-hold {
	background: var(--mm-warning-bg) !important;
	color: var(--mm-warning) !important;
}

mark.order-status.status-cancelled,
mark.order-status.status-refunded,
mark.order-status.status-failed {
	background: var(--mm-error-bg) !important;
	color: var(--mm-error) !important;
}

mark.order-status.status-pending {
	background: var(--mm-gray-100) !important;
	color: var(--mm-gray-600) !important;
}

/* No orders message */
.woocommerce-MyAccount-content .woocommerce-message--info,
.woocommerce-MyAccount-content .woocommerce-info {
	text-align: center;
	padding: var(--mm-sp-8) var(--mm-sp-6);
	background: var(--mm-gray-50);
	border: 2px dashed var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	color: var(--mm-gray-600);
	font-size: var(--mm-text-sm);
}

/* ==========================================================================
   My Account – Edit Account & Forms
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .edit-account {
	max-width: 560px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	padding: var(--mm-sp-6);
	margin: var(--mm-sp-6) 0;
	background: var(--mm-gray-50);
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-700);
	padding: 0 var(--mm-sp-2);
}

.woocommerce-MyAccount-content .form-row label {
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
	margin-bottom: var(--mm-sp-1);
}

.woocommerce-MyAccount-content .form-row input[type="text"],
.woocommerce-MyAccount-content .form-row input[type="email"],
.woocommerce-MyAccount-content .form-row input[type="tel"],
.woocommerce-MyAccount-content .form-row input[type="password"],
.woocommerce-MyAccount-content .form-row select,
.woocommerce-MyAccount-content .form-row textarea {
	width: 100%;
	padding: var(--mm-sp-3) var(--mm-sp-4);
	border: 1.5px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-900);
	background: var(--mm-white);
	transition: border-color var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

.woocommerce-MyAccount-content .form-row input:focus,
.woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-MyAccount-content .form-row textarea:focus {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.1);
	outline: none;
}

.woocommerce-MyAccount-content .form-row .required {
	color: var(--mm-error);
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content .button:not(.view) {
	background: var(--mm-orange);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius);
	padding: var(--mm-sp-3) var(--mm-sp-8);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content .button:not(.view):hover {
	background: var(--mm-orange-hover);
}

/* ==========================================================================
   My Account – Login / Registration (form-login.php)
   ========================================================================== */

.mm-auth {
	display: flex;
	justify-content: center;
	padding: var(--mm-sp-8) 0;
}

.mm-auth__card {
	width: 100%;
	max-width: 440px;
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	box-shadow: var(--mm-shadow-lg);
	overflow: hidden;
}

.mm-auth__header {
	text-align: center;
	padding: var(--mm-sp-8) var(--mm-sp-8) 0;
}

.mm-auth__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	color: var(--mm-navy);
	border-radius: var(--mm-radius-xl);
	overflow: hidden;
	margin-bottom: var(--mm-sp-4);
}

.mm-auth__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mm-auth__title {
	font-size: var(--mm-text-xl);
	font-weight: 700;
	color: var(--mm-gray-900);
	margin: 0 0 var(--mm-sp-1);
}

.mm-auth__subtitle {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
	margin: 0 0 var(--mm-sp-4);
}

/* ── Auth tabs ── */

.mm-auth__tabs {
	display: flex;
	gap: 0;
	margin-top: var(--mm-sp-4);
	background: var(--mm-gray-100);
	border-radius: var(--mm-radius);
	padding: 3px;
}

.mm-auth__tab {
	flex: 1;
	padding: var(--mm-sp-2) var(--mm-sp-4);
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-500);
	background: none;
	border: none;
	border-radius: var(--mm-radius);
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
}

.mm-auth__tab:hover {
	color: var(--mm-gray-700);
}

.mm-auth__tab--active {
	background: var(--mm-white);
	color: var(--mm-navy);
	font-weight: 600;
	box-shadow: var(--mm-shadow-sm);
}

/* ── Auth form panels ── */

.mm-auth__panel {
	padding: var(--mm-sp-6) var(--mm-sp-8) var(--mm-sp-4);
}

.mm-form-row {
	margin-bottom: var(--mm-sp-4);
}

.mm-form-row label {
	display: block;
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
	margin-bottom: var(--mm-sp-2);
}

.mm-form-row input[type="text"],
.mm-form-row input[type="email"],
.mm-form-row input[type="password"] {
	width: 100%;
	padding: var(--mm-sp-3) var(--mm-sp-4);
	border: 1.5px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-900);
	background: var(--mm-white);
	transition: border-color var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

.mm-form-row input:focus {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.1);
	outline: none;
}

.mm-form-row input::placeholder {
	color: var(--mm-gray-400);
}

.mm-form-row--between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mm-checkbox {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-2);
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-600);
	cursor: pointer;
}

.mm-checkbox input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--mm-navy);
}

.mm-auth__forgot {
	font-size: var(--mm-text-sm);
	color: var(--mm-orange);
	text-decoration: none;
	font-weight: 500;
}

.mm-auth__forgot:hover {
	color: var(--mm-orange-hover);
}

.mm-form-hint {
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-500);
	background: var(--mm-gray-50);
	padding: var(--mm-sp-3) var(--mm-sp-4);
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-gray-200);
	margin-bottom: var(--mm-sp-4);
}

/* ── Auth trust signals ── */

.mm-auth__trust {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--mm-sp-4);
	padding: var(--mm-sp-4) var(--mm-sp-6) var(--mm-sp-6);
	border-top: 1px solid var(--mm-gray-100);
}

.mm-auth__trust-item {
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-1);
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-400);
}

.mm-auth__trust-item svg {
	color: var(--mm-success);
}

/* ==========================================================================
   My Account – View Order Detail
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-order-details {
	margin-bottom: var(--mm-sp-8);
}

.woocommerce-MyAccount-content .woocommerce-order-details .shop_table {
	margin-bottom: var(--mm-sp-6);
}

.woocommerce-MyAccount-content .woocommerce-customer-details address {
	padding: var(--mm-sp-5);
	background: var(--mm-gray-50);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	font-style: normal;
	line-height: 1.7;
}

/* ==========================================================================
   Cart Collaterals (cross-sells + totals wrapper)
   ========================================================================== */

.cart-collaterals {
	width: 100%;
	clear: both;
}

.cart-collaterals .cross-sells {
	width: 100%;
}

/* ==========================================================================
   Empty Cart / No Products
   ========================================================================== */

.cart-empty,
.woocommerce-info {
	text-align: center;
}

.return-to-shop .button {
	background: var(--mm-orange);
	color: var(--mm-white);
	padding: var(--mm-sp-3) var(--mm-sp-6);
}

.return-to-shop .button:hover {
	background: var(--mm-orange-hover);
}

/* ==========================================================================
   WooCommerce Blocks - Shared Components
   ========================================================================== */

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner {
	padding: var(--mm-sp-4) var(--mm-sp-6);
	margin-bottom: var(--mm-sp-6);
	border-radius: var(--mm-radius-lg);
	font-size: var(--mm-text-sm);
	font-weight: 500;
	border: 1px solid transparent;
	box-shadow: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-success {
	background: var(--mm-success-bg);
	color: var(--mm-success);
	border-color: rgba(5, 150, 105, 0.2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-info,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-default {
	background: var(--mm-info-bg);
	color: var(--mm-info);
	border-color: rgba(37, 99, 235, 0.2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-error {
	background: var(--mm-error-bg);
	color: var(--mm-error);
	border-color: rgba(220, 38, 38, 0.2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-warning {
	background: var(--mm-warning-bg);
	color: var(--mm-warning);
	border-color: rgba(217, 119, 6, 0.2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-validation-error {
	font-size: var(--mm-text-xs);
	color: var(--mm-error);
	margin-top: var(--mm-sp-2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:not(.is-link),
:where(.wc-block-cart, .wc-block-checkout) .wc-block-cart__submit-button,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkout-place-order-button,
.wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: var(--mm-sp-3) var(--mm-sp-5);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	line-height: 1.3;
	background: var(--mm-orange);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius);
	box-shadow: none;
	text-decoration: none;
	white-space: normal;
	transition: all var(--mm-duration) var(--mm-ease);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:not(.is-link):hover,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-cart__submit-button:hover,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkout-place-order-button:hover,
.wp-block-button.wc-block-components-product-button .wp-block-button__link:hover,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
	background: var(--mm-orange-hover);
	color: var(--mm-white);
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-md);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:not(.is-link):focus-visible,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-cart__submit-button:focus-visible,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkout-place-order-button:focus-visible,
.wp-block-button.wc-block-components-product-button .wp-block-button__link:focus-visible,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:focus-visible {
	outline: 2px solid var(--mm-orange);
	outline-offset: 2px;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:disabled,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:disabled {
	background: var(--mm-gray-300);
	color: var(--mm-white);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-button.is-link,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-coupon-link,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-panel__button,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkout-return-to-cart-button {
	padding: 0;
	background: transparent;
	color: var(--mm-navy);
	border: none;
	border-radius: 0;
	box-shadow: none;
	font-size: var(--mm-text-sm);
	font-weight: 600;
	text-decoration: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input input,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input select,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-combobox-control .components-combobox-control__input,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-textarea textarea {
	width: 100%;
	font-family: var(--mm-font-sans);
	font-size: var(--mm-text-base);
	color: var(--mm-gray-800);
	background: var(--mm-white);
	border: 1.5px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
	padding: var(--mm-sp-3) var(--mm-sp-4);
	line-height: 1.5;
	box-shadow: none;
	transition: border-color var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input input:focus,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input select:focus,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-combobox-control .components-combobox-control__input:focus,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-textarea textarea:focus {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.1);
	outline: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-textarea label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkbox__label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-address-form legend {
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-700);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input.is-active input,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input.has-error input,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-textarea.has-error textarea {
	border-color: var(--mm-error);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--mm-sp-2);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-checkbox .wc-block-components-checkbox__input {
	margin-top: 0.2rem;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__option,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-payment-method,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-address-card,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-shipping-rates-control__package {
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius);
	padding: var(--mm-sp-4);
	box-shadow: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__option:has(input:checked),
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-payment-method:has(input:checked),
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-address-card:has(input:checked) {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.08);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--mm-gray-300);
	border-radius: var(--mm-radius);
	overflow: hidden;
	background: var(--mm-white);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-quantity-selector button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0;
	background: var(--mm-gray-50);
	color: var(--mm-gray-700);
	border: none;
	border-radius: 0;
	box-shadow: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-quantity-selector button:hover {
	background: var(--mm-gray-100);
	color: var(--mm-gray-900);
	transform: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-quantity-selector input {
	width: 56px;
	padding: 0 var(--mm-sp-2);
	border: 0;
	text-align: center;
	box-shadow: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-wrapper {
	margin-top: var(--mm-sp-5);
	padding-top: var(--mm-sp-4);
	border-top: 1px solid var(--mm-gray-200);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-item,
:where(.wc-block-checkout) .wc-block-components-order-summary-item {
	padding: var(--mm-sp-3) 0;
	border-bottom: 1px solid var(--mm-gray-100);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-item:last-child,
:where(.wc-block-checkout) .wc-block-components-order-summary-item:last-child {
	border-bottom: none;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-item__label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-item__value,
:where(.wc-block-checkout) .wc-block-components-order-summary-item__description {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-700);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-navy);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-1);
	padding: var(--mm-sp-1) var(--mm-sp-3);
	background: var(--mm-orange-light);
	color: var(--mm-orange);
	border-radius: var(--mm-radius-full);
	font-size: var(--mm-text-xs);
	font-weight: 700;
	line-height: 1.4;
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-express-payment {
	margin-bottom: var(--mm-sp-6);
	padding: var(--mm-sp-4);
	background: var(--mm-gray-50);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
}

:where(.wc-block-cart, .wc-block-checkout) .wc-block-components-express-payment__event-buttons {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--mm-sp-3);
}

/* ==========================================================================
   WooCommerce Blocks - Product Collection
   ========================================================================== */

.wp-block-woocommerce-product-collection .wp-block-post-template,
.wc-block-product-template,
.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
	gap: var(--mm-sp-6);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Override WooCommerce block column classes to use responsive grid */
.wc-block-grid.has-2-columns .wc-block-grid__products,
.wc-block-grid.has-3-columns .wc-block-grid__products,
.wc-block-grid.has-4-columns .wc-block-grid__products,
.wc-block-grid.has-5-columns .wc-block-grid__products,
.wc-block-grid.has-6-columns .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
}

/* Ensure block product cards fill their grid cell */
.wc-block-grid__product {
	max-width: none !important;
	flex: unset !important;
	width: auto !important;
}

.wc-block-product,
.wc-block-grid__product {
	position: relative;
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	transition: box-shadow var(--mm-duration-md) var(--mm-ease),
	            transform var(--mm-duration-md) var(--mm-ease);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wc-block-product:hover,
.wc-block-grid__product:hover {
	box-shadow: var(--mm-shadow-lg);
	transform: translateY(-3px);
}

.wc-block-product .wc-block-components-product-image,
.wc-block-grid__product-image {
	display: block;
	overflow: hidden;
	position: relative;
	margin: 0;
}

.wc-block-product .wc-block-components-product-image img,
.wc-block-grid__product-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--mm-duration-md) var(--mm-ease);
}

.wc-block-product:hover .wc-block-components-product-image img,
.wc-block-grid__product:hover .wc-block-grid__product-image img {
	transform: scale(1.04);
}

.wc-block-product .wc-block-components-product-sale-badge,
.wc-block-product .wc-block-components-product-badge,
.wc-block-grid__product-onsale {
	position: absolute;
	top: var(--mm-sp-3);
	left: var(--mm-sp-3);
	z-index: 2;
	background: var(--mm-error);
	color: var(--mm-white);
	font-size: var(--mm-text-xs);
	font-weight: 700;
	padding: var(--mm-sp-1) var(--mm-sp-3);
	border-radius: var(--mm-radius-full);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

.wc-block-product .wc-block-components-product-name,
.wc-block-grid__product-title {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-800);
	line-height: 1.4;
	padding: var(--mm-sp-4) var(--mm-sp-4) 0;
	margin: 0;
	flex: 1;
}

.wc-block-product .wc-block-components-product-name a,
.wc-block-grid__product-title a {
	color: inherit;
	text-decoration: none;
}

.wc-block-product .wc-block-components-product-name a:hover,
.wc-block-grid__product-title a:hover {
	color: var(--mm-navy);
}

.wc-block-product .wc-block-components-product-price,
.wc-block-grid__product-price {
	padding: var(--mm-sp-2) var(--mm-sp-4);
	font-size: var(--mm-text-lg);
	font-weight: 700;
	color: var(--mm-navy);
}

.wc-block-product .wc-block-components-product-price del,
.wc-block-grid__product-price del {
	color: var(--mm-gray-400);
	font-weight: 400;
	font-size: var(--mm-text-sm);
}

.wc-block-product .wc-block-components-product-price ins,
.wc-block-grid__product-price ins {
	text-decoration: none;
	color: var(--mm-error);
	font-weight: 700;
}

.wc-block-product .wc-block-components-product-rating,
.wc-block-grid__product-rating {
	padding: 0 var(--mm-sp-4);
	font-size: var(--mm-text-sm);
	color: var(--mm-warning);
}

/* Force star glyphs in block product ratings (WooCommerce removed the star font) */
.wc-block-grid__product-rating .star-rating,
.wc-block-components-product-rating .star-rating {
	font-family: sans-serif !important;
}

.wc-block-grid__product-rating .star-rating::before,
.wc-block-components-product-rating .star-rating::before {
	content: "★★★★★" !important;
	color: var(--mm-orange);
	opacity: 0.25;
}

.wc-block-grid__product-rating .star-rating span::before,
.wc-block-components-product-rating .star-rating span::before {
	content: "★★★★★" !important;
	color: var(--mm-orange);
}

.wp-block-button.wc-block-components-product-button,
.wc-block-grid__product-add-to-cart {
	display: block;
	width: calc(100% - var(--mm-sp-8));
	margin: var(--mm-sp-2) var(--mm-sp-4) var(--mm-sp-4);
}

.wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	width: 100%;
}

/* ==========================================================================
   WooCommerce Blocks - Cart
   ========================================================================== */

/* --------------------------------------------------------------------------
   Cart Block — Desktop Grid Layout
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.95fr);
	gap: var(--mm-sp-8);
	align-items: start;
}

.wc-block-cart .wc-block-components-main,
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout .wc-block-checkout__sidebar {
	min-width: 0;
}

/* --------------------------------------------------------------------------
   Cart Block — Product Table Card
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-cart-items {
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	overflow: hidden;
	margin: 0;
	background: var(--mm-white);
	box-shadow: var(--mm-shadow-sm);
	transition: box-shadow var(--mm-duration-md) var(--mm-ease);
}

.wc-block-cart .wc-block-cart-items:hover {
	box-shadow: var(--mm-shadow);
}

/* Table header */
.wc-block-cart .wc-block-cart-items th {
	font-size: var(--mm-text-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--mm-gray-500);
	padding: var(--mm-sp-3) var(--mm-sp-5);
	text-align: left;
	background: var(--mm-gray-50);
	border-bottom: 2px solid var(--mm-gray-200);
	white-space: nowrap;
}

/* Table cells */
.wc-block-cart .wc-block-cart-items td {
	padding: var(--mm-sp-5);
	vertical-align: middle;
	border-bottom: 1px solid var(--mm-gray-100);
}

.wc-block-cart .wc-block-cart-items tr:last-child td {
	border-bottom: none;
}

/* Row hover effect */
.wc-block-cart .wc-block-cart-items tbody tr {
	transition: background-color var(--mm-duration) var(--mm-ease);
}

.wc-block-cart .wc-block-cart-items tbody tr:hover {
	background-color: var(--mm-gray-50);
}

/* --------------------------------------------------------------------------
   Cart Block — Product Thumbnails
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-cart-item__image img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: var(--mm-radius);
	border: 1px solid var(--mm-gray-200);
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

.wc-block-cart .wc-block-cart-item__image img:hover {
	transform: scale(1.04);
	box-shadow: var(--mm-shadow-md);
}

/* --------------------------------------------------------------------------
   Cart Block — Product Name, Price & Metadata
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name {
	font-weight: 600;
	color: var(--mm-gray-800);
	text-decoration: none;
	transition: color var(--mm-duration) var(--mm-ease);
}

.wc-block-cart .wc-block-components-product-name:hover,
.wc-block-checkout .wc-block-components-product-name:hover {
	color: var(--mm-navy);
}

.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-cart .wc-block-components-product-details {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-500);
	line-height: 1.5;
}

/* Description truncation for cleaner look */
.wc-block-cart .wc-block-components-product-metadata__description p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}

.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-components-product-price {
	font-size: var(--mm-text-base);
	font-weight: 700;
	color: var(--mm-navy);
}

/* --------------------------------------------------------------------------
   Cart Block — Remove Button
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	gap: var(--mm-sp-1);
	padding: var(--mm-sp-1) var(--mm-sp-2);
	background: transparent;
	color: var(--mm-gray-400);
	border: none;
	border-radius: var(--mm-radius-sm);
	font-size: var(--mm-text-xs);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all var(--mm-duration) var(--mm-ease);
}

.wc-block-cart .wc-block-cart-item__remove-link:hover {
	color: var(--mm-error);
	background: var(--mm-error-bg);
	text-decoration: none;
}

.wc-block-cart .wc-block-cart-item__remove-link:focus-visible {
	outline: 2px solid var(--mm-error);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Cart Block — Quantity Selector (hidden for digital-only stores)
   Digital products are always qty 1. Uncomment to re-enable.
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-quantity-selector {
	display: none;
}

/* --------------------------------------------------------------------------
   Cart Block — Cart Totals Sidebar (Sticky Card with Navy Header)
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-sidebar {
	background: var(--mm-white);
	border: 1px solid var(--mm-gray-200);
	border-radius: var(--mm-radius-xl);
	padding: 0;
	box-shadow: var(--mm-shadow-md);
	overflow: hidden;
	transition: box-shadow var(--mm-duration-md) var(--mm-ease);
}

@media (min-width: 769px) {
	.wc-block-cart .wc-block-components-sidebar {
		position: sticky;
		top: 120px;
	}
}

.wc-block-cart .wc-block-components-sidebar:hover {
	box-shadow: var(--mm-shadow-lg);
}

/* Navy header bar */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-title {
	margin: 0;
	padding: var(--mm-sp-4) var(--mm-sp-6);
	background: var(--mm-navy);
	color: var(--mm-white);
	font-size: var(--mm-text-base);
	font-weight: 700;
	letter-spacing: 0.02em;
	border-bottom: none;
}

/* Totals rows */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper {
	padding: 0 var(--mm-sp-6);
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item {
	padding: var(--mm-sp-4) 0;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__label {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-600);
	font-weight: 500;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__value {
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-800);
	font-weight: 600;
}

/* Order total — prominent */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--mm-gray-200);
	margin-top: var(--mm-sp-2);
	padding-top: var(--mm-sp-4);
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: var(--mm-text-base);
	font-weight: 700;
	color: var(--mm-gray-800);
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--mm-text-xl);
	font-weight: 800;
	color: var(--mm-navy);
}

/* --------------------------------------------------------------------------
   Cart Block — Coupon Accordion
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-totals-coupon {
	margin: 0;
	padding: var(--mm-sp-4) var(--mm-sp-6);
	background: transparent;
	border: none;
	border-top: 1px solid var(--mm-gray-100);
	border-radius: 0;
}

.wc-block-cart .wc-block-components-totals-coupon-link {
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-600);
}

.wc-block-cart .wc-block-components-totals-coupon-link:hover {
	color: var(--mm-navy);
}

.wc-block-cart .wc-block-components-totals-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--mm-sp-2);
	margin-top: var(--mm-sp-3);
}

/* --------------------------------------------------------------------------
   Cart Block — Checkout Button (with shine hover effect)
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-cart__submit-container {
	background: var(--mm-white);
	padding: var(--mm-sp-5) var(--mm-sp-6);
	border-top: 1px solid var(--mm-gray-100);
}

.wc-block-cart .wc-block-cart__submit-container::before {
	display: none;
}

.wc-block-cart .wc-block-cart__submit-button {
	position: relative;
	display: block;
	width: 100%;
	padding: var(--mm-sp-4) var(--mm-sp-6);
	font-family: var(--mm-font-sans);
	font-size: var(--mm-text-base);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mm-white);
	background: var(--mm-orange);
	border: none;
	border-radius: var(--mm-radius);
	text-align: center;
	cursor: pointer;
	overflow: hidden;
	transition: background var(--mm-duration) var(--mm-ease),
	            transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

/* Shine sweep on hover */
.wc-block-cart .wc-block-cart__submit-button::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		120deg,
		transparent 0%,
		transparent 30%,
		rgba(255, 255, 255, 0.25) 50%,
		transparent 70%,
		transparent 100%
	);
	transition: left 0.5s var(--mm-ease);
	pointer-events: none;
}

.wc-block-cart .wc-block-cart__submit-button:hover {
	background: var(--mm-orange-hover);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 111, 0, 0.35);
}

.wc-block-cart .wc-block-cart__submit-button:hover::after {
	left: 100%;
}

.wc-block-cart .wc-block-cart__submit-button:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(255, 111, 0, 0.3);
}

.wc-block-cart .wc-block-cart__submit-button:focus-visible {
	outline: 2px solid var(--mm-orange);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Cart Block — Express Payment (Google Pay / Apple Pay)
   -------------------------------------------------------------------------- */

.wc-block-cart .wc-block-components-express-payment {
	padding: 0 var(--mm-sp-6) var(--mm-sp-5);
}

/* "OR" separator */
.wc-block-cart .wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container {
	color: var(--mm-gray-400);
	font-size: var(--mm-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* --------------------------------------------------------------------------
   Cart Block — Trust & Payment Badge containers
   -------------------------------------------------------------------------- */

.wc-block-cart .mm-cart-trust {
	margin: 0;
	padding: var(--mm-sp-4) var(--mm-sp-6);
	border-top: 1px solid var(--mm-gray-100);
	border-radius: 0;
	border-left: none;
	border-right: none;
	border-bottom: none;
	background: var(--mm-gray-50);
}

.wc-block-cart .mm-payment-logos {
	padding: 0 var(--mm-sp-6) var(--mm-sp-4);
	margin-top: var(--mm-sp-2);
}

/* ==========================================================================
   WooCommerce Blocks - Checkout
   ========================================================================== */

.wc-block-checkout .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
	gap: var(--mm-sp-8);
	align-items: start;
	width: 100%;
}

.wc-block-checkout .wc-block-components-checkout-step {
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.08), transparent 32%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 251, 255, 1) 100%);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	padding: var(--mm-sp-6);
	margin-bottom: var(--mm-sp-6);
	box-shadow: var(--mm-shadow-sm);
}

.wc-block-checkout .wc-block-components-checkout-step:last-child {
	margin-bottom: 0;
}

.wc-block-checkout .wc-block-components-checkout-step__heading {
	font-size: var(--mm-text-xl);
	margin: 0 0 var(--mm-sp-5);
	padding-bottom: var(--mm-sp-3);
	border-bottom: 1px solid rgba(0, 27, 73, 0.08);
	color: var(--mm-navy);
	letter-spacing: -0.02em;
}

.wc-block-checkout .wc-block-components-checkout-step__description,
.wc-block-checkout .wc-block-components-payment-method__description,
.wc-block-checkout .wc-block-components-order-summary-item__description {
	color: var(--mm-gray-500);
	font-size: var(--mm-text-sm);
}

.wc-block-checkout .wc-block-components-payment-methods {
	display: grid;
	gap: var(--mm-sp-3);
}

.wc-block-checkout .wc-block-checkout__sidebar {
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.12), transparent 26%),
		linear-gradient(180deg, rgba(250, 252, 255, 0.98) 0%, rgba(255, 255, 255, 1) 100%);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	padding: var(--mm-sp-6);
	box-shadow: var(--mm-shadow-md);
	width: min(100%, 420px) !important;
	min-width: 340px;
	max-width: 420px;
	margin: 0 0 0 auto !important;
	justify-self: end;
	align-self: start;
	position: sticky;
	top: calc(var(--mm-sp-8) + 84px);
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: var(--mm-sp-4);
	padding-bottom: var(--mm-sp-3);
	border-bottom: 1px solid rgba(0, 27, 73, 0.08);
	font-size: var(--mm-text-xl);
	font-weight: 700;
	color: var(--mm-navy);
	letter-spacing: -0.02em;
}

.wc-block-checkout .wc-block-checkout__main {
	width: auto !important;
	max-width: none;
	margin: 0 !important;
}

.wc-block-checkout .wc-block-components-order-summary-item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: start;
	column-gap: var(--mm-sp-3);
	row-gap: var(--mm-sp-2);
	padding: var(--mm-sp-4) 0;
}

.wc-block-checkout .wc-block-components-order-summary-item__image {
	grid-column: 1;
	position: relative;
	width: 64px;
}

.wc-block-checkout .wc-block-components-order-summary-item__description {
	grid-column: 2;
	min-width: 0;
	margin: 0;
	color: var(--mm-gray-600);
}

.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wc-block-components-order-summary-item .wc-block-components-product-price {
	grid-column: 3;
	justify-self: end;
	align-self: start;
	white-space: nowrap;
	font-size: var(--mm-text-base);
	font-weight: 700;
	color: var(--mm-navy);
}

.wc-block-checkout .wc-block-components-order-summary-item .wc-block-components-product-name {
	display: block;
	min-width: 0;
	line-height: 1.45;
	overflow-wrap: anywhere;
	color: var(--mm-gray-900);
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-order-summary-item__image img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--mm-radius);
	border: 1px solid rgba(0, 27, 73, 0.08);
	box-shadow: var(--mm-shadow-sm);
}

.wc-block-checkout .wc-block-components-order-summary-item__quantity {
	background-color: var(--mm-white);
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 2px var(--mm-white), var(--mm-shadow-sm);
	color: var(--mm-navy);
}

.wc-block-checkout .wc-block-components-totals-coupon {
	margin-top: var(--mm-sp-4);
	padding: var(--mm-sp-4);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 1) 100%);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-lg);
	box-shadow: var(--mm-shadow-sm);
}

.wc-block-checkout .wc-block-components-totals-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--mm-sp-2);
	margin-top: var(--mm-sp-3);
}

.wc-block-checkout .wc-block-checkout__terms {
	margin-top: var(--mm-sp-6);
	font-size: var(--mm-text-sm);
	color: var(--mm-gray-600);
}

.wc-block-checkout .wc-block-checkout__actions {
	margin-top: var(--mm-sp-6);
}

.wc-block-checkout .wc-block-components-totals-wrapper {
	border-top-color: rgba(0, 27, 73, 0.08);
}

.wc-block-checkout .wc-block-components-totals-item {
	padding: 0.9rem 0;
	border-bottom-color: rgba(0, 27, 73, 0.06);
}

.wc-block-checkout .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item__value {
	color: var(--mm-gray-700);
	font-size: var(--mm-text-sm);
}

.wc-block-checkout .wc-block-components-totals-footer-item {
	margin-top: var(--mm-sp-4);
	padding: var(--mm-sp-4);
	background: rgba(0, 27, 73, 0.04);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-lg);
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--mm-navy);
	font-size: var(--mm-text-lg);
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-payment-method,
.wc-block-checkout .wc-block-components-address-card,
.wc-block-checkout .wc-block-components-shipping-rates-control__package {
	border-radius: var(--mm-radius-lg);
	border-color: rgba(0, 27, 73, 0.08);
	box-shadow: var(--mm-shadow-sm);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 254, 1) 100%);
}

.wc-block-checkout .wc-block-components-radio-control__option:has(input:checked),
.wc-block-checkout .wc-block-components-payment-method:has(input:checked),
.wc-block-checkout .wc-block-components-address-card:has(input:checked) {
	border-color: rgba(0, 27, 73, 0.18);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.08), var(--mm-shadow-sm);
}

.wc-block-checkout .wc-block-components-checkout-place-order-button {
	min-height: 52px;
	border-radius: var(--mm-radius-full);
	background: linear-gradient(135deg, var(--mm-orange) 0%, var(--mm-orange-hover) 100%);
	box-shadow: var(--mm-shadow);
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
	background: linear-gradient(135deg, var(--mm-orange-hover) 0%, #ff8f1f 100%);
}

/* Sticky mobile buy bar */
.mm-mobile-buy-bar {
    display: none;
}

@media (max-width: 768px) {
    .mm-mobile-buy-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        background: var(--mm-white);
        border-top: 1px solid var(--mm-gray-200);
        box-shadow: 0 -4px 12px rgba(0,0,0,.08);
        padding: var(--mm-sp-3) var(--mm-gutter);
        gap: var(--mm-sp-4);
    }

    .mm-mobile-buy-price {
        font-size: var(--mm-text-lg);
        font-weight: 700;
        color: var(--mm-navy);
    }

    .mm-mobile-buy-price del {
        font-size: var(--mm-text-sm);
        color: var(--mm-gray-400);
        font-weight: 400;
    }

    .mm-mobile-buy-btn {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: var(--mm-sp-3) var(--mm-sp-6);
        background: var(--mm-orange);
        color: var(--mm-white);
        font-size: var(--mm-text-sm);
        font-weight: 700;
        border-radius: var(--mm-radius);
        text-decoration: none;
        min-height: 44px;
        transition: background var(--mm-duration) var(--mm-ease);
    }

    .mm-mobile-buy-btn:hover {
        background: var(--mm-orange-hover);
        color: var(--mm-white);
    }

    /* Add bottom padding to body on single product to prevent content hiding behind sticky bar */
    .single-product .site-main {
        padding-bottom: 80px;
    }
}

/* Add-to-cart loading state */
.single_add_to_cart_button.loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
}

.single_add_to_cart_button.loading::after {
    content: "";
    position: absolute;
    right: var(--mm-sp-4);
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: var(--mm-white);
    border-radius: 50%;
    animation: mm-spin 0.6s linear infinite;
}

/* --------------------------------------------------------------------------
   Cart Block — Tablet: Stack to single column
   -------------------------------------------------------------------------- */

@media (max-width: 960px) {
	.wc-block-cart .wc-block-components-sidebar-layout,
	.wc-block-checkout .wc-block-components-sidebar-layout {
		grid-template-columns: 1fr;
	}

	.wc-block-checkout .wc-block-components-sidebar-layout {
		display: flex !important;
		flex-direction: column;
		gap: var(--mm-sp-4);
	}

	.wc-block-checkout .wc-block-checkout__main,
	.wc-block-checkout .wc-block-checkout__sidebar {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.wc-block-checkout .wc-block-checkout__sidebar {
		width: 100% !important;
		min-width: 0;
		max-width: none;
		margin: 0 !important;
		justify-self: stretch;
		align-self: stretch;
		position: static !important;
		top: auto;
		order: -1;
		overflow: hidden;
	}

	.wc-block-checkout .wc-block-components-order-summary,
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel,
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__content {
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		column-gap: var(--mm-sp-2);
		row-gap: 0;
		width: 100% !important;
		min-width: 0;
		margin: 0;
		padding: var(--mm-sp-4) var(--mm-sp-5);
		text-align: left;
		background: linear-gradient(135deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
		color: var(--mm-white);
		border-radius: var(--mm-radius-lg);
		box-shadow: var(--mm-shadow);
		border-bottom: none;
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button > * {
		min-width: 0;
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button span:first-child,
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button div:first-child {
		overflow-wrap: anywhere;
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button *,
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button svg {
		color: inherit;
		fill: currentColor;
		stroke: currentColor;
	}
}

/* --------------------------------------------------------------------------
   Cart Block — Mobile: Card-based layout
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {

	/* Sidebar padding */
	.wc-block-cart .wc-block-components-sidebar {
		border-radius: var(--mm-radius-lg);
	}

	.wc-block-checkout .wc-block-checkout__sidebar,
	.wc-block-checkout .wc-block-components-checkout-step {
		padding: var(--mm-sp-5);
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
		font-size: var(--mm-text-lg);
		align-items: flex-start;
		gap: var(--mm-sp-3);
		padding: var(--mm-sp-4);
	}

	.wc-block-checkout .wc-block-components-order-summary-item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.wc-block-checkout .wc-block-components-order-summary-item__image {
		width: 56px;
	}

	.wc-block-checkout .wc-block-components-order-summary-item__image img {
		width: 56px;
		height: 56px;
	}

	.wc-block-checkout .wc-block-components-order-summary-item__description {
		grid-column: 2;
		grid-row: 1;
	}

	.wc-block-checkout .wc-block-components-order-summary-item__total-price,
	.wc-block-checkout .wc-block-components-order-summary-item .wc-block-components-product-price {
		grid-column: 2;
		grid-row: 2;
		justify-self: start;
		margin-top: calc(var(--mm-sp-1) * -1);
	}

	.wc-block-checkout .wc-block-components-totals-footer-item {
		padding: var(--mm-sp-3);
	}

	/* Cart items: card style */
	.wc-block-cart .wc-block-cart-items {
		border: none;
		box-shadow: none;
		background: transparent;
		border-radius: 0;
	}

	.wc-block-cart .wc-block-cart-items:hover {
		box-shadow: none;
	}

	/* Hide table header on mobile */
	.wc-block-cart .wc-block-cart-items thead {
		display: none;
	}

	/* Each row becomes a card */
	.wc-block-cart .wc-block-cart-items tbody tr {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: var(--mm-sp-3);
		position: relative;
		background: var(--mm-white);
		border: 1px solid var(--mm-gray-200);
		border-radius: var(--mm-radius-lg);
		padding: var(--mm-sp-4);
		margin-bottom: var(--mm-sp-3);
		box-shadow: var(--mm-shadow-sm);
		transition: box-shadow var(--mm-duration) var(--mm-ease);
	}

	.wc-block-cart .wc-block-cart-items tbody tr:hover {
		box-shadow: var(--mm-shadow);
	}

	.wc-block-cart .wc-block-cart-items tbody tr:last-child {
		margin-bottom: 0;
	}

	/* Cells reset */
	.wc-block-cart .wc-block-cart-items td {
		padding: 0;
		border-bottom: none;
	}

	/* Thumbnail */
	.wc-block-cart .wc-block-cart-items td:first-child {
		flex-shrink: 0;
	}

	.wc-block-cart .wc-block-cart-item__image img {
		width: 72px;
		height: 72px;
		border-radius: var(--mm-radius);
		border: 1px solid var(--mm-gray-200);
	}

	/* Product info cell */
	.wc-block-cart .wc-block-cart-items td:nth-child(2) {
		flex: 1;
		min-width: 0;
		padding-right: var(--mm-sp-6);
	}

	/* Product name */
	.wc-block-cart .wc-block-components-product-name {
		font-size: var(--mm-text-sm);
		line-height: 1.4;
	}

	/* Description */
	.wc-block-cart .wc-block-components-product-metadata__description {
		font-size: var(--mm-text-xs);
		margin-top: var(--mm-sp-1);
	}

	.wc-block-cart .wc-block-components-product-metadata__description p {
		-webkit-line-clamp: 1;
	}

	/* Price cell */
	.wc-block-cart .wc-block-cart-items td:last-child {
		position: absolute;
		top: var(--mm-sp-4);
		right: var(--mm-sp-4);
	}

	.wc-block-cart .wc-block-cart-item__prices,
	.wc-block-cart .wc-block-components-product-price {
		font-size: var(--mm-text-sm);
		font-weight: 700;
		color: var(--mm-navy);
	}

	/* Remove button styling on mobile */
	.wc-block-cart .wc-block-cart-item__remove-link {
		font-size: 0.7rem;
		padding: var(--mm-sp-1);
		margin-top: var(--mm-sp-2);
	}

	/* Cart totals sidebar */
	.wc-block-cart .wc-block-components-sidebar .wc-block-components-title {
		padding: var(--mm-sp-3) var(--mm-sp-4);
		font-size: var(--mm-text-sm);
	}

	.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper {
		padding: 0 var(--mm-sp-4);
	}

	.wc-block-cart .wc-block-components-totals-coupon {
		padding: var(--mm-sp-3) var(--mm-sp-4);
	}

	.wc-block-cart .wc-block-components-totals-coupon__form {
		grid-template-columns: 1fr;
	}

	.wc-block-checkout .wc-block-components-totals-coupon__form {
		grid-template-columns: 1fr;
	}

	/* Checkout button - larger on mobile */
	.wc-block-cart .wc-block-cart__submit-container {
		padding: var(--mm-sp-4);
	}

	.wc-block-cart .wc-block-cart__submit-button {
		padding: var(--mm-sp-4);
		min-height: 52px;
		font-size: var(--mm-text-base);
	}

	/* Express payment */
	.wc-block-cart .wc-block-components-express-payment {
		padding: 0 var(--mm-sp-4) var(--mm-sp-4);
	}

	/* Trust badges */
	.wc-block-cart .mm-cart-trust {
		padding: var(--mm-sp-3) var(--mm-sp-4);
	}

	.wc-block-cart .mm-payment-logos {
		padding: 0 var(--mm-sp-4) var(--mm-sp-3);
	}
}

@media (max-width: 600px) {
	.wp-block-woocommerce-product-collection .wp-block-post-template,
	.wc-block-product-template,
	.wc-block-grid__products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: var(--mm-sp-3);
	}

	.wc-block-product .wc-block-components-product-name,
	.wc-block-grid__product-title {
		font-size: var(--mm-text-xs);
		padding: var(--mm-sp-3) var(--mm-sp-3) 0;
	}

	.wc-block-product .wc-block-components-product-price,
	.wc-block-grid__product-price {
		padding: var(--mm-sp-1) var(--mm-sp-3);
		font-size: var(--mm-text-base);
	}

	.wp-block-button.wc-block-components-product-button,
	.wc-block-grid__product-add-to-cart {
		width: calc(100% - var(--mm-sp-6));
		margin: var(--mm-sp-2) var(--mm-sp-3) var(--mm-sp-3);
	}
}

@media (max-width: 480px) {
	.wp-block-woocommerce-product-collection .wp-block-post-template,
	.wc-block-product-template,
	.wc-block-grid__products {
		grid-template-columns: 1fr !important;
		gap: var(--mm-sp-4);
	}

	.wc-block-product .wc-block-components-product-name,
	.wc-block-grid__product-title {
		font-size: var(--mm-text-sm);
		padding: var(--mm-sp-4) var(--mm-sp-4) 0;
	}

	.wc-block-product .wc-block-components-product-price,
	.wc-block-grid__product-price {
		font-size: var(--mm-text-lg);
		padding: var(--mm-sp-2) var(--mm-sp-4);
	}

	.wp-block-button.wc-block-components-product-button,
	.wc-block-grid__product-add-to-cart {
		width: calc(100% - var(--mm-sp-8));
		margin: var(--mm-sp-2) var(--mm-sp-4) var(--mm-sp-4);
	}

	.wc-block-cart .wc-block-components-sidebar {
		padding: 0;
	}

	.wc-block-checkout .wc-block-checkout__sidebar,
	.wc-block-checkout .wc-block-components-checkout-step {
		padding: var(--mm-sp-4);
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
		font-size: var(--mm-text-base);
		padding: var(--mm-sp-3) var(--mm-sp-4);
	}

	.wc-block-checkout .wc-block-components-order-summary-item {
		grid-template-columns: 52px minmax(0, 1fr);
		column-gap: var(--mm-sp-2);
	}

	.wc-block-checkout .wc-block-components-order-summary-item__image {
		width: 52px;
	}

	.wc-block-cart .wc-block-cart-item__image img {
		width: 60px;
		height: 60px;
	}

	.wc-block-checkout .wc-block-components-order-summary-item__image img {
		width: 52px;
		height: 52px;
	}

	.wc-block-cart .wc-block-cart-items tbody tr {
		padding: var(--mm-sp-3);
	}
}

/* ==========================================================================
   Loading / AJAX States
   ========================================================================== */

.woocommerce .blockUI.blockOverlay {
	position: relative;
}

.woocommerce .blockUI.blockOverlay::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 32px;
	height: 32px;
	margin: -16px 0 0 -16px;
	border: 3px solid var(--mm-gray-200);
	border-top-color: var(--mm-navy);
	border-radius: 50%;
	animation: mm-spin 0.6s linear infinite;
}

@keyframes mm-spin {
	to { transform: rotate(360deg); }
}

.woocommerce .loader::before {
	border-top-color: var(--mm-navy);
}

/* Cart update animation */
@keyframes mm-cart-bounce {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.25); }
}

.site-header-cart.cart-updated .cart-contents {
    animation: mm-cart-bounce 0.4s var(--mm-ease);
}

.site-header-cart.cart-updated .count {
    background: var(--mm-success);
    animation: mm-cart-bounce 0.4s var(--mm-ease) 0.1s;
}

/* Cart/checkout trust badges */
.mm-cart-trust {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mm-sp-3);
    padding: var(--mm-sp-4);
    margin-bottom: var(--mm-sp-4);
    background: var(--mm-gray-50);
    border-radius: var(--mm-radius-lg);
    border: 1px solid var(--mm-gray-200);
}

.mm-cart-trust-item {
    display: flex;
    align-items: center;
    gap: var(--mm-sp-2);
    font-size: var(--mm-text-xs);
    font-weight: 500;
    color: var(--mm-gray-600);
}

.mm-cart-trust-item svg {
    flex-shrink: 0;
    color: var(--mm-success);
}

.mm-cart-trust-guarantee {
    font-weight: 700;
    color: var(--mm-success);
}

/* Payment method logos */
.mm-payment-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--mm-sp-2);
    margin-top: var(--mm-sp-3);
}

.mm-payment-label {
    font-size: var(--mm-text-xs);
    color: var(--mm-gray-500);
    margin-right: var(--mm-sp-1);
}

.mm-payment-logos svg {
    height: 24px;
    width: auto;
    border-radius: 3px;
}

/* ==========================================================================
   Mobile Responsive - WooCommerce Consolidated Breakpoints
   ========================================================================== */

/* ── Small tablets (≤768px) ── */
@media (max-width: 768px) {

	/* My Account: single-column layout */
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: var(--mm-sp-5);
	}

	.woocommerce-MyAccount-navigation,
	.mm-account-nav {
		position: static;
	}

	/* Horizontal scroll nav on tablet */
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 0;
		border-radius: var(--mm-radius-lg);
	}

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

	.woocommerce-MyAccount-navigation ul li + li {
		border-top: none;
		border-left: 1px solid var(--mm-gray-100);
	}

	.mm-account-nav__link,
	.woocommerce-MyAccount-navigation ul li a {
		white-space: nowrap;
		min-height: 44px;
		border-left: none;
		padding: var(--mm-sp-3) var(--mm-sp-4);
	}

	.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-MyAccount-navigation ul li.is-active .mm-account-nav__link {
		border-left-color: transparent;
		border-bottom: 2px solid var(--mm-navy);
	}

	.mm-account-nav__label {
		font-size: var(--mm-text-xs);
	}

	/* Dashboard adjustments */
	.mm-dashboard__stats {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--mm-sp-3);
	}

	.mm-download-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.mm-dashboard__cta {
		flex-direction: column;
		text-align: center;
	}

	/* Auth form */
	.mm-auth__card {
		max-width: 100%;
	}

	/* WooCommerce notices: allow button to wrap */
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		flex-wrap: wrap;
	}

	.woocommerce-message .button,
	.woocommerce-info .button {
		margin-left: 0;
		margin-top: var(--mm-sp-2);
		width: 100%;
		text-align: center;
		justify-content: center;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}

	/* Cart totals: full width on mobile */
	.cart_totals {
		max-width: 100%;
		margin-left: 0;
	}

	/* Cart table: stack coupon and update button */
	table.shop_table td.actions .coupon {
		flex-wrap: wrap;
	}

	table.shop_table td.actions .coupon input {
		max-width: 100%;
		flex: 1;
	}

	table.shop_table td.actions > .button {
		float: none;
		width: 100%;
		margin-top: var(--mm-sp-3);
		min-height: 44px;
	}
}

/* ── Large phones (≤600px) ── */
@media (max-width: 600px) {

	/* Product grid: 2 columns */
	ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--mm-sp-3);
	}

	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5,
	ul.products.columns-6 {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Product card text: compact for 2-col grid */
	ul.products li.product .woocommerce-loop-product__title,
	ul.products li.product h2 {
		font-size: var(--mm-text-xs);
		padding: var(--mm-sp-3) var(--mm-sp-3) 0;
		-webkit-line-clamp: 2;
		min-height: calc(1.4em * 2);
	}

	ul.products li.product .price {
		padding: var(--mm-sp-1) var(--mm-sp-3);
		font-size: var(--mm-text-base);
	}

	.mm-loop-badges {
		top: var(--mm-sp-2);
		right: var(--mm-sp-2);
		max-width: calc(100% - var(--mm-sp-4));
		gap: var(--mm-sp-1);
	}

	.mm-loop-badge {
		min-height: 24px;
		padding: 0 0.55rem;
		font-size: 0.625rem;
	}

	.mm-loop-meta {
		gap: var(--mm-sp-1);
		padding: 0 var(--mm-sp-3) var(--mm-sp-2);
	}

	.mm-loop-meta span {
		padding: 0.3rem 0.55rem;
	}

	ul.products li.product .button,
	ul.products li.product .add_to_cart_button,
	ul.products li.product .ajax_add_to_cart {
		width: calc(100% - var(--mm-sp-6));
		margin: auto var(--mm-sp-3) var(--mm-sp-3);
		padding: var(--mm-sp-2);
		font-size: var(--mm-text-xs);
		min-height: 44px;
	}

	/* Shop header: stack result count and ordering */
	.woocommerce-result-count,
	.woocommerce-ordering {
		float: none;
		width: 100%;
		text-align: left;
	}

	.woocommerce-ordering select {
		width: 100%;
	}

	/* Notices: full column stack */
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--mm-sp-3) var(--mm-sp-4);
	}

	/* Pagination: 44px touch targets */
	.woocommerce-pagination ul.page-numbers li a,
	.woocommerce-pagination ul.page-numbers li span {
		min-width: 44px;
		height: 44px;
	}
}

/* ── Small phones (≤480px) ── */
@media (max-width: 480px) {

	/* Product grid: single column */
	ul.products {
		grid-template-columns: 1fr;
		gap: var(--mm-sp-4);
	}

	ul.products.columns-2,
	ul.products.columns-3,
	ul.products.columns-4,
	ul.products.columns-5,
	ul.products.columns-6 {
		grid-template-columns: 1fr;
	}

	/* Restore normal text sizes for single column */
	ul.products li.product .woocommerce-loop-product__title,
	ul.products li.product h2 {
		font-size: var(--mm-text-sm);
		padding: var(--mm-sp-4) var(--mm-sp-4) 0;
		-webkit-line-clamp: 3;
		min-height: calc(1.4em * 3);
	}

	ul.products li.product .price {
		font-size: var(--mm-text-lg);
		padding: var(--mm-sp-2) var(--mm-sp-4);
	}

	ul.products li.product .button,
	ul.products li.product .add_to_cart_button,
	ul.products li.product .ajax_add_to_cart {
		width: calc(100% - var(--mm-sp-8));
		margin: auto var(--mm-sp-4) var(--mm-sp-4);
		padding: var(--mm-sp-3);
		font-size: var(--mm-text-sm);
		min-height: 44px;
	}

	/* Single product: full-width add to cart */
	.single-product div.product form.cart .single_add_to_cart_button {
		min-width: 0;
		width: 100%;
	}

	/* My Account: compact on small phones */
	.mm-account-nav__icon {
		width: 28px;
		height: 28px;
	}

	.mm-account-nav__icon svg {
		width: 16px;
		height: 16px;
	}

	.mm-dashboard__welcome {
		flex-direction: column;
		text-align: center;
		padding: var(--mm-sp-5);
	}

	.mm-dashboard__stats {
		grid-template-columns: 1fr;
	}

	.mm-download-grid {
		grid-template-columns: 1fr;
	}

	.mm-stat-card {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
		padding: var(--mm-sp-4);
	}

	.mm-stat-card__icon {
		width: 40px;
		height: 40px;
	}

	.mm-auth__panel {
		padding: var(--mm-sp-5) var(--mm-sp-5) var(--mm-sp-3);
	}

	.mm-auth__header {
		padding: var(--mm-sp-6) var(--mm-sp-5) 0;
	}

	.mm-auth__trust {
		flex-direction: column;
		align-items: center;
		gap: var(--mm-sp-2);
	}

	/* Table: card layout for narrow screens */
	.woocommerce-MyAccount-content table.shop_table thead {
		display: none;
	}

	.woocommerce-MyAccount-content table.shop_table tbody tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--mm-sp-2);
		padding: var(--mm-sp-4);
		border-bottom: 1px solid var(--mm-gray-200);
	}

	.woocommerce-MyAccount-content table.shop_table tbody tr:last-child {
		border-bottom: none;
	}

	.woocommerce-MyAccount-content table.shop_table td {
		display: block;
		padding: 0;
		border-bottom: none;
	}

	.woocommerce-MyAccount-content table.shop_table td::before {
		content: attr(data-title);
		display: block;
		font-size: var(--mm-text-xs);
		font-weight: 600;
		color: var(--mm-gray-500);
		text-transform: uppercase;
		letter-spacing: 0.04em;
		margin-bottom: var(--mm-sp-1);
	}

	.woocommerce-MyAccount-content table.shop_table td.order-actions {
		grid-column: 1 / -1;
	}

	/* Checkout: tighter spacing */
	.woocommerce-checkout .form-row {
		margin-bottom: var(--mm-sp-3);
	}

	/* Place order: prominent touch target */
	#place_order {
		padding: var(--mm-sp-6);
		font-size: var(--mm-text-base);
	}
}

/* ==========================================================================
   Customer Reviews for WooCommerce (CusRev) Plugin Styling
   ========================================================================== */

/* ── Review summary / histogram ── */

#tab-reviews,
.woocommerce-Tabs-panel--reviews {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 253, 255, 1) 100%);
}

#reviews,
.woocommerce-Reviews {
	max-width: 100%;
}

#reviews h2,
#reviews .woocommerce-Reviews-title,
.woocommerce-Reviews .woocommerce-Reviews-title {
	font-size: clamp(1.7rem, 2.2vw, 2.3rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--mm-navy);
	margin-bottom: var(--mm-sp-6);
}

#reviews .cr-summaryBox-wrap,
.woocommerce-Reviews .cr-summaryBox-wrap {
	position: relative;
	display: grid;
	grid-template-columns: minmax(260px, 320px) minmax(320px, 540px);
	align-items: center;
	justify-content: center;
	justify-items: center;
	gap: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-8));
	padding: clamp(var(--mm-sp-6), 4vw, var(--mm-sp-8));
	margin-bottom: var(--mm-sp-6);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.14), transparent 28%),
		linear-gradient(135deg, rgba(0, 27, 73, 0.03) 0%, rgba(255, 255, 255, 1) 58%);
	box-shadow: var(--mm-shadow-sm);
	overflow: hidden;
}

#reviews .cr-summaryBox-wrap::before,
.woocommerce-Reviews .cr-summaryBox-wrap::before {
	content: "";
	position: absolute;
	inset: -72px auto auto -72px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 27, 73, 0.08), transparent 72%);
	pointer-events: none;
}

#reviews .cr-summaryBox-wrap::after,
.woocommerce-Reviews .cr-summaryBox-wrap::after {
	content: "";
	position: absolute;
	inset: auto -68px -68px auto;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 111, 0, 0.12), transparent 74%);
	pointer-events: none;
}

#reviews .cr-summaryBox-wrap > *,
.woocommerce-Reviews .cr-summaryBox-wrap > * {
	position: relative;
	z-index: 1;
	min-width: 0;
	width: 100%;
}

#reviews .cr-overall-rating-wrap,
.woocommerce-Reviews .cr-overall-rating-wrap {
	flex: 0 0 320px;
	position: relative;
	display: grid;
	place-items: center;
	text-align: center;
	gap: var(--mm-sp-2);
	padding: clamp(var(--mm-sp-5), 3vw, var(--mm-sp-6));
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background: rgba(255, 255, 255, 0.84);
	box-shadow: 0 18px 36px rgba(0, 27, 73, 0.06);
	width: min(100%, 320px);
	max-width: 320px;
	justify-self: center;
	align-self: center;
}

#reviews .cr-summary-separator,
#reviews .cr-summary-separator-side,
.woocommerce-Reviews .cr-summary-separator,
.woocommerce-Reviews .cr-summary-separator-side {
	flex: 0 0 1px;
	align-self: stretch;
	width: 1px;
	min-height: 100%;
	background: rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-full);
	display: none;
}

.cr-summary-separator-int {
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 27, 73, 0.04) 0%, rgba(255, 111, 0, 0.22) 50%, rgba(0, 27, 73, 0.04) 100%);
	border-radius: inherit;
}

#reviews .ivole-summaryBox,
.woocommerce-Reviews .ivole-summaryBox {
	flex: 1 1 380px;
	width: auto;
	max-width: none;
	margin: 0;
	padding: var(--mm-sp-2) 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	width: min(100%, 540px) !important;
	max-width: 540px !important;
	margin-inline: auto !important;
	justify-self: center;
	align-self: center;
}

#reviews .ivole-summaryBox > *,
.woocommerce-Reviews .ivole-summaryBox > * {
	width: 100%;
	max-width: none;
}

#reviews .cr-summaryBox-wrap .cr-credits-div,
#reviews .cr-summaryBox-wrap .cr-count-filtered-reviews,
#reviews .cr-summaryBox-wrap #cr-ajax-reviews-fil-sta,
#reviews .cr-summaryBox-wrap .cr-ajax-reviews-fil-sta,
.woocommerce-Reviews .cr-summaryBox-wrap .cr-credits-div,
.woocommerce-Reviews .cr-summaryBox-wrap .cr-count-filtered-reviews,
.woocommerce-Reviews .cr-summaryBox-wrap #cr-ajax-reviews-fil-sta,
.woocommerce-Reviews .cr-summaryBox-wrap .cr-ajax-reviews-fil-sta {
	flex: 0 0 100%;
	width: 100%;
	grid-column: 1 / -1;
}

#reviews .cr-summaryBox-wrap .cr-credits-div,
.woocommerce-Reviews .cr-summaryBox-wrap .cr-credits-div {
	margin-top: var(--mm-sp-2);
	font-size: var(--mm-text-xs);
	color: var(--mm-gray-500);
	text-align: right;
}

.cr-average-rating {
	font-size: clamp(3rem, 4vw, 4.5rem);
	font-weight: 800;
	color: var(--mm-navy);
	line-height: 0.95;
	letter-spacing: -0.04em;
}

.cr-total-rating-count {
	font-size: var(--mm-text-base);
	color: var(--mm-gray-600);
	line-height: 1.7;
}

.ivole-summaryBox .crstar-rating-svg,
.ivole-summaryBox .cr-star-rating,
.cr-summaryBox-wrap .crstar-rating-svg,
.cr-summaryBox-wrap .cr-star-rating {
	margin-inline: auto;
}

/* Star rating SVG icons - align stars with theme palette */
.crstar-rating-svg .cr-rating-icon-frnt,
.cr-star-rating .cr-rating-icon-frnt {
	fill: var(--mm-orange);
}

.crstar-rating-svg .cr-rating-icon-bg,
.cr-star-rating .cr-rating-icon-bg {
	fill: rgba(0, 27, 73, 0.14);
}

/* Histogram bars */
.ivole-histogramRow {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) 52px;
	align-items: center;
	gap: var(--mm-sp-3);
	margin: 0;
	padding: 0.55rem 0;
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-700);
}

.ivole-meter {
	position: relative;
	height: 12px;
	background: rgba(0, 27, 73, 0.1);
	border-radius: var(--mm-radius-full);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.ivole-meter-bar {
	height: 100%;
	background: linear-gradient(90deg, #FFBF1F 0%, var(--mm-orange) 100%);
	border-radius: var(--mm-radius-full);
	transition: width var(--mm-duration-md) var(--mm-ease);
}

/* ── Search reviews input ── */

.cr-ajax-search {
	position: relative;
	margin-bottom: var(--mm-sp-4);
}

.cr-ajax-search .cr-input-text,
.cr-ajax-search input[type="text"] {
	width: 100%;
	min-height: 58px;
	padding: 0.9rem 1rem 0.9rem 3.2rem;
	font-size: 1rem;
	border: 1.5px solid rgba(0, 27, 73, 0.14);
	border-radius: var(--mm-radius-xl);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(249, 251, 254, 1) 100%);
	box-shadow: var(--mm-shadow-sm);
	transition: border-color var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease),
	            transform var(--mm-duration) var(--mm-ease);
}

.cr-ajax-search .cr-input-text::placeholder,
.cr-ajax-search input[type="text"]::placeholder {
	color: var(--mm-gray-400);
}

.cr-ajax-search .cr-input-text:focus,
.cr-ajax-search input[type="text"]:focus {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 4px rgba(0, 27, 73, 0.08);
	outline: none;
}

.cr-ajax-search-icon {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--mm-gray-500);
}

.cr-clear-input {
	position: absolute;
	right: 0.85rem;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	transform: translateY(-50%);
	color: var(--mm-gray-400);
	cursor: pointer;
	background: rgba(0, 27, 73, 0.05);
	border: none;
	border-radius: var(--mm-radius-full);
	padding: 0;
	transition: background var(--mm-duration) var(--mm-ease),
	            color var(--mm-duration) var(--mm-ease);
}

.cr-clear-input:hover {
	color: var(--mm-navy);
	background: rgba(0, 27, 73, 0.1);
}

/* ── Reviews count row & sort ── */

.cr-count-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--mm-sp-4);
	padding: var(--mm-sp-4) var(--mm-sp-5);
	margin-bottom: var(--mm-sp-5);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(249, 251, 254, 1) 100%);
	box-shadow: var(--mm-shadow-sm);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	color: var(--mm-gray-600);
}

.cr-ajax-reviews-sort-div {
	display: flex;
	align-items: center;
	gap: var(--mm-sp-2);
	margin-left: auto;
}

.cr-ajax-reviews-sort {
	min-height: 44px;
	padding: 0.65rem 1rem;
	border: 1px solid rgba(0, 27, 73, 0.14);
	border-radius: var(--mm-radius-full);
	background: var(--mm-white);
	color: var(--mm-gray-700);
	font-size: var(--mm-text-sm);
	font-weight: 600;
	cursor: pointer;
	box-shadow: var(--mm-shadow-sm);
}

.cr-ajax-reviews-sort:focus {
	outline: none;
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 3px rgba(0, 27, 73, 0.08);
}

/* ── Individual review cards ── */

#reviews .commentlist,
.cr-all-reviews-shortcode ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

#reviews .commentlist li.comment,
#reviews .commentlist li.review,
.cr-all-reviews-shortcode ol li.comment {
	padding: clamp(var(--mm-sp-5), 4vw, var(--mm-sp-6));
	margin-bottom: var(--mm-sp-5);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 254, 1) 100%);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	box-shadow: var(--mm-shadow-sm);
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease),
	            border-color var(--mm-duration) var(--mm-ease);
}

#reviews .commentlist li.comment:hover,
#reviews .commentlist li.review:hover,
.cr-all-reviews-shortcode ol li.comment:hover {
	transform: translateY(-2px);
	border-color: rgba(0, 27, 73, 0.14);
	box-shadow: var(--mm-shadow-md);
}

/* Review card layout */
.comment_container {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	column-gap: var(--mm-sp-4);
	row-gap: var(--mm-sp-2);
	align-items: start;
}

.comment_container > img,
.comment_container > .avatar,
.comment_container > .cr-avatar,
.comment_container > .cr-std-avatar {
	grid-column: 1;
	grid-row: 1 / span 20;
	align-self: start;
}

.comment_container > :not(img):not(.avatar):not(.cr-avatar):not(.cr-std-avatar) {
	grid-column: 2;
	min-width: 0;
	max-width: none;
}

.comment_container .comment-text,
.comment_container .cr-comment-text,
.comment_container .description {
	min-width: 0;
	max-width: none;
	width: 100%;
	word-break: normal;
}

/* Reset WooCommerce's legacy inner review box so the themed outer card controls spacing */
#reviews #comments ol.commentlist li .comment_container .comment-text,
#reviews #comments ol.commentlist li .comment_container .cr-comment-text,
#reviews .commentlist li .comment_container .comment-text,
#reviews .commentlist li .comment_container .cr-comment-text,
.cr-all-reviews-shortcode ol li.comment .comment_container .comment-text,
.cr-all-reviews-shortcode ol li.comment .comment_container .cr-comment-text {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible;
}

#reviews #comments ol.commentlist li .comment_container .comment-text .description,
#reviews .commentlist li .comment_container .comment-text .description,
.cr-all-reviews-shortcode ol li.comment .comment_container .comment-text .description {
	margin: 0;
}

/* Avatar */
.cr-avatar,
.cr-std-avatar,
.comment_container > img,
.comment_container > .avatar {
	width: 56px;
	height: 56px;
	border: 2px solid rgba(255, 255, 255, 0.96);
	border-radius: var(--mm-radius-full);
	object-fit: cover;
	flex-shrink: 0;
	background: linear-gradient(180deg, rgba(0, 27, 73, 0.08) 0%, rgba(0, 27, 73, 0.04) 100%);
	box-shadow: var(--mm-shadow-sm);
}

.cr-meta-author-featured-date,
.comment_container .meta {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.35rem 0.75rem;
	margin: 0 0 var(--mm-sp-3);
}

/* Author & meta */
.woocommerce-review__author,
.cr-meta-author-featured-date strong,
.comment_container .meta strong {
	font-size: clamp(1.05rem, 1vw, 1.2rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--mm-gray-900);
}

.woocommerce-review__published-date,
.cr-meta-author-featured-date .meta time,
.comment_container time,
.comment_container .meta time {
	margin-left: auto;
	font-size: var(--mm-text-sm);
	font-weight: 500;
	color: var(--mm-gray-400);
}

/* Verified owner badge */
.ivole-verified-badge,
.woocommerce-review__verified,
.cr-avatar-check {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.28rem 0.7rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mm-success);
	background: rgba(5, 150, 105, 0.12);
	border: 1px solid rgba(5, 150, 105, 0.2);
	border-radius: var(--mm-radius-full);
}

/* "Reviewer" label (non-verified) */
.comment_container .meta em {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.7rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mm-gray-500);
	background: rgba(0, 27, 73, 0.05);
	border-radius: var(--mm-radius-full);
	font-style: normal;
}

/* Review text */
.cr-comment-text,
.comment-text .description {
	margin-top: 0;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--mm-gray-700);
	max-width: none;
}

.cr-comment-text p,
.comment-text .description p {
	margin-bottom: var(--mm-sp-3);
}

.cr-comment-text p:last-child,
.comment-text .description p:last-child {
	margin-bottom: 0;
}

/* Star rating in individual reviews */
.comment_container .star-rating,
.comment_container .crstar-rating-svg {
	margin-bottom: var(--mm-sp-3);
}

/* ── Review grid layout (shortcode) ── */

.cr-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--mm-sp-5);
}

.cr-reviews-grid .cr-review-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 254, 1) 100%);
	border: 1px solid rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-xl);
	padding: var(--mm-sp-6);
	box-shadow: var(--mm-shadow-sm);
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

.cr-reviews-grid .cr-review-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--mm-shadow-md);
}

/* ── Load more / pagination ── */

.cr-show-more-button,
.cr-show-more-reviews-prd {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mm-sp-2);
	margin: var(--mm-sp-6) 0 0;
	padding: 0.95rem 1.5rem;
	font-size: var(--mm-text-sm);
	font-weight: 700;
	background: linear-gradient(135deg, var(--mm-navy) 0%, var(--mm-navy-light) 100%);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius-full);
	box-shadow: var(--mm-shadow);
	cursor: pointer;
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease),
	            background var(--mm-duration) var(--mm-ease);
}

#reviews .cr-show-more-button,
#reviews .cr-show-more-reviews-prd,
.cr-all-reviews-shortcode .cr-show-more-button,
.cr-all-reviews-shortcode .cr-show-more-reviews-prd {
	min-height: 52px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	appearance: none;
}

#reviews .cr-show-more-button,
#reviews .cr-show-more-button:visited,
#reviews .cr-show-more-reviews-prd,
#reviews .cr-show-more-reviews-prd:visited,
.cr-all-reviews-shortcode .cr-show-more-button,
.cr-all-reviews-shortcode .cr-show-more-button:visited,
.cr-all-reviews-shortcode .cr-show-more-reviews-prd,
.cr-all-reviews-shortcode .cr-show-more-reviews-prd:visited,
#reviews .cr-show-more-button *,
#reviews .cr-show-more-reviews-prd *,
.cr-all-reviews-shortcode .cr-show-more-button *,
.cr-all-reviews-shortcode .cr-show-more-reviews-prd * {
	color: var(--mm-white) !important;
}

.cr-show-more-button:hover,
.cr-show-more-reviews-prd:hover {
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-md);
}

/* ── Trust badge (floating & inline) ── */

.cr-badge,
.cr-badge.badge_size_compact {
	border-color: rgba(0, 27, 73, 0.08);
	border-radius: var(--mm-radius-lg);
	font-family: var(--mm-font-sans);
	box-shadow: var(--mm-shadow-sm);
}

.cr-badge .badge__rating {
	color: var(--mm-navy);
	font-weight: 700;
}

.cr-badge .badge__reviews {
	color: var(--mm-gray-500);
	font-size: var(--mm-text-xs);
}

/* Floating badge */
#cr_floatingtrustbadge {
	z-index: 999;
}

.cr-floatingbadge-background {
	border-radius: var(--mm-radius-lg);
	box-shadow: var(--mm-shadow-lg);
}

/* ── Review form ── */

#review_form_wrapper,
.cr-review-form-wrap {
	margin-top: var(--mm-sp-8);
}

.cr-review-form-wrap .comment-form {
	padding: clamp(var(--mm-sp-6), 4vw, var(--mm-sp-8));
	background:
		radial-gradient(circle at top right, rgba(255, 111, 0, 0.12), transparent 30%),
		linear-gradient(180deg, rgba(249, 251, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
	border-radius: var(--mm-radius-xl);
	border: 1px solid rgba(0, 27, 73, 0.08);
	box-shadow: var(--mm-shadow-sm);
}

.cr-review-form-wrap .comment-form label {
	display: inline-block;
	margin-bottom: var(--mm-sp-2);
	font-size: var(--mm-text-sm);
	font-weight: 700;
	color: var(--mm-gray-700);
}

.cr-review-form-wrap .comment-form input,
.cr-review-form-wrap .comment-form textarea {
	width: 100%;
	padding: var(--mm-sp-3) var(--mm-sp-4);
	border: 1.5px solid rgba(0, 27, 73, 0.14);
	border-radius: var(--mm-radius-lg);
	font-size: var(--mm-text-sm);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: var(--mm-shadow-sm);
}

.cr-review-form-wrap .comment-form textarea {
	min-height: 160px;
	resize: vertical;
}

.cr-review-form-wrap .comment-form input:focus,
.cr-review-form-wrap .comment-form textarea:focus {
	border-color: var(--mm-navy);
	box-shadow: 0 0 0 4px rgba(0, 27, 73, 0.08);
	outline: none;
}

.cr-review-form-wrap .comment-form .submit {
	min-height: 48px;
	padding: 0.85rem 1.5rem;
	background: linear-gradient(135deg, var(--mm-orange) 0%, var(--mm-orange-hover) 100%);
	color: var(--mm-white);
	border: none;
	border-radius: var(--mm-radius-full);
	font-weight: 700;
	box-shadow: var(--mm-shadow);
	cursor: pointer;
	transition: transform var(--mm-duration) var(--mm-ease),
	            box-shadow var(--mm-duration) var(--mm-ease);
}

.cr-review-form-wrap .comment-form .submit:hover {
	transform: translateY(-1px);
	box-shadow: var(--mm-shadow-md);
}

/* ── Responsive ── */

@media (max-width: 900px) {
	#reviews .cr-summaryBox-wrap,
	.woocommerce-Reviews .cr-summaryBox-wrap {
		grid-template-columns: 1fr;
		justify-items: stretch;
	}

	#reviews .cr-overall-rating-wrap,
	#reviews .ivole-summaryBox,
	.woocommerce-Reviews .cr-overall-rating-wrap,
	.woocommerce-Reviews .ivole-summaryBox {
		flex-basis: auto;
		width: 100% !important;
		max-width: none !important;
	}

	#reviews .cr-summary-separator,
	#reviews .cr-summary-separator-side,
	.woocommerce-Reviews .cr-summary-separator,
	.woocommerce-Reviews .cr-summary-separator-side {
		display: none;
	}
}

@media (max-width: 600px) {
	.comment_container {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: var(--mm-sp-3);
	}

	.cr-avatar,
	.cr-std-avatar,
	.comment_container > img,
	.comment_container > .avatar {
		width: 48px;
		height: 48px;
	}

	.cr-summaryBox-wrap,
	#reviews .commentlist li.comment,
	#reviews .commentlist li.review,
	.cr-all-reviews-shortcode ol li.comment,
	.cr-review-form-wrap .comment-form {
		padding: var(--mm-sp-5);
	}

	.ivole-summaryBox {
		padding: var(--mm-sp-2) 0;
	}

	.ivole-histogramRow {
		grid-template-columns: 48px minmax(0, 1fr) 40px;
		gap: var(--mm-sp-2);
		font-size: var(--mm-text-xs);
	}

	.cr-reviews-grid {
		grid-template-columns: 1fr;
	}

	.cr-count-row {
		flex-direction: column;
		align-items: stretch;
	}

	.cr-ajax-reviews-sort-div {
		margin-left: 0;
	}

	.cr-ajax-reviews-sort {
		width: 100%;
	}

	.woocommerce-review__published-date,
	.cr-meta-author-featured-date .meta time,
	.comment_container time,
	.comment_container .meta time {
		margin-left: 0;
	}
}

/* ==========================================================================
   Cart Block — Accessibility & Reduced Motion
   ========================================================================== */


/* Ensure all interactive elements have visible focus */
.wc-block-cart a:focus-visible,
.wc-block-cart button:focus-visible,
.wc-block-cart input:focus-visible {
	outline: 2px solid var(--mm-navy);
	outline-offset: 2px;
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
	.wc-block-cart .wc-block-cart-items,
	.wc-block-cart .wc-block-cart-items tbody tr,
	.wc-block-cart .wc-block-cart-item__image img,
	.wc-block-cart .wc-block-cart-item__remove-link,
	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-cart .wc-block-cart__submit-button,
	.wc-block-cart .wc-block-cart__submit-button::after {
		transition: none;
		animation: none;
	}

	.wc-block-cart .wc-block-cart__submit-button:hover {
		transform: none;
	}

	.wc-block-cart .wc-block-cart__submit-button:hover::after {
		left: -100%;
	}

	.wc-block-cart .wc-block-cart-item__image img:hover {
		transform: none;
	}
}


/* ==========================================================================
   Cart Block — Print Styles
   ========================================================================== */

@media print {
	.wc-block-cart .wc-block-components-sidebar-layout {
		display: block;
	}

	.wc-block-cart .wc-block-cart-items {
		box-shadow: none;
		border: 1px solid #ccc;
	}

	.wc-block-cart .wc-block-cart-item__remove-link,
	.wc-block-cart .wc-block-components-quantity-selector,
	.wc-block-cart .wc-block-cart__submit-container,
	.wc-block-cart .wc-block-components-express-payment,
	.wc-block-cart .wc-block-components-totals-coupon,
	.wc-block-cart .mm-cart-trust,
	.wc-block-cart .mm-payment-logos {
		display: none;
	}

	.wc-block-cart .wc-block-components-sidebar {
		position: static;
		box-shadow: none;
		break-inside: avoid;
	}

	.wc-block-cart .wc-block-components-sidebar .wc-block-components-title {
		background: #001B49;
		color: #fff;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}
