/**
 * FireHub - Single product page
 * Custom styles moved out of WooCommerce template so plugin updates are safe.
 */

/* =========================================================
   1. BREADCRUMB
========================================================= */

body.single-product .woocommerce-breadcrumb {
	display: none !important;
}

.fhp-breadcrumb-wrap,
.fhp-breadcrumb-wrap * {
	box-sizing: border-box;
}

.fhp-breadcrumb-wrap {
	display: block;
	clear: both;
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	border-bottom: 1px solid #e5e8ec;
}

.fhp-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	width: 100%;
	margin: 0;
	padding: 14px 0 16px;
	color: #66717e;
	font-size: 13px;
	line-height: 1.5;
}

.fhp-breadcrumb a {
	color: #596572;
	text-decoration: none;
	transition: color .2s ease;
}

.fhp-breadcrumb a:hover {
	color: #e63322;
}

.fhp-breadcrumb-separator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #9da4ad;
	font-size: 14px;
}

.fhp-breadcrumb-current {
	overflow: hidden;
	max-width: 520px;
	color: #3c4652;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* =========================================================
   2. KHÔNG ĐỘNG VÀO GALLERY / SUMMARY
========================================================= */

/*
 * Không set width, float, display cho:
 * .woocommerce-product-gallery
 * .summary.entry-summary
 *
 * Theme hiện tại tiếp tục kiểm soát phần sản phẩm phía trên.

.fhp-after-summary-clear {
	display: block !important;
	clear: both !important;
	width: 100% !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   3. DESCRIPTION + SALE WRAPPER
========================================================= */

.woocommerce div.product .firehub-product-detail,
.firehub-product-detail {
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	/* Nếu div.product của theme là grid/flex thì section này vẫn full hàng. */
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	flex-basis: 100% !important;
}

.firehub-product-detail-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 290px !important;
	gap: 34px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.firehub-product-description {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   4. WOOCOMMERCE TABS
   Giữ nguyên display của panel để JS WooCommerce tự hide/show.
========================================================= */

.firehub-product-description .woocommerce-tabs {
	display: block !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	gap: 28px !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #dfe4e8 !important;
	background: transparent !important;
	list-style: none !important;
	overflow-x: auto;
	overflow-y: hidden;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs::before,
.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs::after {
	display: none !important;
	content: none !important;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
	white-space: nowrap !important;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li::before,
.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li::after {
	display: none !important;
	content: none !important;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li a {
	position: relative;
	display: flex !important;
	align-items: center !important;
	float: none !important;
	width: auto !important;
	height: 45px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: #515c69 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 45px !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li.active a {
	color: #e63322 !important;
}

.woocommerce div.product
.firehub-product-description
.woocommerce-tabs
ul.tabs
li.active a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: #e63322;
}

/*
 * QUAN TRỌNG:
 * Không dùng display:block !important tại đây.
 * WooCommerce cần tự đổi display khi click tab.
 */
.firehub-product-description .woocommerce-Tabs-panel,
.firehub-product-description .woocommerce-tabs .panel {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto;
	margin: 0 !important;
	padding: 30px 34px 35px !important;
	border: 1px solid #dfe4e8 !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 7px 25px rgba(20,31,45,.04) !important;
	color: #2c3540 !important;
	font-size: 16px !important;
	line-height: 1.82 !important;
}

/* =========================================================
   5. TYPOGRAPHY GIỐNG SINGLE.PHP
========================================================= */

.firehub-product-description .woocommerce-Tabs-panel > * {
	max-width: 100% !important;
}

.firehub-product-description .woocommerce-Tabs-panel p {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #2c3540 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.82 !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
	text-align: justify !important;
	text-align-last: start !important;
	text-justify: inter-word !important;
}

.firehub-product-description .woocommerce-Tabs-panel h2 {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 36px 0 15px !important;
	padding: 0 0 10px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf0f2 !important;
	color: #1b222c !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: -.015em !important;
	text-align: left !important;
}

.firehub-product-description .woocommerce-Tabs-panel h2:first-child {
	margin-top: 0 !important;
}

.firehub-product-description .woocommerce-Tabs-panel h2::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin-top: 10px;
	margin-bottom: -13px;
	border-radius: 4px;
	background: linear-gradient(90deg,#e63322,#a8201a);
}

.firehub-product-description .woocommerce-Tabs-panel h3 {
	display: block !important;
	width: 100% !important;
	margin: 28px 0 11px !important;
	padding: 0 !important;
	color: #1b222c !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

.firehub-product-description .woocommerce-Tabs-panel h4 {
	margin: 24px 0 9px !important;
	color: #1b222c !important;
	font-size: 17px !important;
	font-weight: 700 !important;
}

.firehub-product-description .woocommerce-Tabs-panel ul,
.firehub-product-description .woocommerce-Tabs-panel ol {
	margin: 0 0 20px !important;
	padding-left: 25px !important;
}

.firehub-product-description .woocommerce-Tabs-panel li {
	margin: 0 0 8px !important;
	padding-left: 3px !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	text-align: justify !important;
	text-align-last: start !important;
}

.firehub-product-description .woocommerce-Tabs-panel li::marker {
	color: #e63322;
	font-weight: 700;
}

.firehub-product-description .woocommerce-Tabs-panel img {
	display: block;
	float: none !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 25px auto !important;
	border-radius: 10px;
}

.firehub-product-description .woocommerce-Tabs-panel figure {
	float: none !important;
	max-width: 100% !important;
	margin: 25px 0 !important;
}

.firehub-product-description .woocommerce-Tabs-panel table {
	width: 100% !important;
	max-width: 100% !important;
	margin: 24px 0 !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
}

.firehub-product-description .woocommerce-Tabs-panel th,
.firehub-product-description .woocommerce-Tabs-panel td {
	padding: 12px 14px !important;
	border: 1px solid #e3e6ea !important;
	text-align: left !important;
	vertical-align: top !important;
}

.firehub-product-description .woocommerce-Tabs-panel th {
	background: #f6f7f9 !important;
	font-weight: 700 !important;
}

/* =========================================================
   6. COLLAPSE DESCRIPTION
========================================================= */

.fh-description-collapse {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	transition: max-height .4s ease;
}

.fh-description-collapse.is-collapsed {
	max-height: var(--fh-collapse-height, 650px);
}

.fh-description-collapse.is-collapsed::after {
	content: "";
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	height: 130px;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(255,255,255,0),
		#fff 90%
	);
}

.fh-description-toggle-wrap {
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: center;
	width: 100%;
	padding-top: 15px;
}

.fh-description-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 190px;
	min-height: 42px;
	padding: 9px 20px;
	border: 1px solid #173d86;
	border-radius: 6px;
	background: #fff;
	color: #173d86;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.fh-description-toggle:hover {
	background: #173d86;
	color: #fff;
}

.fh-description-toggle svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	transition: transform .2s ease;
}

.fh-description-toggle.is-open svg {
	transform: rotate(180deg);
}

/* =========================================================
   7. SALE SIDEBAR
========================================================= */

.fh-sale-sidebar {
	display: block !important;
	float: none !important;
	width: 290px !important;
	max-width: 290px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	/*
	 * QUAN TRỌNG:
	 * Grid cha đang dùng align-items:start nên mặc định cột sidebar
	 * chỉ cao bằng chính nội dung của nó. Khi đó phần tử sticky bên
	 * trong không có quãng đường để trượt.
	 *
	 * Ép riêng grid item này stretch theo chiều cao của hàng grid
	 * (tức chiều cao cột mô tả bên trái).
	 */
	align-self: stretch !important;
}

.fh-sale-sidebar-inner {
	width: 100%;
}

/* Chỉ sticky trên PC */
@media (min-width: 801px) {
	.fh-sale-sidebar-inner {
		position: sticky !important;
		top: 90px !important;
	}
}

/* Mobile: trở lại luồng bình thường */
@media (max-width: 800px) {
	.fh-sale-sidebar {
		align-self: auto !important;
	}

	.fh-sale-sidebar-inner {
		position: static !important;
		top: auto !important;
	}
}

.fh-sale-title {
	position: relative;
	margin: 0 0 18px !important;
	padding: 0 0 11px !important;
	color: #173d86 !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.fh-sale-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 45px;
	height: 3px;
	background: #e63322;
}

.fh-sale-products {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 12px !important;
	width: 100% !important;
}

.fh-sale-card {
	position: relative;
	display: grid !important;
	grid-template-columns: 100px minmax(0,1fr) !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 110px;
	overflow: hidden;
	border: 1px solid #dfe4e8;
	border-radius: 9px;
	background: #fff;
	transition: transform .2s ease, box-shadow .2s ease;
}

.fh-sale-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(20,31,45,.07);
}

.fh-sale-thumb {
	position: relative;
	display: block;
	width: 100px !important;
	height: 105px !important;
	padding: 8px !important;
	overflow: hidden;
	background: #fff;
}

.fh-sale-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
}

.fh-sale-badge {
	position: absolute;
	z-index: 4;
	top: 7px;
	left: 0;
	padding: 5px 8px;
	border-radius: 0 4px 4px 0;
	background: #ef2027;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.fh-sale-info {
	min-width: 0;
	padding: 10px 10px 10px 5px !important;
	text-align: left !important;
}

.fh-sale-product-title {
	display: -webkit-box !important;
	overflow: hidden;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: #18212c !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.fh-sale-product-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.fh-sale-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}

.fh-sale-price-current {
	color: #e00000;
	font-size: 14px;
	font-weight: 700;
}

.fh-sale-price-old {
	color: #6e7782;
	font-size: 11px;
	text-decoration: line-through;
}

/* =========================================================
   8. UPSELL / RELATED
========================================================= */

.woocommerce div.product .upsells.products,
.woocommerce div.product .related.products {
	clear: both !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 48px !important;
}

/* =========================================================
   9. RESPONSIVE
========================================================= */

@media (max-width: 1024px) {

	.firehub-product-detail-grid {
		grid-template-columns: minmax(0,1fr) 250px !important;
		gap: 24px !important;
	}

	.fh-sale-sidebar {
		width: 250px !important;
		max-width: 250px !important;
	}
}

@media (max-width: 800px) {

	.fhp-breadcrumb-wrap {
		margin-bottom: 22px;
	}

	.fhp-breadcrumb {
		padding: 12px 0 14px;
	}

	.firehub-product-detail-grid {
		grid-template-columns: 1fr !important;
	}

	.fh-sale-sidebar {
		width: 100% !important;
		max-width: 100% !important;
	}

	.fh-sale-sidebar-inner {
		position: static;
	}

	.firehub-product-description .woocommerce-Tabs-panel,
	.firehub-product-description .woocommerce-tabs .panel {
		padding: 25px 20px 29px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel h2 {
		font-size: 22px !important;
	}
}

@media (max-width: 480px) {

	.fhp-breadcrumb {
		font-size: 12.5px;
	}

	.fhp-breadcrumb-current {
		max-width: 220px;
	}

	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs {
		flex-wrap: nowrap !important;
		overflow-x: auto;
	}

	.firehub-product-description .woocommerce-Tabs-panel,
	.firehub-product-description .woocommerce-tabs .panel {
		padding: 22px 16px 26px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel p,
	.firehub-product-description .woocommerce-Tabs-panel li {
		font-size: 15px !important;
	}
}

/* =========================================================
   10. FIREHUB - RATING SAO PHẦN SUMMARY
   Giữ nguyên toàn bộ CSS gốc, chỉ bổ sung hiển thị sao.
   ========================================================= */

.single-product .summary .woocommerce-product-rating {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 4px 0 14px !important;
}

/* Khung 5 sao */
.single-product .summary .woocommerce-product-rating .star-rating {
	position: relative !important;
	display: inline-block !important;
	float: none !important;
	width: 94px !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	font-family: Arial, sans-serif !important;
	font-size: 0 !important;
	line-height: 1 !important;
	color: transparent !important;
	vertical-align: middle !important;
}

/* 5 sao nền xám */
.single-product .summary .woocommerce-product-rating .star-rating::before {
	content: "★★★★★" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 94px !important;
	height: 22px !important;
	font-family: Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 22px !important;
	letter-spacing: 0 !important;
	color: #d1d5db !important;
	white-space: nowrap !important;
	text-indent: 0 !important;
}

/* WooCommerce giữ % rating thật bằng inline width trên span */
.single-product .summary .woocommerce-product-rating .star-rating > span {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	white-space: nowrap !important;
	text-indent: -9999px !important;
}

/* 5 sao vàng được cắt theo % rating thật */
.single-product .summary .woocommerce-product-rating .star-rating > span::before {
	content: "★★★★★" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 94px !important;
	height: 22px !important;
	font-family: Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 22px !important;
	letter-spacing: 0 !important;
	color: #f59e0b !important;
	white-space: nowrap !important;
	text-indent: 0 !important;
}

/* Ẩn text nội bộ kiểu "3.29 trên 5..." nếu theme ép hiển thị */
.single-product .summary .woocommerce-product-rating .star-rating strong,
.single-product .summary .woocommerce-product-rating .star-rating .rating {
	display: none !important;
}

/* Link số lượng đánh giá */
.single-product .summary .woocommerce-product-rating .woocommerce-review-link {
	display: inline-block !important;
	font-size: 14px !important;
	line-height: 22px !important;
	color: #66717e !important;
	text-decoration: none !important;
}

.single-product .summary .woocommerce-product-rating .woocommerce-review-link:hover {
	color: #e63322 !important;
}

@media (max-width: 640px) {
	.single-product .summary .woocommerce-product-rating {
		gap: 7px !important;
	}

	.single-product .summary .woocommerce-product-rating .star-rating {
		width: 89px !important;
		height: 21px !important;
	}

	.single-product .summary .woocommerce-product-rating .star-rating::before,
	.single-product .summary .woocommerce-product-rating .star-rating > span::before {
		width: 89px !important;
		height: 21px !important;
		font-size: 18px !important;
		line-height: 21px !important;
	}

	.single-product .summary .woocommerce-product-rating .star-rating > span {
		height: 21px !important;
	}

	.single-product .summary .woocommerce-product-rating .woocommerce-review-link {
		font-size: 13px !important;
		line-height: 21px !important;
	}
}

/* =========================================================
   FIREHUB - TAB ĐÁNH GIÁ WOOCOMMERCE
   Chỉ bổ sung style, không thay/xóa code cũ.
   ========================================================= */

/* Khung review */
.single-product #reviews {
    max-width: 100%;
    color: #1b222c;
}

.single-product #reviews #comments,
.single-product #reviews #review_form_wrapper {
    margin-top: 24px;
}

/* Tiêu đề trong tab đánh giá */
.single-product #reviews #comments > h2,
.single-product #review_form #reply-title {
    color: #1b222c;
    font-weight: 700;
}

.single-product #reviews #comments > h2 {
    margin: 0 0 24px !important;
    font-size: 22px !important;
    line-height: 1.4 !important;
}

/* Danh sách review */
.single-product #reviews .commentlist {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product #reviews .commentlist li {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.single-product #reviews .comment_container {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid #dfe4e8;
    border-radius: 14px;
}

.single-product #reviews .comment_container > img.avatar {
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50%;
    object-fit: cover;
}

.single-product #reviews .comment-text {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.single-product #reviews .meta {
    margin: 0 0 10px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #66717e !important;
}

.single-product #reviews .woocommerce-review__author {
    color: #1b222c !important;
    font-weight: 700 !important;
}

.single-product #reviews .description p {
    margin: 8px 0 0 !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: #2c3540 !important;
}

/* Sao của review đã đăng */
.single-product #reviews .star-rating {
    float: none !important;
    margin: 0 0 8px !important;
}

/* Form đánh giá */
.single-product #review_form_wrapper {
    margin-top: 32px !important;
    padding: 26px !important;
    background: #f6f7f9 !important;
    border: 1px solid #dfe4e8 !important;
    border-radius: 16px !important;
}

.single-product #review_form #reply-title {
    display: block !important;
    margin: 0 0 20px !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
}

.single-product #review_form label {
    display: block !important;
    margin-bottom: 7px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1b222c !important;
}

/* ===== BỘ CHỌN 5 SAO ===== */

/*
 * WooCommerce mặc định:
 * <p class="stars"><span><a class="star-1">1 trên 5 sao</a>...</span></p>
 * Vì theme đang tắt CSS WooCommerce nên phải style lại đầy đủ.
 */
.single-product #review_form .comment-form-rating {
    margin: 0 0 20px !important;
}

.single-product #review_form p.stars {
    display: block !important;
    margin: 8px 0 20px !important;
    padding: 0 !important;
}

.single-product #review_form p.stars > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.single-product #review_form p.stars a,
.single-product #review_form p.stars > span > a {
    position: relative !important;
    display: inline-block !important;
    width: 32px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    text-decoration: none !important;
}

/* Vẽ sao */
.single-product #review_form p.stars a::before,
.single-product #review_form p.stars > span > a::before {
    content: "★" !important;
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;

    color: #d1d5db !important;
    text-indent: 0 !important;

    transition: color .15s ease, transform .15s ease;
}

/* Hover: tô từ sao 1 tới sao đang rê */
.single-product #review_form p.stars:hover a::before,
.single-product #review_form p.stars > span:hover > a::before {
    color: #f59e0b !important;
}

.single-product #review_form p.stars a:hover ~ a::before,
.single-product #review_form p.stars > span > a:hover ~ a::before {
    color: #d1d5db !important;
}

.single-product #review_form p.stars a:hover::before {
    transform: scale(1.08);
}

/* Trạng thái WooCommerce đã chọn */
.single-product #review_form p.stars.selected a::before,
.single-product #review_form p.stars > span.selected > a::before,
.single-product #review_form p.stars > span > a.active::before,
.single-product #review_form p.stars > span > a[aria-checked="true"]::before {
    color: #f59e0b !important;
}

.single-product #review_form p.stars.selected a.active ~ a::before,
.single-product #review_form p.stars > span > a.active ~ a::before {
    color: #d1d5db !important;
}

/* Textarea */
.single-product #review_form textarea {
    display: block !important;
    width: 100% !important;
    min-height: 130px !important;
    padding: 12px 14px !important;

    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.6 !important;

    color: #1b222c !important;
    background: #fff !important;

    border: 1px solid #dfe4e8 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    outline: none !important;
    resize: vertical !important;
}

.single-product #review_form textarea:focus {
    border-color: #e63322 !important;
    box-shadow: 0 0 0 3px rgba(230, 51, 34, .10) !important;
}

/* Nút gửi */
.single-product #review_form .form-submit {
    margin: 18px 0 0 !important;
}

.single-product #review_form .form-submit input[type="submit"] {
    min-height: 44px !important;
    padding: 11px 24px !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    color: #fff !important;
    background: #e63322 !important;

    border: 0 !important;
    border-radius: 10px !important;

    cursor: pointer !important;
}

.single-product #review_form .form-submit input[type="submit"]:hover {
    background: #c6281c !important;
}

/* Mobile */
@media (max-width: 640px) {

    .single-product #reviews #comments > h2 {
        font-size: 19px !important;
    }

    .single-product #reviews .comment_container {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
    }

    .single-product #reviews .comment_container > img.avatar {
        width: 42px !important;
        height: 42px !important;
    }

    .single-product #review_form_wrapper {
        padding: 18px 16px !important;
        border-radius: 12px !important;
    }

    .single-product #review_form #reply-title {
        font-size: 18px !important;
    }

    .single-product #review_form p.stars > span {
        gap: 3px !important;
    }

    .single-product #review_form p.stars a,
    .single-product #review_form p.stars > span > a {
        width: 34px !important;
        height: 34px !important;
    }

    .single-product #review_form p.stars a::before,
    .single-product #review_form p.stars > span > a::before {
        font-size: 29px !important;
        line-height: 34px !important;
    }
}

/* =========================================================
   FIREHUB - ĐỒNG BỘ NÚT "MUA NGAY" VỚI "THÊM VÀO GIỎ HÀNG"
   Chỉ override giao diện nút, không thay logic WooCommerce.
   ========================================================= */

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .firehub-buy-now {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 50px !important;
    padding: 0 24px !important;

    border: 1px solid #e63322 !important;
    border-radius: 10px !important;

    background: #e63322 !important;
    color: #fff !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    cursor: pointer !important;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease !important;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .firehub-buy-now:hover {
    background: #c6281c !important;
    border-color: #c6281c !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Giữ 2 nút cân đối trên PC */
@media (min-width: 641px) {
    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart .firehub-buy-now {
        min-width: 170px !important;
    }
}

/* Mobile: 2 nút vẫn đồng bộ và chia đều */
@media (max-width: 640px) {
    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart .firehub-buy-now {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   FIREHUB - BẢNG THÔNG SỐ KỸ THUẬT NỔI BẬT HƠN
   ========================================================= */

.single-product .woocommerce-Tabs-panel--description table,
.single-product .woocommerce-tabs .panel table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1.5px solid #cfd5dc !important;
    background: #fff !important;
}

/* Ô bảng */
.single-product .woocommerce-Tabs-panel--description table th,
.single-product .woocommerce-Tabs-panel--description table td,
.single-product .woocommerce-tabs .panel table th,
.single-product .woocommerce-tabs .panel table td {
    border: 1px solid #d3d8df !important;
    padding: 13px 15px !important;
    vertical-align: middle !important;
}

/* Hàng tiêu đề */
.single-product .woocommerce-Tabs-panel--description table thead th,
.single-product .woocommerce-tabs .panel table thead th {
    background: #f1f3f5 !important;
    color: #1b222c !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #bfc6cf !important;
}

/* Nếu bảng không có thead, làm hàng đầu nổi bật */
.single-product .woocommerce-Tabs-panel--description table tr:first-child th,
.single-product .woocommerce-Tabs-panel--description table tr:first-child td,
.single-product .woocommerce-tabs .panel table tr:first-child th,
.single-product .woocommerce-tabs .panel table tr:first-child td {
    background: #f1f3f5 !important;
    font-weight: 700 !important;
}

/* Zebra row nhẹ */
.single-product .woocommerce-Tabs-panel--description table tbody tr:nth-child(even),
.single-product .woocommerce-tabs .panel table tbody tr:nth-child(even) {
    background: #fafbfc !important;
}

/* Hover nhẹ trên PC */
@media (min-width: 801px) {
    .single-product .woocommerce-Tabs-panel--description table tbody tr:hover,
    .single-product .woocommerce-tabs .panel table tbody tr:hover {
        background: #fff7f5 !important;
    }
}

/* =========================================================
   11. FIREHUB - ẢNH + CHÚ THÍCH ẢNH TRONG MÔ TẢ
   Giữ nguyên CSS cũ, chỉ override ở cuối file.
   - Căn giữa ảnh/figure.
   - Chú thích sát ảnh hơn.
   - Không để figure kéo full-width vô lý khi ảnh nhỏ.
   ========================================================= */

.single-product .woocommerce-Tabs-panel--description figure,
.single-product .woocommerce-Tabs-panel--description figure.wp-caption,
.single-product .woocommerce-Tabs-panel--description .wp-caption,
.single-product .woocommerce-tabs .panel figure,
.single-product .woocommerce-tabs .panel .wp-caption {
	display: block !important;
	float: none !important;
	width: fit-content !important;
	max-width: 100% !important;
	margin: 24px auto !important;
	padding: 0 !important;
	text-align: center !important;
}

.single-product .woocommerce-Tabs-panel--description figure img,
.single-product .woocommerce-Tabs-panel--description .wp-caption img,
.single-product .woocommerce-tabs .panel figure img,
.single-product .woocommerce-tabs .panel .wp-caption img {
	display: block !important;
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 auto !important;
}

/* Chú thích ảnh sát ảnh, dễ đọc hơn */
.single-product .woocommerce-Tabs-panel--description figcaption,
.single-product .woocommerce-Tabs-panel--description .wp-caption-text,
.single-product .woocommerce-tabs .panel figcaption,
.single-product .woocommerce-tabs .panel .wp-caption-text {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 6px auto 0 !important;
	padding: 0 6px !important;

	color: #737d89 !important;
	font-size: 12.5px !important;
	font-style: italic !important;
	line-height: 1.45 !important;

	text-align: center !important;
	text-align-last: center !important;
}

/* Ảnh rời không nằm trong figure vẫn căn giữa */
.single-product .woocommerce-Tabs-panel--description > img,
.single-product .woocommerce-Tabs-panel--description p > img,
.single-product .woocommerce-tabs .panel > img,
.single-product .woocommerce-tabs .panel p > img {
	display: block !important;
	float: none !important;
	max-width: 100% !important;
	height: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}


/* =========================================================
   12. FIREHUB - RESPONSIVE TỔNG THỂ TRANG SẢN PHẨM
   Tối ưu tablet + mobile nhỏ, đặc biệt 360px.
   Chỉ bổ sung override, không xóa responsive cũ.
   ========================================================= */

/* ---------- Tablet / mobile lớn ---------- */
@media (max-width: 800px) {

	/* Khoảng cách breadcrumb gọn hơn */
	.fhp-breadcrumb-wrap {
		margin-bottom: 18px !important;
	}

	.fhp-breadcrumb {
		padding: 10px 0 12px !important;
		gap: 5px !important;
		font-size: 12.5px !important;
	}

	/* Layout mô tả về một cột */
	.firehub-product-detail {
		margin-top: 10px !important;
	}

	.firehub-product-detail-grid {
		grid-template-columns: minmax(0,1fr) !important;
		gap: 28px !important;
	}

	/* Tab gọn, không xuống dòng */
	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs {
		gap: 20px !important;
		margin-bottom: 16px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs li a {
		height: 42px !important;
		line-height: 42px !important;
		font-size: 14px !important;
	}

	/* Panel mô tả bớt padding */
	.firehub-product-description .woocommerce-Tabs-panel,
	.firehub-product-description .woocommerce-tabs .panel {
		padding: 22px 18px 26px !important;
		border-radius: 12px !important;
	}

	/* Heading mô tả */
	.firehub-product-description .woocommerce-Tabs-panel h2 {
		margin-top: 30px !important;
		font-size: 22px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel h3 {
		margin-top: 24px !important;
		font-size: 18px !important;
	}

	/* Sidebar sale xuống dưới, bỏ sticky */
	.fh-sale-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		align-self: auto !important;
	}

	.fh-sale-sidebar-inner {
		position: static !important;
		top: auto !important;
	}

	.fh-sale-title {
		font-size: 22px !important;
		margin-bottom: 15px !important;
	}
}


/* ---------- Mobile <= 640 ---------- */
@media (max-width: 640px) {

	/* Tránh overflow ngang toàn trang */
	body.single-product,
	body.single-product .fh-woo-wrap,
	body.single-product .woocommerce,
	body.single-product div.product {
		overflow-x: hidden;
	}

	/* Breadcrumb */
	.fhp-breadcrumb-current {
		max-width: 190px !important;
	}

	/* Gallery WooCommerce */
	.single-product div.product div.images,
	.single-product .woocommerce-product-gallery {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 18px !important;
	}

	.single-product .woocommerce-product-gallery__wrapper {
		width: 100% !important;
		margin: 0 !important;
	}

	.single-product .woocommerce-product-gallery__image {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}

	.single-product .woocommerce-product-gallery__image img {
		display: block !important;
		width: auto !important;
		max-width: 92% !important;
		height: auto !important;
		margin: 0 auto !important;
		object-fit: contain !important;
	}

	/* Thumbnails không ép quá chật */
	.single-product .flex-control-thumbs {
		display: flex !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 10px 0 0 !important;
		padding: 0 0 2px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.single-product .flex-control-thumbs::-webkit-scrollbar {
		display: none;
	}

	.single-product .flex-control-thumbs li {
		flex: 0 0 68px !important;
		width: 68px !important;
		margin: 0 !important;
	}

	.single-product .flex-control-thumbs img {
		width: 68px !important;
		height: 68px !important;
		object-fit: contain !important;
	}

	/* Summary */
	.single-product div.product .summary {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 16px !important;
	}

	.single-product div.product .product_title {
		margin-bottom: 10px !important;
		font-size: 22px !important;
		line-height: 1.35 !important;
	}

	.single-product .summary .woocommerce-product-rating {
		gap: 7px !important;
		margin-bottom: 12px !important;
	}

	.single-product div.product p.price,
	.single-product div.product span.price {
		font-size: 26px !important;
		line-height: 1.2 !important;
	}

	.single-product .woocommerce-product-details__short-description,
	.single-product .woocommerce-product-details__short-description p {
		font-size: 14px !important;
		line-height: 1.7 !important;
	}

	/* Quantity + hai nút: xếp dọc cho mobile */
	.single-product form.cart {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 9px !important;
		width: 100% !important;
	}

	.single-product form.cart .quantity {
		width: 86px !important;
		max-width: 86px !important;
		margin: 0 !important;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .firehub-buy-now {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	/* Meta sản phẩm */
	.single-product .product_meta {
		font-size: 12.5px !important;
		line-height: 1.65 !important;
	}

	/* Mô tả */
	.firehub-product-description .woocommerce-Tabs-panel,
	.firehub-product-description .woocommerce-tabs .panel {
		padding: 20px 15px 23px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel p,
	.firehub-product-description .woocommerce-Tabs-panel li {
		font-size: 14.5px !important;
		line-height: 1.75 !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel h2 {
		font-size: 21px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel h3 {
		font-size: 18px !important;
	}

	/* Ảnh + caption mobile */
	.single-product .woocommerce-Tabs-panel--description figure,
	.single-product .woocommerce-Tabs-panel--description figure.wp-caption,
	.single-product .woocommerce-Tabs-panel--description .wp-caption,
	.single-product .woocommerce-tabs .panel figure,
	.single-product .woocommerce-tabs .panel .wp-caption {
		width: 100% !important;
		max-width: 100% !important;
		margin: 18px auto !important;
	}

	.single-product .woocommerce-Tabs-panel--description figure img,
	.single-product .woocommerce-Tabs-panel--description .wp-caption img,
	.single-product .woocommerce-tabs .panel figure img,
	.single-product .woocommerce-tabs .panel .wp-caption img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
	}

	.single-product .woocommerce-Tabs-panel--description figcaption,
	.single-product .woocommerce-Tabs-panel--description .wp-caption-text,
	.single-product .woocommerce-tabs .panel figcaption,
	.single-product .woocommerce-tabs .panel .wp-caption-text {
		margin-top: 5px !important;
		padding: 0 4px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	/* Table không bị vỡ layout */
	.firehub-product-description .woocommerce-Tabs-panel table,
	.single-product .woocommerce-Tabs-panel--description table,
	.single-product .woocommerce-tabs .panel table {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}

	.firehub-product-description .woocommerce-Tabs-panel table th,
	.firehub-product-description .woocommerce-Tabs-panel table td,
	.single-product .woocommerce-Tabs-panel--description table th,
	.single-product .woocommerce-Tabs-panel--description table td {
		min-width: 135px;
		padding: 10px 11px !important;
		font-size: 13px !important;
	}

	/* Sale sidebar cards */
	.fh-sale-products {
		gap: 10px !important;
	}

	.fh-sale-card {
		grid-template-columns: 88px minmax(0,1fr) !important;
		min-height: 96px !important;
	}

	.fh-sale-thumb {
		width: 88px !important;
		height: 92px !important;
		padding: 7px !important;
	}

	.fh-sale-info {
		padding: 9px 10px 9px 3px !important;
	}

	.fh-sale-product-title {
		font-size: 12.5px !important;
		-webkit-line-clamp: 2;
	}

	.fh-sale-title {
		font-size: 21px !important;
	}
}


/* ---------- Mobile nhỏ: 360px / 375px ---------- */
@media (max-width: 380px) {

	.fhp-breadcrumb {
		font-size: 11.5px !important;
		line-height: 1.45 !important;
	}

	.fhp-breadcrumb-current {
		max-width: 165px !important;
	}

	/* Title */
	.single-product div.product .product_title {
		font-size: 20px !important;
		line-height: 1.35 !important;
	}

	/* Rating */
	.single-product .summary .woocommerce-product-rating {
		align-items: flex-start !important;
		gap: 5px 7px !important;
	}

	.single-product .summary .woocommerce-product-rating .woocommerce-review-link {
		font-size: 12px !important;
	}

	/* Gallery thumbnail 64px */
	.single-product .flex-control-thumbs li,
	.single-product .flex-control-thumbs img {
		width: 64px !important;
	}

	.single-product .flex-control-thumbs li {
		flex-basis: 64px !important;
	}

	.single-product .flex-control-thumbs img {
		height: 64px !important;
	}

	/* Tab */
	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs {
		gap: 16px !important;
	}

	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs li a {
		height: 40px !important;
		line-height: 40px !important;
		font-size: 13px !important;
	}

	/* Panel */
	.firehub-product-description .woocommerce-Tabs-panel,
	.firehub-product-description .woocommerce-tabs .panel {
		padding: 18px 12px 21px !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel p,
	.firehub-product-description .woocommerce-Tabs-panel li {
		font-size: 14px !important;
	}

	/* Nút xem thêm */
	.fh-description-toggle {
		width: 100%;
		min-width: 0;
		min-height: 44px;
	}

	/* Table */
	.firehub-product-description .woocommerce-Tabs-panel table th,
	.firehub-product-description .woocommerce-Tabs-panel table td,
	.single-product .woocommerce-Tabs-panel--description table th,
	.single-product .woocommerce-Tabs-panel--description table td {
		min-width: 128px;
		padding: 9px 10px !important;
		font-size: 12.5px !important;
	}

	/* Review form */
	.single-product #review_form_wrapper {
		padding: 16px 12px !important;
	}

	.single-product #review_form p.stars > span {
		gap: 1px !important;
	}

	.single-product #review_form p.stars a,
	.single-product #review_form p.stars > span > a {
		width: 31px !important;
		height: 32px !important;
	}

	.single-product #review_form p.stars a::before,
	.single-product #review_form p.stars > span > a::before {
		font-size: 27px !important;
		line-height: 32px !important;
	}

	/* Sale */
	.fh-sale-card {
		grid-template-columns: 80px minmax(0,1fr) !important;
		min-height: 90px !important;
	}

	.fh-sale-thumb {
		width: 80px !important;
		height: 86px !important;
	}

	.fh-sale-product-title {
		font-size: 12px !important;
	}
}

/* =========================================================
   13. FIREHUB - MOBILE TABLE + LABEL SỐ LƯỢNG
   - Bảng thông số tự xuống dòng, không kéo ngang.
   - Thêm text "Số lượng:" trước ô chọn số lượng trên mobile.
   ========================================================= */

@media (max-width: 640px) {

	/* ===== BẢNG THÔNG SỐ: KHÔNG CUỘN NGANG ===== */
	.firehub-product-description .woocommerce-Tabs-panel table,
	.single-product .woocommerce-Tabs-panel--description table,
	.single-product .woocommerce-tabs .panel table {
		display: table !important;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	.firehub-product-description .woocommerce-Tabs-panel table th,
	.firehub-product-description .woocommerce-Tabs-panel table td,
	.single-product .woocommerce-Tabs-panel--description table th,
	.single-product .woocommerce-Tabs-panel--description table td,
	.single-product .woocommerce-tabs .panel table th,
	.single-product .woocommerce-tabs .panel table td {
		min-width: 0 !important;
		width: auto !important;
		padding: 10px 11px !important;
		font-size: 13px !important;
		line-height: 1.5 !important;
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
		vertical-align: middle !important;
	}

	/* Cột trái gọn hơn, cột phải rộng hơn */
	.single-product .woocommerce-Tabs-panel--description table th:first-child,
	.single-product .woocommerce-Tabs-panel--description table td:first-child,
	.single-product .woocommerce-tabs .panel table th:first-child,
	.single-product .woocommerce-tabs .panel table td:first-child {
		width: 40% !important;
	}

	.single-product .woocommerce-Tabs-panel--description table th:nth-child(2),
	.single-product .woocommerce-Tabs-panel--description table td:nth-child(2),
	.single-product .woocommerce-tabs .panel table th:nth-child(2),
	.single-product .woocommerce-tabs .panel table td:nth-child(2) {
		width: 60% !important;
	}

	/* ===== SỐ LƯỢNG: THÊM LABEL TRƯỚC Ô ===== */
	.single-product form.cart {
		position: relative;
	}

	.single-product form.cart .quantity {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 10px !important;
		margin: 0 0 2px !important;
		overflow: visible !important;
		border: 0 !important;
		background: transparent !important;
	}

	.single-product form.cart .quantity::before {
		content: "Số lượng:";
		display: inline-block;
		flex: 0 0 auto;
		margin-right: 2px;
		color: #1b222c;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
	}

	.single-product form.cart .quantity input.qty {
		flex: 0 0 74px !important;
		width: 74px !important;
		height: 48px !important;
		min-width: 74px !important;
		margin: 0 !important;
		padding: 0 10px !important;
		border: 1px solid #cfd5dc !important;
		border-radius: 10px !important;
		background: #fff !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	/* Nếu theme có nút +/- thì giữ cùng chiều cao */
	.single-product form.cart .quantity button,
	.single-product form.cart .quantity .minus,
	.single-product form.cart .quantity .plus {
		height: 48px !important;
	}
}

@media (max-width: 380px) {

	/* Bảng 360px: chữ nhỏ thêm một chút */
	.firehub-product-description .woocommerce-Tabs-panel table th,
	.firehub-product-description .woocommerce-Tabs-panel table td,
	.single-product .woocommerce-Tabs-panel--description table th,
	.single-product .woocommerce-Tabs-panel--description table td,
	.single-product .woocommerce-tabs .panel table th,
	.single-product .woocommerce-tabs .panel table td {
		padding: 9px 9px !important;
		font-size: 12.5px !important;
		line-height: 1.45 !important;
	}

	.single-product form.cart .quantity::before {
		font-size: 13.5px;
	}

	.single-product form.cart .quantity input.qty {
		flex-basis: 72px !important;
		width: 72px !important;
		min-width: 72px !important;
	}
}

/* =========================================================
   14. FIREHUB - QUANTITY + BUTTON WIDTH FINAL
   - Giữ input number native để còn mũi tên tăng/giảm trên PC/mobile.
   - Mobile không full width 2 nút mua.
   ========================================================= */

/* Giữ nguyên cấu trúc input number mặc định */
.single-product form.cart .quantity input.qty {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	-moz-appearance: auto !important;
}

/* Không ẩn spinner của input number */
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: auto !important;
	opacity: 1 !important;
	margin: 0 !important;
}

/* PC: quantity giữ dạng box nhỏ như hiện tại */
@media (min-width: 641px) {
	.single-product form.cart .quantity {
		width: auto !important;
		max-width: none !important;
	}

	.single-product form.cart .quantity::before {
		content: none !important;
	}

	.single-product form.cart .quantity input.qty {
		width: 74px !important;
		min-width: 74px !important;
		height: 50px !important;
	}
}

/* Mobile: có label "Số lượng:", vẫn giữ spinner native */
@media (max-width: 640px) {

	.single-product form.cart {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 9px !important;
		width: 100% !important;
	}

	.single-product form.cart .quantity {
		display: flex !important;
		align-items: center !important;
		width: auto !important;
		max-width: 100% !important;
		gap: 10px !important;
		margin: 0 0 2px !important;
	}

	.single-product form.cart .quantity::before {
		content: "Số lượng:";
		display: inline-block;
		flex: 0 0 auto;
		color: #1b222c;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
	}

	.single-product form.cart .quantity input.qty {
		flex: 0 0 74px !important;
		width: 74px !important;
		min-width: 74px !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		border: 1px solid #cfd5dc !important;
		border-radius: 10px !important;
		background: #fff !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	/*
	 * Hai nút không full width.
	 * 78% cho màn 390-640px.
	 */
	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .firehub-buy-now {
		width: 78% !important;
		max-width: 330px !important;
		min-width: 220px !important;
		min-height: 48px !important;
		margin: 0 !important;
		align-self: flex-start !important;
	}
}

/* Mobile nhỏ 360-380px: giảm nhẹ còn ~72% */
@media (max-width: 380px) {

	.single-product form.cart .quantity::before {
		font-size: 13.5px;
	}

	.single-product form.cart .quantity input.qty {
		flex-basis: 72px !important;
		width: 72px !important;
		min-width: 72px !important;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .firehub-buy-now {
		width: 72% !important;
		max-width: none !important;
		min-width: 210px !important;
	}
}

/* =========================================================
   FIREHUB - MOBILE BUTTON CENTER + GIẢM KHOẢNG CÁCH MÔ TẢ
   ========================================================= */

@media (max-width: 640px) {

	/* Căn giữa 2 nút */
	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .firehub-buy-now {
		align-self: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	/*Căn giữa số lượng*/
	@media (max-width: 640px) {

	.single-product form.cart .quantity {
		justify-content: center !important;
		align-self: center !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.single-product form.cart .quantity::before {
		margin: 0 !important;
	}

	.single-product form.cart .quantity input.qty {
		margin: 0 !important;
	}
}

	/* Meta danh mục gọn hơn */
	.single-product .product_meta {
		margin-top: 10px !important;
		margin-bottom: 8px !important;
	}

	/* Giảm khoảng cách từ phần mua hàng xuống khu mô tả */
	.woocommerce div.product .firehub-product-detail,
	.firehub-product-detail {
		margin-top: 2px !important;
		padding-top: 0 !important;
	}

	/* Tab sát hơn */
	.woocommerce div.product
	.firehub-product-description
	.woocommerce-tabs
	ul.tabs {
		margin-top: 0 !important;
		margin-bottom: 12px !important;
	}

	/* Giảm khoảng cách tổng dưới summary */
	.single-product div.product .summary {
		margin-bottom: 8px !important;
	}

	.fhp-after-summary-clear {
		margin: 0 !important;
		padding: 0 !important;
		height: 0 !important;
	}
}

/* =========================================================
   FIREHUB - MOBILE RELATED PRODUCTS GIỐNG SALE SIDEBAR
   FIX KHOẢNG CÁCH: ảnh span 3 hàng, title/price/button xếp sát nhau.
   ========================================================= */

@media (max-width: 640px) {

	/* Related / Upsell về 1 cột */
	.single-product .related.products ul.products,
	.single-product .upsells.products ul.products {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Card: 2 cột, 3 hàng rõ ràng */
	.single-product .related.products ul.products li.product,
	.single-product .upsells.products ul.products li.product {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 16px !important;
		row-gap: 5px !important;
		align-items: start !important;
		align-content: start !important;

		width: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 10px 12px !important;

		border: 1px solid #dfe4e8 !important;
		border-radius: 9px !important;
		background: #fff !important;

		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	/* Link WooCommerce không tạo thêm box layout */
	.single-product .related.products ul.products li.product > a,
	.single-product .upsells.products ul.products li.product > a {
		display: contents !important;
	}

	/* Ảnh nằm cột trái và span cả 3 hàng */
	.single-product .related.products ul.products li.product a img,
	.single-product .upsells.products ul.products li.product a img {
		grid-column: 1 !important;
		grid-row: 1 / span 3 !important;
		align-self: start !important;

		width: 80px !important;
		height: 82px !important;
		margin: 0 !important;
		padding: 4px !important;

		object-fit: contain !important;
		background: #fff !important;
		border-radius: 6px !important;
	}

	/* Tên sản phẩm: hàng 1 */
	.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
	.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: start !important;

		margin: 0 !important;
		padding: 0 !important;

		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
		color: #18212c !important;

		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden !important;
	}

	/* Giá: hàng 2, sát tên */
	.single-product .related.products ul.products li.product .price,
	.single-product .upsells.products ul.products li.product .price {
		grid-column: 2 !important;
		grid-row: 2 !important;
		align-self: start !important;

		display: flex !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		gap: 5px !important;

		margin: 0 !important;
		padding: 0 !important;

		color: #e63322 !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
	}

	.single-product .related.products ul.products li.product .price del,
	.single-product .upsells.products ul.products li.product .price del {
		color: #8a929e !important;
		font-size: 11px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
	}

	.single-product .related.products ul.products li.product .price ins,
	.single-product .upsells.products ul.products li.product .price ins {
		text-decoration: none !important;
	}

	/* Nút: hàng 3, ngay dưới giá */
	.single-product .related.products ul.products li.product .button,
	.single-product .upsells.products ul.products li.product .button {
		grid-column: 2 !important;
		grid-row: 3 !important;
		align-self: start !important;
		justify-self: start !important;

		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: auto !important;
		min-width: 135px !important;
		max-width: 180px !important;
		min-height: 34px !important;

		margin: 2px 0 0 !important;
		padding: 6px 12px !important;

		border: 1px solid #e63322 !important;
		border-radius: 8px !important;

		background: #fff !important;
		color: #e63322 !important;

		font-size: 12px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;

		text-decoration: none !important;
		box-shadow: none !important;
	}

	.single-product .related.products ul.products li.product .button:hover,
	.single-product .upsells.products ul.products li.product .button:hover {
		background: #e63322 !important;
		color: #fff !important;
		border-color: #e63322 !important;
	}

	/* Badge sale */
	.single-product .related.products ul.products li.product .onsale,
	.single-product .upsells.products ul.products li.product .onsale {
		top: 8px !important;
		left: 0 !important;
		right: auto !important;

		min-width: auto !important;
		min-height: auto !important;

		margin: 0 !important;
		padding: 5px 8px !important;

		border-radius: 0 4px 4px 0 !important;
		background: #ef2027 !important;
		color: #fff !important;

		font-size: 11px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}

	/* Heading */
	.single-product .related.products > h2,
	.single-product .upsells.products > h2 {
		margin-bottom: 16px !important;
		font-size: 22px !important;
		line-height: 1.3 !important;
	}
}

/* Màn rất nhỏ: co nhẹ card */
@media (max-width: 380px) {

	.single-product .related.products ul.products li.product,
	.single-product .upsells.products ul.products li.product {
		grid-template-columns: 80px minmax(0, 1fr) !important;
		column-gap: 12px !important;
		row-gap: 4px !important;
		padding: 9px 10px !important;
	}

	.single-product .related.products ul.products li.product a img,
	.single-product .upsells.products ul.products li.product a img {
		width: 74px !important;
		height: 78px !important;
	}

	.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
	.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
		font-size: 12.5px !important;
	}

	.single-product .related.products ul.products li.product .price,
	.single-product .upsells.products ul.products li.product .price {
		font-size: 14px !important;
	}

	.single-product .related.products ul.products li.product .button,
	.single-product .upsells.products ul.products li.product .button {
		min-width: 125px !important;
		min-height: 32px !important;
		padding: 5px 10px !important;
		font-size: 11.5px !important;
	}
}

.single-product .related.products ul.products li.product .button:hover,
.single-product .upsells.products ul.products li.product .button:hover {
	background: #e63322 !important;
	color: #fff !important;
	border-color: #e63322 !important;
}
	/* Badge sale */
	.single-product .related.products ul.products li.product .onsale,
	.single-product .upsells.products ul.products li.product .onsale {
		top: 8px !important;
		left: 0 !important;
		right: auto !important;

		min-width: auto !important;
		min-height: auto !important;

		margin: 0 !important;
		padding: 5px 8px !important;

		border-radius: 0 4px 4px 0 !important;

		background: #ef2027 !important;
		color: #fff !important;

		font-size: 11px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}

	/* Heading */
	.single-product .related.products > h2,
	.single-product .upsells.products > h2 {
		margin-bottom: 16px !important;
		font-size: 22px !important;
		line-height: 1.3 !important;
	}
}

/* =========================================================
   FIREHUB - FIX FONT-WEIGHT BẢNG THÔNG SỐ
   - Header bảng giữ in đậm.
   - Cột 1 (hạng mục/thông số) giữ in đậm.
   - Cột 2 (giá trị/thông số) luôn font thường, kể cả HTML dùng <th>.
   ========================================================= */

/* Header bảng */
.single-product .woocommerce-Tabs-panel--description table thead th,
.single-product .woocommerce-tabs .panel table thead th {
	font-weight: 700 !important;
}

/* Cột đầu trong phần dữ liệu: đậm */
.single-product .woocommerce-Tabs-panel--description table tbody tr > :first-child,
.single-product .woocommerce-tabs .panel table tbody tr > :first-child {
	font-weight: 700 !important;
}

/* Cột thứ 2 trong phần dữ liệu: luôn chữ thường */
.single-product .woocommerce-Tabs-panel--description table tbody tr > :nth-child(2),
.single-product .woocommerce-tabs .panel table tbody tr > :nth-child(2) {
	font-weight: 400 !important;
}

