/* ==========================================================================
   SHOP FILTER SIDEBAR + ajax loading state — loaded only on
   is_shop() || is_product_category() || is_product_tag() || product search,
   alongside shop.css (which still owns .mm-prodg/.mm-pcard).
   ========================================================================== */

.mm-shop-layout { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: start; }

.mm-shop-filters {
	background: var(--mm-cream-3);
	border: 1.5px solid var(--mm-mg);
	border-radius: 12px;
	padding: 20px;
	position: sticky;
	top: calc(var(--mm-hh) + 16px);
}

.mm-filter-group { margin-bottom: 22px; }
.mm-filter-group:last-of-type { margin-bottom: 16px; }

.mm-filter-h {
	font-family: var(--mm-fh);
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: var(--mm-t);
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--mm-mg);
}

.mm-filter-price { display: flex; align-items: center; gap: 6px; }
.mm-filter-price input[type="number"] {
	width: 0;
	flex: 1;
	padding: 7px 8px;
	border: 1.5px solid var(--mm-mg);
	border-radius: 6px;
	font-family: var(--mm-fb);
	font-size: 12.5px;
	color: var(--mm-t);
}
.mm-filter-price-apply { padding: 7px 12px; font-size: 12px; }

.mm-filter-checklist { display: flex; flex-direction: column; gap: 9px; max-height: 220px; overflow-y: auto; }

.mm-filter-check {
	display: flex;
	align-items: baseline;
	gap: 7px;
	font-family: var(--mm-fb);
	font-size: 13px;
	color: var(--mm-t);
	cursor: pointer;
}
.mm-filter-check input { accent-color: var(--mm-r); cursor: pointer; }
.mm-filter-count { color: var(--mm-tm); font-size: 11.5px; }

.mm-filter-clear {
	width: 100%;
	background: none;
	border: 1.5px solid var(--mm-mg);
	border-radius: 8px;
	padding: 9px;
	font-family: var(--mm-fb);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--mm-tm);
	cursor: pointer;
	transition: all .15s;
}
.mm-filter-clear:hover { border-color: var(--mm-r); color: var(--mm-r); }

.mm-shop-main { min-width: 0; }

.mm-shop-layout.is-loading .mm-shop-main { opacity: .5; pointer-events: none; transition: opacity .15s; }

.mm-shop-pagination nav.woocommerce-pagination { margin-top: 28px; }

@media (max-width: 900px) {
	.mm-shop-layout { grid-template-columns: 1fr; }
	.mm-shop-filters { position: static; }
	.mm-filter-checklist { max-height: none; }
}
