/*
 * Magazinul Nației — woo.css: WooCommerce surfaces only (shop, categories, product,
 * cart, checkout, account) plus the front page, which renders [products] loops.
 * Enqueued after woocommerce-general / wc-blocks-style and after base.css
 * (handle 'mn-woo', functions.php).
 *
 * Tokens from theme.json; no !important. Selectors mirror Woo's own (same weight),
 * so ours win by order, not by piling on specificity.
 *
 * Sections
 *   A. buttons (classic + block)   B. product loop grid    C. loop card text + prices
 *   D. sale badge                  E. single product        F. notices + fee note
 *   G. responsive commerce controls
 */

/* =====================================================================
 * A. Buttons — olive / olive-deep / paper, same shape as theme.json's
 *    .wp-element-button. Woo paints a.button grey and .alt near-black.
 * ================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--wp--preset--color--mn-olive);
	border: 1px solid var(--wp--preset--color--mn-olive);
	border-radius: var(--wp--custom--radius--base);
	color: var(--wp--preset--color--mn-paper);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.2;
	padding: 0.95em 1.7em;
	text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.woocommerce input.button.alt:hover,
.woocommerce input.button.alt:focus,
.woocommerce #respond input#submit.alt:hover,
.woocommerce #respond input#submit.alt:focus {
	background-color: var(--wp--preset--color--mn-olive-deep);
	border-color: var(--wp--preset--color--mn-olive-deep);
	color: var(--wp--preset--color--mn-paper);
}
/* Disabled (variable product before a choice, out of stock): Woo resets colour and
   padding at this weight, so restate both. */
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled],
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled:hover,
.woocommerce a.button:disabled:hover,
.woocommerce a.button:disabled[disabled]:hover,
.woocommerce button.button.disabled:hover,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce input.button.disabled:hover,
.woocommerce input.button:disabled:hover,
.woocommerce input.button:disabled[disabled]:hover,
.woocommerce #respond input#submit.disabled:hover,
.woocommerce #respond input#submit:disabled:hover,
.woocommerce #respond input#submit:disabled[disabled]:hover {
	background-color: var(--wp--preset--color--mn-olive);
	border-color: var(--wp--preset--color--mn-olive);
	color: var(--wp--preset--color--mn-paper);
	padding: 0.95em 1.7em;
	opacity: 0.5;
}
/* Block cart / checkout buttons (wc-blocks paints them #32373c at this weight). */
.wc-block-components-button:not(.is-link) {
	background-color: var(--wp--preset--color--mn-olive);
	color: var(--wp--preset--color--mn-paper);
	border-radius: var(--wp--custom--radius--base);
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus {
	background-color: var(--wp--preset--color--mn-olive-deep);
	color: var(--wp--preset--color--mn-paper);
}

/* =====================================================================
 * B. Product loop grid (shop / category / homepage shortcodes).
 *    Woo ships a float layout that aligns unevenly; convert it to an even
 *    CSS grid. Wins by order (this file loads after Woo's CSS).
 * ================================================================== */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 2rem) clamp(0.9rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 768px) {
	.woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
/* Woo's clearfix pseudo-elements on the <ul> would become grid items (an empty
   first cell). Same weight as Woo's rule, later in the cascade. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none;
}
.woocommerce ul.products li.product {
	position: relative;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	display: flex;
	flex-direction: column;
	text-align: center;
}
/* Woo sizes cards as floats (22.05% desktop, 48% under 768px, 30.75% for
   columns-3) with [class*="columns-"] selectors that outweigh the rule above.
   Restate at that weight so the grid cell, not the float math, sets the width;
   floats and clears are inert inside a grid anyway. */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: auto;
	margin: 0;
	float: none;
	clear: none;
}
.woocommerce ul.products li.product::before {
	content: none;
}
.woocommerce ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--base);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin-top: auto;
	align-self: center;
}

/* =====================================================================
 * C. Loop card text + prices (mockup .pcard__name / .price).
 *    Price is information, not an action: ink, tabular figures; struck-out
 *    price muted; sale price text-grade honey.
 * ================================================================== */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	font-size: 1.22rem;
	line-height: 1.15;
	letter-spacing: -0.008em;
}
.woocommerce ul.products li.product .price {
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--mn-ink);
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}
.woocommerce ul.products li.product .price del {
	color: var(--wp--preset--color--mn-muted);
	font-weight: 450;
}
.woocommerce ul.products li.product .price ins {
	color: var(--wp--preset--color--mn-honey-deep);
	font-weight: inherit;
	text-decoration: none;
}

/* =====================================================================
 * D. Sale badge — honey surface, espresso text (4.84:1, AA). Honey is a
 *    graphic colour, never body text — the badge is exactly that use.
 *    Woo's default is a green circle; this is the mockup's small label.
 * ================================================================== */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	right: auto;
	z-index: 2;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.32em 0.65em;
	border-radius: var(--wp--custom--radius--base);
	background-color: var(--wp--preset--color--mn-honey);
	color: var(--wp--preset--color--mn-ink-deep);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* =====================================================================
 * E. Single product — price colours; the rest of the page is S5.
 * ================================================================== */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wp--preset--color--mn-ink);
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	color: var(--wp--preset--color--mn-honey-deep);
	font-weight: inherit;
	text-decoration: none;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--wp--preset--color--mn-muted);
	font-weight: 450;
}

/* =====================================================================
 * F. Notices + the delivery-fee note (inc/mn-woo-fees.php).
 *    Woo's notices are green / blue / red bars on grey; map them to the
 *    palette: success olive, info honey, error terracotta, on the tile field.
 * ================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background-color: var(--wp--preset--color--mn-tile);
	color: var(--wp--preset--color--mn-ink);
	border-top-width: 2px;
	border-radius: var(--wp--custom--radius--base);
}
.woocommerce-message {
	border-top-color: var(--wp--preset--color--mn-olive);
}
.woocommerce-message::before {
	color: var(--wp--preset--color--mn-olive);
}
.woocommerce-info {
	border-top-color: var(--wp--preset--color--mn-honey);
}
.woocommerce-info::before {
	color: var(--wp--preset--color--mn-honey-deep);
}
.woocommerce-error {
	border-top-color: var(--wp--preset--color--mn-terra);
}
.woocommerce-error::before {
	color: var(--wp--preset--color--mn-terra-deep);
}
.fee-description {
	display: inline;
	color: var(--wp--preset--color--mn-ink);
	font-size: 0.85em;
}

/* =====================================================================
 * G. Commerce containment, without clipping the page or the form.
 *    FlexSlider owns its deliberately wide strip. Contain only its viewport;
 *    thumbnails / the lightbox trigger remain outside that paint boundary.
 * ================================================================== */
.woocommerce div.product div.images {
	min-width: 0;
	max-width: 100%;
	contain: inline-size;
}
.woocommerce-product-gallery :where(.flex-viewport) {
	contain: layout paint;
}
.woocommerce div.product form.cart .variations {
	table-layout: fixed;
}
.woocommerce div.product form.cart .variations th {
	width: 30%;
	overflow-wrap: anywhere;
}
.woocommerce div.product form.cart .variations select {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin-right: 0;
	min-height: var(--wp--custom--target);
}
.woocommerce div.product form.cart .reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: var(--wp--custom--target);
}
.woocommerce div.product form.cart :where(.qty, .single_add_to_cart_button) {
	min-height: var(--wp--custom--target);
	max-width: 100%;
}
:where(.mn-perso, .mn-perso__side, .mn-perso__input) {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 768px) {
	.woocommerce div.product form.cart .variations :where(tbody, tr, th, td) {
		display: block;
		width: 100%;
		padding: 0;
	}
	.woocommerce div.product form.cart .variations th {
		width: 100%;
	}
	.woocommerce div.product form.cart .variations tr + tr {
		margin-top: var(--wp--preset--spacing--30);
	}
	/* Cart block CSS can load after this sheet: use its weight plus cart scope.
	   Minimum sizes leave Woo's icon, accessible name and event handlers intact. */
	.wc-block-cart .wc-block-components-quantity-selector {
		width: max-content;
	}
	.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
	.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
		min-width: var(--wp--custom--target);
		min-height: var(--wp--custom--target);
	}
	.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
		width: var(--wp--custom--target);
		padding-inline: 0;
	}
	.wc-block-cart .wc-block-cart-item__remove-link,
	.woocommerce-cart a.remove {
		min-width: var(--wp--custom--target);
		min-height: var(--wp--custom--target);
	}
	.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible,
	.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus-visible {
		outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--mn-olive);
		outline-offset: var(--wp--custom--focus--offset);
	}
}

/* H. S4 archives only. Homepage and single/related-product presentation stay scoped out. */
.mn-catalog #page { max-width: var(--wp--custom--container); }
.mn-catalog .site-main { margin: 0; padding-block: 0 var(--wp--preset--spacing--80); }
.mn-catalog .inside-article { padding: 0; }
.mn-catalog .site-content { padding: var(--wp--preset--spacing--60) var(--wp--custom--gutter) 0; }
.mn-catalog .woocommerce-products-header { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.mn-catalog .woocommerce-products-header h1 { margin: 0 0 var(--wp--preset--spacing--40); overflow-wrap: anywhere; }
.mn-catalog-intro { max-width: 58ch; margin: 0; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--mn-muted); }
.mn-departments { display: flex; align-items: center; flex-wrap: wrap; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50); border-block: 1px solid var(--wp--preset--color--mn-line); padding-block: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--60); }
.mn-departments__label { font-size: var(--wp--preset--font-size--xx-small); font-weight: 650; text-transform: uppercase; letter-spacing: .14em; color: var(--wp--preset--color--mn-terra-deep); }
.mn-departments ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); list-style: none; margin: 0; padding: 0; }
.mn-departments a { display: inline-flex; align-items: center; min-height: var(--wp--custom--target); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); box-sizing: border-box; border-radius: var(--wp--custom--radius--base); color: var(--wp--preset--color--mn-ink); text-decoration: none; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.mn-departments a:hover { background: var(--wp--preset--color--mn-tile); text-decoration: underline; }
.mn-departments a[aria-current] { background: var(--wp--preset--color--mn-olive); color: var(--wp--preset--color--mn-paper); }
.mn-subdepartments { margin: calc(-1 * var(--wp--preset--spacing--40)) 0 var(--wp--preset--spacing--50); }
.mn-subdepartments ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 0 var(--wp--preset--spacing--40); }
.mn-subdepartments a { display: inline-flex; align-items: center; min-height: var(--wp--custom--target); font-size: var(--wp--preset--font-size--small); }
.mn-catalog-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); margin-bottom: var(--wp--preset--spacing--50); }
.mn-catalog .woocommerce-result-count, .mn-catalog .woocommerce-ordering { float: none; margin: 0; }
.mn-catalog .woocommerce-result-count { font-size: var(--wp--preset--font-size--small); }
.mn-catalog .woocommerce-ordering { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); max-width: 100%; }
.mn-catalog .woocommerce-ordering label { font-size: var(--wp--preset--font-size--small); }
.mn-catalog .woocommerce-ordering select { min-width: 0; max-width: 100%; min-height: var(--wp--custom--target); background: var(--wp--preset--color--mn-paper); font-size: var(--wp--preset--font-size--small); }
.mn-catalog .woocommerce-ordering:has(noscript button) { flex-wrap: wrap; }
.mn-catalog.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.mn-catalog.woocommerce ul.products li.product { min-width: 0; text-align: left; }
.mn-catalog.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; min-width: 0; text-decoration: none; color: var(--wp--preset--color--mn-ink); }
.mn-catalog-card__media { display: block; flex: none; position: relative; aspect-ratio: 1; background: var(--wp--preset--color--mn-tile); border-radius: var(--wp--custom--radius--base); }
.mn-catalog.woocommerce ul.products li.product .mn-catalog-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; box-sizing: border-box; object-fit: contain; object-position: center; padding: var(--wp--preset--spacing--30); mix-blend-mode: multiply; }
.mn-catalog.woocommerce ul.products li.product .mn-catalog-card__media--photo img { padding: 0; object-fit: cover; mix-blend-mode: normal; }
.mn-catalog-card__placeholder { display: grid; position: absolute; inset: 0; place-content: center; padding: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); text-align: center; }
.mn-catalog-card__tag { position: absolute; z-index: 1; top: var(--wp--preset--spacing--20); left: var(--wp--preset--spacing--20); right: auto; max-width: calc(100% - var(--wp--preset--spacing--40)); padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); background: var(--wp--preset--color--mn-paper); color: var(--wp--preset--color--mn-ink); border-radius: var(--wp--custom--radius--base); font-size: var(--wp--preset--font-size--x-small); line-height: 1.4; font-weight: 650; }
.mn-catalog-card__tag--sale { background: var(--wp--preset--color--mn-honey); color: var(--wp--preset--color--mn-ink-deep); }
.mn-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--wp--preset--font-size--large); line-height: 1.25; margin: var(--wp--preset--spacing--30) 0 0; padding: 0; overflow-wrap: anywhere; text-wrap: pretty; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mn-catalog.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { text-decoration: underline; }
.mn-catalog-card__spec { font-size: var(--wp--preset--font-size--small); line-height: 1.5; color: var(--wp--preset--color--mn-muted); margin: var(--wp--preset--spacing--20) 0 0; }
.mn-catalog.woocommerce ul.products li.product .star-rating { margin: var(--wp--preset--spacing--20) 0 0; }
.mn-catalog.woocommerce ul.products li.product .price { font-size: var(--wp--preset--font-size--medium); margin: auto 0 0; padding-top: var(--wp--preset--spacing--30); }
.mn-catalog.woocommerce ul.products li.product .price del { opacity: 1; }
.mn-catalog-card__stock { margin: var(--wp--preset--spacing--10) 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); line-height: 1.4; color: var(--wp--preset--color--mn-olive-deep); }
.mn-catalog-card__stock--out { color: var(--wp--preset--color--mn-terra-deep); font-weight: 650; }
.mn-catalog.woocommerce ul.products li.product .button { display: flex; align-items: center; justify-content: center; align-self: stretch; box-sizing: border-box; margin: 0; min-height: calc(var(--wp--custom--target) + var(--wp--preset--spacing--20)); padding: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); text-align: center; }
.mn-catalog.woocommerce ul.products li.product.outofstock .button { background: transparent; color: var(--wp--preset--color--mn-olive-deep); }
.mn-catalog.woocommerce ul.products li.product.outofstock .button:hover { background: var(--wp--preset--color--mn-tile); }
.mn-catalog.woocommerce ul.products li.product .added_to_cart { display: inline-flex; align-items: center; justify-content: center; min-height: var(--wp--custom--target); margin: var(--wp--preset--spacing--10) 0 0; font-size: var(--wp--preset--font-size--small); }
.mn-catalog.woocommerce a.button.loading { opacity: 1; padding-right: var(--wp--preset--spacing--60); }
.mn-catalog-feedback:empty { display: none; }
.mn-catalog-feedback:not(:empty) { margin-bottom: var(--wp--preset--spacing--50); padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--mn-tile); border-left: var(--wp--custom--focus--width) solid var(--wp--preset--color--mn-olive); }
.mn-catalog-feedback--error:not(:empty) { border-color: var(--wp--preset--color--mn-terra-deep); }
.mn-catalog-feedback a { display: inline-flex; align-items: center; min-height: var(--wp--custom--target); }
.mn-catalog.woocommerce nav.woocommerce-pagination { margin-top: var(--wp--preset--spacing--70); }
.mn-catalog.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); border: 0; margin: 0; }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li { border: 0; float: none; overflow: visible; }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li :where(a, span.page-numbers) { display: flex; align-items: center; justify-content: center; min-width: var(--wp--custom--target); min-height: var(--wp--custom--target); padding: var(--wp--preset--spacing--20); box-sizing: border-box; color: var(--wp--preset--color--mn-ink); border: 1px solid var(--wp--preset--color--mn-line-strong); font-size: var(--wp--preset--font-size--medium); }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--wp--preset--color--mn-olive); color: var(--wp--preset--color--mn-paper); border-color: var(--wp--preset--color--mn-olive); }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--wp--preset--color--mn-tile); }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li a:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--mn-olive); outline-offset: var(--wp--custom--focus--offset); }
.mn-catalog.woocommerce nav.woocommerce-pagination ul li span.dots { min-width: 0; border-color: transparent; }
.mn-catalog-empty { max-width: var(--wp--custom--measure--prose); padding: var(--wp--preset--spacing--60); background: var(--wp--preset--color--mn-tile); }
.mn-catalog-empty h2 { font-size: var(--wp--preset--font-size--xx-large); }
.mn-catalog-empty .woocommerce-product-search { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); margin-top: var(--wp--preset--spacing--60); }
.mn-catalog-empty input.search-field { flex: 1; min-width: 0; width: 100%; min-height: var(--wp--custom--target); }
.mn-catalog-empty .woocommerce-product-search button { color: var(--wp--preset--color--mn-paper); min-height: var(--wp--custom--target); }
.mn-catalog-empty .button { display: inline-flex; min-height: var(--wp--custom--target); align-items: center; box-sizing: border-box; }
.mn-catalog-details { border-top: 1px solid var(--wp--preset--color--mn-line); margin-top: var(--wp--preset--spacing--80); padding-top: var(--wp--preset--spacing--70); max-width: var(--wp--custom--measure--prose); }
.mn-catalog-details h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: var(--wp--preset--spacing--60); }
.mn-catalog-details h3 { font-size: var(--wp--preset--font-size--large); margin-top: var(--wp--preset--spacing--50); }
@media (min-width: 700px) { .mn-catalog.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); } }
@media (min-width: 1100px) { .mn-catalog.woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 599px) {
	.mn-catalog .woocommerce-products-header { margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
	.mn-departments { display: block; margin-bottom: var(--wp--preset--spacing--50); }
	.mn-departments__label { display: block; margin-bottom: var(--wp--preset--spacing--10); }
	.mn-departments a { padding-inline: var(--wp--preset--spacing--20); }
	.mn-catalog-toolbar { align-items: stretch; flex-direction: column; }
	.mn-catalog .woocommerce-ordering select { flex: 1; }
	.mn-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--wp--preset--font-size--medium); }
	.mn-catalog.woocommerce ul.products li.product .price { font-size: var(--wp--preset--font-size--small); }
	.mn-catalog-empty { padding: var(--wp--preset--spacing--50); }
}
@media (max-width: 359px) {
	.mn-catalog .site-content { padding-inline: var(--wp--preset--spacing--30); }
	.mn-catalog.woocommerce ul.products { column-gap: var(--wp--preset--spacing--30); }
	.mn-catalog-card__tag { font-size: var(--wp--preset--font-size--xx-small); left: var(--wp--preset--spacing--10); top: var(--wp--preset--spacing--10); }
}
@media (prefers-reduced-motion: reduce) { .mn-catalog.woocommerce a.button.loading::after { animation: none; } }

/* I. Coffee editorial component, shared with its optional content shortcode. */
.mn-cat-desc { margin-top: var(--wp--preset--spacing--80); border-top: 1px solid var(--wp--preset--color--mn-line); color: var(--wp--preset--color--mn-ink); line-height: 1.7; }
.mn-cat-desc .mn-section { padding-block: var(--wp--preset--spacing--70); }
.mn-cat-desc .mn-row { display: flex; gap: var(--wp--preset--spacing--70); align-items: center; }
.mn-cat-desc .mn-row.mn-reverse { flex-direction: row-reverse; }
.mn-cat-desc .mn-col { flex: 1; min-width: 0; }
.mn-cat-desc p { margin: 0 0 var(--wp--preset--spacing--40); }
.mn-cat-desc h2 { font-size: var(--wp--preset--font-size--xx-large); }
.mn-cat-desc h3 { font-size: var(--wp--preset--font-size--x-large); margin-top: var(--wp--preset--spacing--50); }
.mn-cat-desc .mn-imgph { aspect-ratio: 4 / 3; position: relative; background: var(--wp--preset--color--mn-tile); }
.mn-cat-desc .mn-imgph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: var(--wp--custom--radius--base); }
.mn-cat-desc .mn-video-consent { position: relative; display: grid; place-items: center; width: 100%; min-width: 0; aspect-ratio: 16 / 9; min-height: 16rem; background: var(--wp--preset--color--mn-tile); border-radius: var(--wp--custom--radius--base); }
.mn-cat-desc .mn-video-consent iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mn-cat-desc .mn-video-consent__placeholder { position: relative; width: 100%; min-width: 0; box-sizing: border-box; max-width: var(--wp--custom--measure--lead); padding: var(--wp--preset--spacing--50); text-align: center; }
.mn-cat-desc .mn-video-consent__button { min-height: var(--wp--custom--target); max-width: 100%; white-space: normal; color: var(--wp--preset--color--mn-paper); }
.mn-cat-desc [hidden] { display: none; }
.mn-cat-desc details { background: var(--wp--preset--color--mn-tile); margin-block: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border: 1px solid var(--wp--preset--color--mn-line); }
.mn-cat-desc summary { cursor: pointer; min-height: var(--wp--custom--target); align-content: center; font-weight: 600; }
.mn-cat-desc details p { margin-top: var(--wp--preset--spacing--30); }
@media (max-width: 899px) {
	.mn-cat-desc .mn-row, .mn-cat-desc .mn-row.mn-reverse { flex-direction: column; gap: var(--wp--preset--spacing--50); }
	.mn-cat-desc .mn-col { width: 100%; }
	.mn-cat-desc .mn-section { padding-block: var(--wp--preset--spacing--60); }
}

/* Keep commerce typography and status meanings independent of brand accents. */
.mn-palette-natie-brand.woocommerce ul.products li.product .woocommerce-loop-product__title,
.mn-palette-natie-brand .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--identity--heading-weight);
	line-height: var(--wp--custom--identity--card-line-height);
	letter-spacing: var(--wp--custom--identity--ui-letter-spacing);
}
.mn-palette-natie-brand.woocommerce :is(a.button, button.button, input.button),
.mn-palette-natie-brand .woocommerce :is(a.button, button.button, input.button),
.mn-palette-natie-brand #respond input#submit,
.mn-palette-natie-brand .wc-block-components-button { letter-spacing: var(--wp--custom--identity--ui-letter-spacing); line-height: var(--wp--custom--identity--card-line-height); }
.mn-palette-natie-brand.woocommerce ul.products li.product .price,
.mn-palette-natie-brand .woocommerce ul.products li.product .price,
.mn-palette-natie-brand.woocommerce div.product :is(p.price, span.price) { font-weight: var(--wp--custom--identity--ui-weight); }
.mn-palette-natie-brand.woocommerce ul.products li.product .price del,
.mn-palette-natie-brand .woocommerce ul.products li.product .price del,
.mn-palette-natie-brand.woocommerce div.product :is(p.price, span.price) del { font-weight: var(--wp--custom--identity--medium-weight); }
.mn-palette-natie-brand :where(.mn-departments__label, .mn-catalog-card__tag, .woocommerce span.onsale) { letter-spacing: var(--wp--custom--identity--label-letter-spacing); }
.mn-palette-natie-brand .mn-departments__label { color: var(--wp--preset--color--mn-olive); }
.mn-palette-natie-brand .mn-catalog-card__stock { color: var(--wp--custom--identity--success); }
.mn-palette-natie-brand .mn-catalog-card__stock--warning { color: var(--wp--custom--identity--warning); }
.mn-palette-natie-brand .mn-catalog-card__stock--out { color: var(--wp--custom--identity--error); }
.mn-palette-natie-brand .woocommerce-message { border-top-color: var(--wp--custom--identity--success); }
.mn-palette-natie-brand .woocommerce-message::before { color: var(--wp--custom--identity--success); }
.mn-palette-natie-brand .woocommerce-info { border-top-color: var(--wp--custom--identity--info); }
.mn-palette-natie-brand .woocommerce-info::before { color: var(--wp--custom--identity--info); }
.mn-palette-natie-brand .woocommerce-error { border-top-color: var(--wp--custom--identity--error); }
.mn-palette-natie-brand .woocommerce-error::before { color: var(--wp--custom--identity--error); }
