/*
 * AJAX filter additions.
 * Thanh danh mục ở trên giữ nguyên CSS hiện hữu của site.
 * Chỉ bổ sung thanh Lọc giá / Sắp xếp nằm RỜI phía dưới.
 */
.products-filter-controls{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	margin:18px 0;
	position:relative;
	z-index:12;
}
.products-filter-control{position:relative}
.products-filter-control-trigger,
.products-sort-select{
	height:46px;
	box-sizing:border-box;
	border:1px solid rgba(255,255,255,.18);
	background:#171717;
	color:#fff;
	font:inherit;
	border-radius:3px;
}
.products-filter-control-trigger{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-width:170px;
	padding:0 16px;
	cursor:pointer;
}
.products-filter-control-caret{
	width:8px;
	height:8px;
	border-right:1px solid currentColor;
	border-bottom:1px solid currentColor;
	transform:rotate(45deg) translateY(-2px);
	transition:transform .2s ease;
}
.products-price-control.is-open .products-filter-control-caret{transform:rotate(225deg) translate(-2px,-2px)}
.products-price-control.is-active .products-filter-control-trigger{border-color:#e8ad2f}
.products-price-panel{
	display:none;
	position:absolute;
	left:0;
	top:calc(100% + 8px);
	z-index:30;
	min-width:310px;
	padding:20px;
	box-sizing:border-box;
	background:#1d1d1d;
	color:#fff;
	border:1px solid rgba(255,255,255,.10);
	box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.products-price-control.is-open .products-price-panel{display:block}
.ajax-filter-options{display:grid;gap:12px;min-width:250px}
.ajax-filter-choice{display:flex;align-items:center;gap:10px;cursor:pointer;line-height:1.4}
.ajax-filter-choice input{margin:0;flex:0 0 auto}
.ajax-filter-note{margin-top:14px;font-size:12px;line-height:1.45;opacity:.72;max-width:320px}
.ajax-filter-reset{margin-top:14px;padding:7px 12px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:3px;cursor:pointer}
.ajax-filter-reset:disabled{opacity:.45;cursor:wait}
.products-sort-control{display:flex;align-items:center;gap:12px;margin-left:auto}
.products-sort-label{white-space:nowrap}
.products-sort-select{min-width:170px;padding:0 38px 0 14px;cursor:pointer}
.products-sort-control.is-active .products-sort-select{border-color:#e8ad2f}

.products-cat-frame{position:relative}
.products-cat.is-ajax-loading .products-cat-frame-inner{opacity:.45;pointer-events:none}
.products-cat.is-ajax-loading .products-cat-frame:after{
	content:"";
	position:absolute;
	left:50%;
	top:90px;
	width:28px;
	height:28px;
	margin-left:-14px;
	border:3px solid rgba(128,128,128,.35);
	border-top-color:currentColor;
	border-radius:50%;
	animation:productsAjaxSpin .7s linear infinite;
	z-index:3;
}
.products-ajax-status{min-height:0;font-size:13px;margin:0 0 8px}
.products-ajax-status:not(:empty){min-height:18px}
.products-cat-pagination [data-ajax-product-page].is-disabled{pointer-events:none;opacity:.55}
@keyframes productsAjaxSpin{to{transform:rotate(360deg)}}

@media(max-width:767px){
	.products-filter-controls{align-items:stretch;gap:10px;margin:14px 0}
	.products-price-control{flex:1 1 50%}
	.products-filter-control-trigger{width:100%;min-width:0;padding:0 12px;gap:8px}
	.products-sort-control{flex:1 1 50%;display:block;margin-left:0}
	.products-sort-label{display:none}
	.products-sort-select{width:100%;min-width:0;padding-left:12px}
	.products-price-panel{left:0;min-width:min(310px,calc(100vw - 30px));max-height:70vh;overflow:auto;padding:16px}
	.ajax-filter-options{min-width:0}
	.ajax-filter-choice{padding:3px 0}
}
