/* =========================================================
   Trang sản phẩm (shop + danh mục) – giữ bố cục, làm mới giao diện
   Selector có tiền tố body.woocommerce để thắng "CSS bổ sung".
   ========================================================= */
body.woocommerce{
	--kmv-blue:#007dbe; --kmv-blue-d:#005a9c; --kmv-blue-l:#0a86cf;
	--kmv-ink:#10233f; --kmv-muted:#5d6f86; --kmv-line:#e3ebf3; --kmv-soft:#f3f8fc;
}

/* ---------- Dải tiêu đề + breadcrumb ---------- */
body.woocommerce .shop-page-title.page-title{
	position:relative; overflow:hidden; margin-bottom:34px;
	background:
		radial-gradient(700px 260px at 90% -30%, rgba(10,134,207,.20), transparent 70%),
		radial-gradient(500px 220px at 0% 130%, rgba(0,90,156,.12), transparent 70%),
		linear-gradient(180deg,#f1f7fc 0%,#ffffff 100%);
	border-bottom:1px solid var(--kmv-line);
}
body.woocommerce .shop-page-title .page-title-inner{ padding-top:38px; padding-bottom:30px; min-height:0; }
body.woocommerce .shop-page-title .flex-row{ justify-content:center; text-align:center; }
body.woocommerce h1.kmv-shop-heading{
	margin:0 0 10px; font-size:clamp(26px,3.2vw,38px); line-height:1.2; font-weight:700;
	color:var(--kmv-ink); letter-spacing:-.3px; text-transform:none;
}
body.woocommerce .shop-page-title .is-large{ font-size:14px; font-weight:500; color:var(--kmv-muted); }
body.woocommerce .shop-page-title .breadcrumbs{
	display:inline-flex !important; align-items:center; gap:4px; margin:0 !important;
	padding:6px 16px; border-radius:99px; background:#fff; border:1px solid var(--kmv-line);
	font-size:13.5px; font-weight:500 !important; opacity:1; color:var(--kmv-muted); text-transform:none;
	box-shadow:0 4px 14px rgba(11,42,74,.05);
}
body.woocommerce .shop-page-title .breadcrumbs a{ color:var(--kmv-blue); font-weight:600; }
body.woocommerce .shop-page-title .breadcrumbs .divider{ opacity:.45; margin:0 4px; }
body.woocommerce .category-filtering{ margin-top:14px; }
body.woocommerce .category-filtering .filter-button{
	display:inline-flex; align-items:center; gap:8px; padding:8px 18px; border-radius:99px;
	background:var(--kmv-blue); color:#fff; text-transform:none; font-size:14px;
	box-shadow:0 8px 18px rgba(0,125,190,.25);
}
body.woocommerce .category-filtering .filter-button strong{ font-weight:600; }

/* ---------- Sidebar ---------- */
body.woocommerce .category-page-row{ padding-top:0; }
body.woocommerce #shop-sidebar .widget{
	margin-bottom:22px; padding:22px 20px; background:#fff;
	border:1px solid var(--kmv-line); border-radius:18px;
	box-shadow:0 10px 28px rgba(11,42,74,.06);
}
body.woocommerce #shop-sidebar .widget-title{
	display:flex; align-items:center; gap:10px; margin:0 0 14px;
	font-size:16px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--kmv-ink);
}
body.woocommerce #shop-sidebar .widget-title::before{
	content:""; width:4px; height:18px; border-radius:4px;
	background:linear-gradient(180deg,var(--kmv-blue-l),var(--kmv-blue-d));
}
body.woocommerce #shop-sidebar .is-divider{ display:none; }

/* tìm kiếm */
body.woocommerce #shop-sidebar .widget_product_search{ padding:10px; }
body.woocommerce #shop-sidebar .widget_product_search .flex-row{
	align-items:center; background:var(--kmv-soft); border:1px solid var(--kmv-line); border-radius:99px;
	padding:4px 4px 4px 16px; transition:border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce #shop-sidebar .widget_product_search .flex-row:focus-within{
	border-color:#9ccbe8; box-shadow:0 0 0 4px rgba(0,125,190,.12); background:#fff;
}
body.woocommerce #shop-sidebar .widget_product_search .search-field{
	height:42px; padding:0; border:0 !important; background:transparent !important; box-shadow:none !important;
	font-family:inherit; font-size:14.5px; color:var(--kmv-ink);
}
body.woocommerce #shop-sidebar .widget_product_search .ux-search-submit{
	width:42px; height:42px; min-height:42px; margin:0; padding:0; border-radius:50% !important;
	background:linear-gradient(135deg,var(--kmv-blue-l),var(--kmv-blue-d)) !important; color:#fff;
	box-shadow:0 6px 14px rgba(0,125,190,.3);
}

/* danh mục */
body.woocommerce #shop-sidebar .product-categories{ margin:0; padding:0; list-style:none; }
body.woocommerce #shop-sidebar .product-categories li{ position:relative; margin:0 0 6px; padding:0; border:0; list-style:none; }
body.woocommerce #shop-sidebar .product-categories li:last-child{ margin-bottom:0; }
body.woocommerce #shop-sidebar .product-categories li a{
	display:flex; align-items:center; gap:10px; padding:11px 44px 11px 14px; border-radius:12px;
	color:var(--kmv-ink); font-size:14.5px; font-weight:600; line-height:1.35;
	transition:background .2s ease, color .2s ease, padding .2s ease;
}
body.woocommerce #shop-sidebar .product-categories li a::before{
	content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%;
	background:#c3d6e6; transition:background .2s ease, transform .2s ease;
}
body.woocommerce #shop-sidebar .product-categories li .count{
	position:absolute; right:12px; top:50%; transform:translateY(-50%); min-width:26px; height:24px; padding:0 8px;
	display:inline-flex; align-items:center; justify-content:center; border-radius:99px;
	background:var(--kmv-soft); color:var(--kmv-muted); font-size:12px; font-weight:700; opacity:1;
	pointer-events:none; transition:background .2s ease, color .2s ease;
}
body.woocommerce #shop-sidebar .product-categories li a:hover{ background:var(--kmv-soft); color:var(--kmv-blue); padding-left:18px; }
body.woocommerce #shop-sidebar .product-categories li a:hover::before{ background:var(--kmv-blue); transform:scale(1.2); }
body.woocommerce #shop-sidebar .product-categories li.current-cat > a{
	background:linear-gradient(120deg,var(--kmv-blue-d),var(--kmv-blue-l)); color:#fff;
	box-shadow:0 8px 18px rgba(0,125,190,.28);
}
body.woocommerce #shop-sidebar .product-categories li.current-cat > a::before{ background:#fff; }
body.woocommerce #shop-sidebar .product-categories li.current-cat > .count{ background:rgba(255,255,255,.22); color:#fff; }
body.woocommerce #shop-sidebar .product-categories .children{ margin:4px 0 0 18px; padding:0; }

/* ---------- Khung liên hệ cuối sidebar ---------- */
body.woocommerce #shop-sidebar .widget_kmv_contact_box{ padding:0; border:0; background:none; box-shadow:none; }
/* (.kmv-cbox: xem assets/kmv-cbox.css) */

/* ---------- Tab danh mục ---------- */
body.woocommerce .shop-tabs-container{ margin:0 0 24px; text-align:left; }
body.woocommerce .shop-tabs-list{ gap:10px; }
body.woocommerce .shop-tabs-list li{ margin:0; }
body.woocommerce .shop-tabs-list li a{
	display:inline-flex; align-items:center; gap:8px; padding:9px 10px 9px 18px;
	border:1px solid var(--kmv-line); border-radius:99px; background:#fff;
	color:var(--kmv-ink) !important; font-size:14px; font-weight:600;
	box-shadow:0 4px 12px rgba(11,42,74,.04);
	transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.woocommerce .shop-tabs-list li a .count{
	min-width:24px; height:22px; padding:0 7px; border-radius:99px;
	display:inline-flex; align-items:center; justify-content:center;
	background:var(--kmv-soft); color:var(--kmv-muted); font-size:12px; font-weight:700;
}
body.woocommerce .shop-tabs-list li a:hover{
	background:#fff !important; color:var(--kmv-blue) !important; border-color:#9ccbe8;
	transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,125,190,.12);
}
body.woocommerce .shop-tabs-list li a.is-active{
	background:linear-gradient(120deg,var(--kmv-blue-d),var(--kmv-blue-l)) !important; border-color:transparent;
	color:#fff !important; box-shadow:0 8px 20px rgba(0,125,190,.3);
}
body.woocommerce .shop-tabs-list li a.is-active .count{ background:rgba(255,255,255,.22); color:#fff; }

/* ---------- Thẻ sản phẩm ---------- */
body.woocommerce .products .product-small .col-inner{ max-width:none; height:100%; }
body.woocommerce .products .product-small.box{
	display:flex; flex-direction:column; height:100%; overflow:hidden;
	background:#fff; border:1px solid var(--kmv-line); border-radius:18px;
	box-shadow:0 6px 18px rgba(11,42,74,.05);
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
body.woocommerce .products .product-small.box:hover{
	transform:translateY(-6px); border-color:#bfdcee; box-shadow:0 20px 40px rgba(0,90,156,.14);
}
body.woocommerce .products .product-small .box-image{
	margin:10px 10px 0; border-radius:13px; overflow:hidden;
	background:radial-gradient(circle at 50% 40%, #ffffff 0%, #eef5fb 100%) !important;
}
body.woocommerce .products .product-small .box-image img{
	padding:14px !important; transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
body.woocommerce .products .product-small.box:hover .box-image img{ transform:scale(1.06); }
body.woocommerce .products .box-text-products{ flex:1 1 auto; padding:16px 16px 18px !important; }
body.woocommerce .products .product-title{ margin:0 0 14px !important; }
body.woocommerce .products .product-title a.woocommerce-LoopProduct-link{
	color:var(--kmv-ink) !important; font-size:15.5px; font-weight:700; line-height:1.45 !important;
	transition:color .2s ease;
}
body.woocommerce .products .product-small.box:hover .product-title a{ color:var(--kmv-blue) !important; }
body.woocommerce .products .view-more-wrapper{ margin-top:auto; width:100%; }
body.woocommerce .products .view-more-blue-btn{
	display:inline-flex !important; align-items:center; gap:8px;
	padding:8px 18px !important; border-radius:99px; font-size:13.5px !important; font-weight:600;
	background:var(--kmv-soft) !important; color:var(--kmv-blue) !important; border:1px solid #d3e6f3;
	transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce .products .view-more-blue-btn::after{
	content:"\2192"; font-size:15px; line-height:1; transition:transform .2s ease;
}
body.woocommerce .products .product-small.box:hover .view-more-blue-btn{
	background:linear-gradient(120deg,var(--kmv-blue-d),var(--kmv-blue-l)) !important; color:#fff !important;
	border-color:transparent; box-shadow:0 8px 18px rgba(0,125,190,.28);
}
body.woocommerce .products .product-small.box:hover .view-more-blue-btn::after{ transform:translateX(3px); }

/* ---------- Phân trang ---------- */
body.woocommerce .woocommerce-pagination{ margin-top:18px; }
body.woocommerce .woocommerce-pagination .page-numbers{ display:flex; justify-content:center; gap:8px; }
body.woocommerce .woocommerce-pagination .page-number{
	display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px;
	margin:0; padding:0 6px; border-radius:50% !important; border:1px solid var(--kmv-line) !important;
	background:#fff; color:var(--kmv-ink); font-weight:600; line-height:1;
	transition:background .2s ease, color .2s ease, border-color .2s ease;
}
body.woocommerce .woocommerce-pagination .page-number:hover{ border-color:#9ccbe8 !important; color:var(--kmv-blue); background:#fff; }
body.woocommerce .woocommerce-pagination .page-number.current{
	background:linear-gradient(135deg,var(--kmv-blue-l),var(--kmv-blue-d)); border-color:transparent !important; color:#fff;
	box-shadow:0 8px 18px rgba(0,125,190,.3);
}

/* ---------- Nội dung cuối danh mục ---------- */
body.woocommerce .kmv-col9-readmore-wrapper{
	margin-top:36px; padding:26px 28px 20px; border:1px solid var(--kmv-line); border-radius:18px;
	background:#fff; box-shadow:0 10px 28px rgba(11,42,74,.05);
}
body.woocommerce .kmv-col9-overlay{ left:28px; right:28px; width:auto; }

/* ---------- Responsive ---------- */
@media (max-width:849px){
	body.woocommerce .shop-page-title .page-title-inner{ padding-top:26px; padding-bottom:22px; }
	body.woocommerce .shop-page-title.page-title{ margin-bottom:22px; }
	body.woocommerce .shop-tabs-list{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
	body.woocommerce .shop-tabs-list::-webkit-scrollbar{ display:none; }
	body.woocommerce .shop-tabs-list li a{ white-space:nowrap; }
	/* sidebar mở dạng off-canvas trên mobile */
	.mfp-content #shop-sidebar{ padding:18px 16px; background:#f4f8fb; }
}
@media (max-width:549px){
	body.woocommerce .products .product-small.box{ border-radius:14px; }
	body.woocommerce .products .product-small .box-image{ margin:6px 6px 0; border-radius:10px; }
	body.woocommerce .products .box-text-products{ padding:12px 12px 14px !important; }
	body.woocommerce .products .product-title a.woocommerce-LoopProduct-link{ font-size:14px; }
	body.woocommerce .products .view-more-blue-btn{ padding:7px 14px !important; font-size:12.5px !important; }
}

/* ---------- Nút "Yêu cầu báo giá" ở trang chi tiết sản phẩm ---------- */
.kmv-quote-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:6px 0 24px; }
.kmv-quote-btn,
.kmv-quote-tel{
	display:inline-flex; align-items:center; gap:10px; padding:0 24px; height:50px; border-radius:99px;
	font-size:15px; font-weight:700; text-decoration:none; white-space:nowrap;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.kmv-quote-btn{
	color:#fff !important; background:linear-gradient(120deg,#005a9c 0%,#0077bd 55%,#0a86cf 100%);
	box-shadow:0 10px 24px rgba(0,125,190,.32);
}
.kmv-quote-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 30px rgba(0,125,190,.4); }
.kmv-quote-tel{ color:#005a9c !important; background:#fff; border:1.5px solid #bfdcee; }
.kmv-quote-tel:hover{ background:#e8f3fa; border-color:#9ccbe8; }
@media (max-width:549px){
	.kmv-quote-btn, .kmv-quote-tel{ flex:1 1 100%; justify-content:center; }
}
