/* ==========================================================================
   Más Ofertas · listado de productos
   ========================================================================== */

.mo-shop { padding-top: 18px; }

.mo-shop__head { margin-bottom: 16px; }
.mo-page__title { font-size: 24px; margin: 0 0 8px; }
.mo-shop__head .term-description { color: var(--mo-muted); font-size: 15px; max-width: 70ch; }

.mo-shop__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mo-gray-200);
}
.woocommerce-result-count { margin: 0; font-size: 13px; color: var(--mo-muted); }
.woocommerce-ordering select {
	min-height: 42px;
	padding: 8px 12px;
	border: 2px solid var(--mo-gray-200);
	border-radius: var(--mo-radius-sm);
	background: var(--mo-white);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
}

.mo-shop__filters { margin-bottom: 16px; }
.mo-shop__filters summary { list-style: none; cursor: pointer; width: fit-content; }
.mo-shop__filters summary::-webkit-details-marker { display: none; }
.mo-shop__filters-body {
	margin-top: 12px;
	padding: 16px;
	border: 1px solid var(--mo-gray-200);
	border-radius: var(--mo-radius);
}
.mo-shop__filters-body .widget { margin-bottom: 20px; }
.mo-shop__filters-body .widget:last-child { margin-bottom: 0; }
.widget-title { font-size: 15px; margin: 0 0 10px; }
.mo-shop__filters-body ul { list-style: none; }
.mo-shop__filters-body li { padding: 5px 0; font-size: 14px; }

/* Paginación */
.woocommerce-pagination ul, .mo-main .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	list-style: none;
	margin: 28px 0 0;
	border: 0;
}
.woocommerce-pagination li { border: 0; }
.woocommerce-pagination a, .woocommerce-pagination span,
.mo-main .nav-links a, .mo-main .nav-links span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--mo-gray-200);
	border-radius: var(--mo-radius-sm);
	font-weight: 600;
	font-size: 14px;
}
.woocommerce-pagination .current, .mo-main .nav-links .current {
	background: var(--mo-ink);
	color: var(--mo-white);
	border-color: var(--mo-ink);
}

/* Avisos de WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-radius: var(--mo-radius-sm);
	border-left: 4px solid var(--mo-ink);
	background: var(--mo-gray-50);
	list-style: none;
	font-size: 15px;
}
.woocommerce-message { border-left-color: var(--mo-green); }
.woocommerce-error { border-left-color: var(--mo-red); background: var(--mo-red-soft); }
.woocommerce-message .button, .woocommerce-info .button {
	float: right;
	font-weight: 600;
	color: var(--mo-red);
}

.mo-empty { text-align: center; padding: 40px 0; }
.mo-empty .mo-search { max-width: 420px; margin: 16px auto; }
.mo-empty__code { font-family: var(--mo-display); font-size: 64px; color: var(--mo-red); margin: 0; }

@media (min-width: 768px) {
	.mo-shop { padding-top: 28px; }
	.mo-page__title { font-size: 34px; }
	.mo-shop__filters summary { display: none; }
	.mo-shop__filters { margin-bottom: 0; }
	.mo-shop__filters-body { display: block !important; }
}

@media (min-width: 1100px) {
	.mo-shop__layout.has-sidebar {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 32px;
		align-items: start;
	}
}
