/* =====================================================================
   PAGE: DANH SÁCH SẢN PHẨM — chỉ tải ở shop / danh mục / tag / tìm sản phẩm
   (functions.php → gv_is_product_archive). Markup: inc/archive-product.php
   Gồm: tiêu đề + breadcrumb, sidebar "Bộ lọc tìm kiếm", thanh sắp xếp.
   Thẻ sản phẩm nằm ở components/product-card.css (không viết lại ở đây).
   ===================================================================== */

/* ---- Tiêu đề trang ---- */
.shop-page-title { padding: 6px 0 10px; }
.shop-page-title .page-title-inner { padding: 0; }
.shop-page-title .breadcrumbs { font-size: 13px; color: var(--gv-muted); text-transform: none; }
.shop-page-title .woocommerce-breadcrumb a { color: var(--gv-text-2); }
.shop-page-title .category-page-title, .shop-page-title h1 { margin: 6px 0 0; font-size: 26px; font-weight: 700; color: var(--gv-text); text-transform: uppercase; }

/* ---- Thanh sắp xếp ---- */



/* ---- Sidebar bộ lọc ---- */
#shop-sidebar { padding: 14px 16px; background: var(--gv-white); border: 1px solid var(--gv-border); border-radius: 12px; }
#shop-sidebar:before { content: 'Bộ lọc tìm kiếm'; display: block; margin-bottom: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--gv-border); font-size: 16px; font-weight: 700; color: var(--gv-text); }
#shop-sidebar .widget { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--gv-border-soft); }
#shop-sidebar .widget:last-child { border-bottom: 0; }
#shop-sidebar .widget-title { position: relative; display: block; margin: 0 0 8px; padding-right: 22px; font-size: 14px; font-weight: 600; text-transform: none; color: var(--gv-text); cursor: pointer; }
#shop-sidebar .widget-title:after { content: 'expand_less'; position: absolute; right: 0; top: -1px; font-family: var(--gv-font-icon); font-size: 20px; font-weight: 400; color: var(--gv-muted); font-feature-settings: 'liga'; }
#shop-sidebar .is-divider { display: none; }
#shop-sidebar .widget.is-collapsed .widget-title:after { content: 'expand_more'; }
#shop-sidebar .widget.is-collapsed > *:not(.widget-title):not(.is-divider) { display: none; }

/* Danh sách thuộc tính: ô tick */
.woocommerce-widget-layered-nav-list { margin: 0; padding: 0; list-style: none; }
.woocommerce-widget-layered-nav-list li { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; border: 0; font-size: 14px; }
.woocommerce-widget-layered-nav-list li a { display: flex; align-items: center; gap: 8px; flex: 1; padding: 5px 0; color: var(--gv-text-2); }
.woocommerce-widget-layered-nav-list li a:before { content: ''; flex: none; width: 16px; height: 16px; border: 1.5px solid var(--gv-border-3); border-radius: 4px; background: var(--gv-white); }
.woocommerce-widget-layered-nav-list li.chosen a { color: var(--gv-accent); font-weight: 600; }
.woocommerce-widget-layered-nav-list li.chosen a:before { border-color: var(--gv-primary); background: var(--gv-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E") center/12px no-repeat; }
.woocommerce-widget-layered-nav-list li a:hover { color: var(--gv-accent); }
.woocommerce-widget-layered-nav-list li .count { color: var(--gv-muted-2); font-size: 12px; }

/* Đang lọc (bộ lọc đã chọn) */
.widget_layered_nav_filters ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.widget_layered_nav_filters ul li { margin: 0; }
.widget_layered_nav_filters ul li a { display: inline-block; padding: 3px 10px; border-radius: 99px; background: var(--gv-primary-soft); color: var(--gv-accent); font-size: 12px; font-weight: 500; }
.widget_layered_nav_filters ul li a:before { content: '×'; margin-right: 4px; }

/* Lọc giá */
.widget_price_filter .price_slider_wrapper { padding-top: 6px; }
.widget_price_filter .ui-slider { background: var(--gv-border-2); height: 4px; border-radius: 4px; margin: 8px 6px 18px; position: relative; }
.widget_price_filter .ui-slider .ui-slider-range { background: var(--gv-primary); }
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--gv-white); border: 2px solid var(--gv-primary); width: 16px; height: 16px; top: -6px; margin-left: -8px; border-radius: 50%; box-shadow: none; }
.widget_price_filter .price_slider_amount { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--gv-text-2); }
#shop-sidebar .widget_price_filter .price_slider_amount .button { margin: 0; padding: 0 14px; min-height: 32px; line-height: 32px; border-radius: 8px; background: var(--gv-primary) !important; color: var(--gv-white); font-size: 13px; text-transform: none; }

/* ---- Mobile / tablet ---- */
@media (max-width: 849px) {
	.shop-page-title h1, .shop-page-title .category-page-title { font-size: 20px; }
}

/* ---- Trang Cửa hàng: banner, phân trang, trạng thái trống ---- */
.gv-shop-banner { margin-bottom: 0; }
.gv-shop-banner img { display: block; width: 100%; object-fit: cover; border-radius: 12px; }

.woocommerce-pagination { margin-top: 20px; }
.woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; list-style: none; }
.woocommerce-pagination ul.page-numbers li { margin: 0; border: 0; }
.woocommerce-pagination ul.page-numbers a, .woocommerce-pagination ul.page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 8px; border: 1px solid var(--gv-border-2); border-radius: 8px; background: var(--gv-white); color: var(--gv-text-2); font-size: 14px; font-weight: 500; }
.woocommerce-pagination ul.page-numbers a:hover { border-color: var(--gv-primary); color: var(--gv-accent); background: var(--gv-white); }
.woocommerce-pagination ul.page-numbers span.current { border-color: var(--gv-primary); background: var(--gv-primary); color: var(--gv-white); }

.gv-empty { padding: 48px 16px; text-align: center; background: var(--gv-white); border: 1px solid var(--gv-border); border-radius: 12px; }
.gv-empty .gv-ico { font-size: 44px; color: var(--gv-border-3); }
.gv-empty p { margin: 8px 0 12px; color: var(--gv-text-3); }
.gv-empty a { display: inline-block; padding: 6px 16px; border-radius: 99px; background: var(--gv-primary); color: var(--gv-white); font-size: 13px; font-weight: 600; }

/* ---- Thanh sắp xếp (căn phải) ---- */
.gv-toolbar { display: flex; align-items: flex-start; justify-content: flex-end; gap: 12px 20px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--gv-border); }
.gv-sort { display: inline-flex; flex: none; align-items: center; gap: 4px; padding: 3px; background: var(--gv-bg); border-radius: 99px; font-size: 13px; }
.gv-sort-label { padding: 0 8px 0 12px; color: var(--gv-muted); white-space: nowrap; }
.gv-sort a { padding: 5px 12px; border-radius: 99px; color: var(--gv-text-2); white-space: nowrap; font-weight: 500; }
.gv-sort a:hover { color: var(--gv-accent); }
.gv-sort a.is-active { background: var(--gv-white); color: var(--gv-accent); font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }

/* ---- Ô tick bộ lọc: Flatsome ép <a> thành block nên ô tick bị bẹp → ép flex + pseudo-element dạng block ---- */
#shop-sidebar .woocommerce-widget-layered-nav-list li { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; border: 0; }
#shop-sidebar .woocommerce-widget-layered-nav-list li a { display: flex !important; align-items: center; gap: 10px; flex: 1; padding: 6px 0; border: 0; }
#shop-sidebar .woocommerce-widget-layered-nav-list li a:before { display: block !important; position: static; flex: none; width: 17px; height: 17px; box-sizing: border-box; margin: 0; border: 1.5px solid var(--gv-border-3); border-radius: 4px; background-color: var(--gv-white); }
#shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a:before { border-color: var(--gv-primary); background-color: var(--gv-primary); }
#shop-sidebar .woocommerce-widget-layered-nav-list li .count { color: var(--gv-muted-2); font-size: 12px; }
#shop-sidebar .gv-price-ranges li a:before { border-radius: 50%; } /* khoảng giá chọn một mốc → dạng radio */

@media (max-width: 849px) {
	.gv-toolbar { flex-direction: column; align-items: stretch; }
	.gv-sort { overflow-x: auto; max-width: 100%; }
	.gv-sort-label { display: none; }
}

/* Ô đã chọn: Flatsome tự chèn chữ "x" mờ (content:"x"; opacity:.6) lên a:before → xóa để chỉ còn dấu ✓ */
#shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a:before { content: '' !important; opacity: 1 !important; font-size: 0 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 12px; }
/* Khoảng giá (radio): đã chọn → chấm trắng ở giữa thay vì dấu ✓ */
#shop-sidebar .gv-price-ranges li.chosen a:before { background-image: radial-gradient(circle, var(--gv-white) 0 3px, transparent 3.5px); background-size: auto; }

/* Banner nằm ở hàng riêng phía trên sidebar + lưới (woocommerce/layouts/category.php → gv_before_category_row) */
.gv-banner-row { margin-top: 14px; margin-bottom: 18px; }
.gv-banner-row .gv-shop-banner { margin: 0; }
.gv-desc {
   padding-top: 12px;
   margin-top: 18px;
   border-top: 1px solid var(--gv-border);
}