/**
	Theme Name: Goya Child Theme
	Template: goya
	Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* ============================================
   BIẾN TOÀN CỤC
   ============================================ */
:root {
	--padding_canh_pc: 15px;
	--color_accent: #009bb4;
	--color_heading: #282828;
	--chu_dam: #282828;
	--border_nhat: 1px solid #f2efef;
	--border_dam: 1px ridge #e3dfdf;
	--boxshadow_nhe: 0 4px 8px rgba(0,0,0,.03), 0 -4px 8px rgba(0,0,0,.03), 4px 0 8px rgba(0,0,0,.03), -4px 0 8px rgba(0,0,0,.03);
	--boxshadow_3huong: 0 1px 3px rgba(0,0,0,.08), 0 6px 12px rgba(0,0,0,.06), 0 12px 24px rgba(0,0,0,.05);
	--boxshadow_dam: 0px 8px 16px -8px rgba(0,0,0,.3), 0px 13px 27px -5px rgba(50,50,93,.25);
	--backgr_table_head: #f1f1f1;
	--backgr_xam: rgba(201,201,201,.13);
	--backgr_nhat: #fefefe;
	--back_hover_dam: rgba(128,128,128,.2);
	--backgr_main: #f8f8f8;
}

/* ============================================
   RESET & BASE
   ============================================ */
*, :after, :before {
	box-sizing: border-box;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
	font-family: "Roboto", sans-serif;
	line-height: 1.2;
	font-weight: 500;
	color: var(--color_heading);
	margin-bottom: 1rem;
}
h1 { font-size: 3rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.375rem; }

p {
	font-size: 1rem;
	line-height: 1.25;
	margin-bottom: 1rem;
}

/* Chỉ áp dụng cho link nằm trong phần nội dung chính */
.entry-content a:link,.main-content a:link,.product_meta a:link,.posted_in a:link,.posted_in a, main a:link {
    color: var(--color_accent) !important;
}

strong { font-weight: 500; }

@media (max-width:1200px) {
	h1 { font-size: 2.75rem; }
	h2 { font-size: 2rem; }
	h3 { font-size: 1.625rem; }
	h4 { font-size: 1.25rem; }
}
@media (max-width:768px) {
	h1 { font-size: 2.5rem; }
	h2 { font-size: 1.875rem; }
	h3 { font-size: 1.5rem; }
	h4 { font-size: 1.125rem; }
	p { font-size: .9375rem; }
}
@media (max-width:480px) {
	h1 { font-size: 2rem; }
	h2 { font-size: 1.625rem; }
	h3 { font-size: 1.25rem; }
	h4 { font-size: 1rem; }
	p { font-size: .875rem; }
}

/* ============================================
   TABLE — CHUNG CHO TOÀN WEB
   ============================================ */
table {
	color: #333;
	width: 100%;
	margin: 0 0 24px 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	font-size: 14px;
}

td {
	padding: 11px 16px;
	color: #333;
	font-weight: 400;
	background: #fff;
	border: 1px solid #e5e5e5;
	vertical-align: middle;
	line-height: 1.5;
}

td strong, td b {
	font-weight: 600;
	color: #1a1a1a;
}

/* Hàng đầu tiên khi KHÔNG có thead — reset sạch */
table:not(:has(thead)) tr:first-child td {
	position: static;
	top: auto;
	z-index: auto;
	background: #fff;
	color: #333;
	font-weight: 400;
	padding: 11px 16px;
	border: 1px solid #e5e5e5;
	text-transform: none;
}

table:not(:has(thead)) tr:first-child td strong,
table:not(:has(thead)) tr:first-child td b {
	font-weight: 400;
	color: #333;
}

table:not(:has(thead)) tr:first-child td::before,
table:not(:has(thead)) tr:first-child td::after {
	display: none;
	content: none;
}


/* THEAD — nền xám, không sticky */
table thead th {
	background: #f1f1f1;
	color: #1a1a1a;
	font-weight: 600;
	text-align: left;
	padding: 12px 16px;
	border: 1px solid #e5e5e5;
	text-transform: none;
}

table thead th::before,
table thead th::after {
	display: none;
	content: none;
}

tr:hover td { background: #f9fafb; }

td a { color: #333; text-decoration: none; transition: color .2s ease; }
td a:hover { color: #002f70; text-decoration: underline; }

// ============================================
// GIẢM KHOẢNG CÁCH LI - TOÀN SITE
// ============================================
li {
    margin-bottom: 6px !important;
    line-height: 1.5 !important;
}

li:last-child {
    margin-bottom: 0 !important;
}

/* ============================================
   BẢNG THUỘC TÍNH SẢN PHẨM (.custom-attributes-table)
   ============================================ */
.custom-attributes-table .product-attributes-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #e0e0e0;
	font-size: 14px;
}

.custom-attributes-table .product-attributes-table td {
	padding: 10px 14px;
	border: 1px solid #e0e0e0;
	vertical-align: middle;
	line-height: 1.5;
	font-weight: 400;
	color: #333;
	background: #fff;
}

/* ============================================
   LABEL — in đậm, nền xám cho MỌI hàng
   ============================================ */
.custom-attributes-table .attribute-label,
.custom-attributes-table td.attribute-label,
.custom-attributes-table .attribute-label a,
.custom-attributes-table .attribute-label * {
	font-weight: 600 !important;
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;
	background: #f5f5f5 !important;
	width: 35%;
	white-space: nowrap;
}

/* ============================================
   VALUE — không đậm, nền trắng
   ============================================ */
.custom-attributes-table .attribute-value,
.custom-attributes-table td.attribute-value,
.custom-attributes-table .attribute-value a,
.custom-attributes-table .attribute-value * {
	font-weight: 400 !important;
	color: #333 !important;
	-webkit-text-fill-color: #333 !important;
	background: #fff !important;
	text-decoration: none !important;
}

.custom-attributes-table .attribute-value a:hover {
	color: #0073aa !important;
	-webkit-text-fill-color: #0073aa !important;
	text-decoration: underline !important;
}

/* ============================================
   RESET STRONG/B TRONG BẢNG
   ============================================ */
.custom-attributes-table strong,
.custom-attributes-table b {
	font-weight: inherit !important;
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

/* Bảng thông số kỹ thuật chính */
.thong_so_chinh_table {
	width: 100% !important;
	display: table;
	border-collapse: collapse !important;
	text-align: center;
}

.thong_so_chinh_table th {
	background-color: var(--backgr_xam) !important;
	position: initial;
	text-align: center;
	text-transform: none !important;
	font-weight: 600 !important;
	box-shadow: unset;
	color: inherit !important;
}

.thong_so_chinh_table tr:hover { pointer-events: none !important; }

.thong_so_chinh_table th,
.thong_so_chinh_table td {
	border: 1px solid #e6e6e6 !important;
	font-size: .95rem !important;
}

.thong_so_chinh_table tr:last-child td {
	background-color: var(--backgr_nhat) !important;
}

@media (max-width:767px) {
	.thong_so_chinh_table tbody { display: flex; width: 100%; }
	.thong_so_chinh_table tr { display: flex; flex-direction: column; }
	.thong_so_chinh_table tr:first-child {
		width: fit-content;
		background-color: var(--backgr_xam) !important;
		font-weight: 600;
	}
	.thong_so_chinh_table tr:last-child { flex: 1; }
	.thong_so_chinh_table tr:last-child td { background-color: var(--backgr_main) !important; }
	.thong_so_chinh_table th,
	.thong_so_chinh_table td {
		padding: 8px 12px;
		text-align: left;
		border: 1px solid #e6e6e6 !important;
		min-width: 100%;
		box-sizing: border-box;
	}
}

/* Tab technical_specs */
#tab-technical_specs table {
	display: table;
	width: auto !important;
	margin: 0 auto;
}

/* ============================================
   PAGINATION
   ============================================ */
ul.page-numbers {
	justify-content: center;
	margin: 0 auto 50px;
	display: flex;
	width: fit-content;
	padding: .4rem 1.7rem;
	list-style: none;
	border: hsla(0,6%,83%,.5) solid 1px;
	border-radius: 6px;
	box-shadow: var(--boxshadow_3huong);
}

.page-numbers li { margin: 0; }

.page-numbers .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 30px;
	padding: 4px 7px 6px;
	margin: 4px 2px;
	text-decoration: none;
	border-radius: 5px;
	transition: all .2s ease;
}

.page-numbers .page-numbers:hover { background-color: var(--back_hover_dam); }

.page-numbers .current {
	background-color: var(--color_accent);
	color: #fff !important;
	text-decoration: none !important;
	pointer-events: none;
}

.page-numbers .next,
.page-numbers .prev { padding-left: 12px; padding-right: 12px; }
.page-numbers .next { margin-left: 2rem; }
.page-numbers .prev { margin-right: 2rem; }
.page-numbers .dots { color: #666; }

.page-numbers a:focus { outline: none; border: solid 1px var(--color_accent); }

@media (max-width:768px) {
	ul.page-numbers { padding: .4rem 1rem; }
	.page-numbers .page-numbers {
		font-size: 12px;
		padding: 3px 3px 4px;
		min-width: 32px;
		margin: 0 1px;
	}
	.page-numbers .next,
	.page-numbers .prev { padding: 0 8px; }
	.page-numbers .next { margin-left: 1rem; }
	.page-numbers .prev { margin-right: 1rem; }
}

/* ============================================
   FIBOSEARCH
   ============================================ */
.dgwt-wcas-suggestions-wrapp {
	width: fit-content !important;
	overflow: visible;
	height: fit-content;
}

.dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 37px;
	padding: 10px 15px 11px;
	border-width: 1px;
	border-color: #ddd;
	box-shadow: none !important;
	border-radius: 4px;
	width: 300px;
}

.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit { height: 100%; }

.dgwt-wcas-suggestion {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.dgwt-wcas-si img {
	max-width: 30px;
	margin-right: 10px;
}

.dgwt-wcas-st-label-in { margin-left: 5px; }

.dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier path { fill: #909999 !important; }

/* ============================================
   PRODUCT CATALOG
   ============================================ */
.shop-products-col.col { padding: 0 !important; }
.products .product_after_title { display: none; }

ul.products {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start; /* chống theme đẩy items lệch phải */
}

.products li.item {
    display: flex;
}

/* ============================================
   ★ FIX ÉP HIỂN THỊ SẢN PHẨM (PC + MOBILE) ★
   Chống hiệu ứng fade-in/trượt của theme cha bị "kẹt":
   - PC: sản phẩm ẩn hoàn toàn (opacity 0)
   - Mobile: sản phẩm bị dịch phải (transform kẹt)
     → khoảng trống lớn bên trái, chạm vào mới trượt về
   ============================================ */
ul.products li.item,
ul.products li.item .product-inner {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* Giữ lại hiệu ứng nâng nhẹ khi hover trên PC */
ul.products li.item .product-inner:hover {
    transform: translateY(-1px) !important;
}

.product-inner {
    overflow: hidden;
    width: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
    transition: border-color .3s ease;
    padding: 10px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-inner:hover {
    box-shadow: 0 0 8px rgba(160,160,160,.4);
    transform: translateY(-1px);
}

.product-labels-wrapper {
    min-height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 4px;
}

.product_thumbnail {
    overflow: hidden;
    margin: 0;
    padding: 10px 0;
    flex: 0 0 auto;
    height: 400px;
}

.product_thumbnail a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.product_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.caption {
    padding: 10px 0 0 !important;
    border-top: 1px solid #e5e5e5;
    flex: 1 0 auto;
    display: flex;
}

.product-inner .product-title {
    padding: 0;
    width: 100%;
    display: flex;
    margin: 0 !important;
}

.product-inner .product-title h2 {
    margin: 0 auto !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    min-height: auto !important;
    padding: 5px 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-title a {
    text-decoration: none;
    transition: color .1s;
    display: block !important;
    text-align: center !important;
    color: #000;
    padding: 5px 0 !important;
}

.product-title a:hover { color: var(--color_accent); }

/* ============================================
   TỐI ƯU & FIX LỖI CHO MOBILE (<= 768px)
   ============================================ */
@media (max-width: 768px) {
    /* Ép hiển thị & đặt chiều cao ngắn chuẩn cho mobile */
    .product-inner {
        padding: 7px;
        border-radius: 6px;
        height: 320px !important;
        max-height: 320px !important;
        opacity: 1 !important;
        visibility: visible !important;
        animation: none !important;
    }

    .product-labels-wrapper {
        min-height: 30px;
    }

    .product_thumbnail {
        padding: 0 !important;
        height: 200px !important;
    }

    .caption {
        padding: 5px 0 0 0 !important;
    }

    .product-inner .product-title h2,
    .product-title h2 {
        font-size: 13px !important;
        padding: 3px 0 !important;
    }

    .product-title a {
        padding: 3px 0 !important;
    }
}

/* ============================================
   ÉP CHIỀU CAO CHO PC (>= 769px)
   ============================================ */
@media (min-width: 769px) {
    .product-inner {
        height: 520px !important;
        max-height: 520px !important;
        opacity: 1 !important;
        visibility: visible !important;
        animation: none !important;
    }
}

/* ============================================
   HEADER / STICKY BAR
   ============================================ */
@media (min-width:1024px) {
	.sticky-product-bar { height: fit-content !important; padding: 15px 0; }
	.sticky-product-bar-image { display: none; }
	.sticky-product-bar-title { max-width: unset; }
}

header .header-contents.container { padding-top: 0 !important; }

/* ============================================
   PRODUCT INFO / SUMMARY
   ============================================ */
.et-pro-summary-content { margin-top: 1rem; }

.et-product-detail .product_meta {
	font-size: 1rem;
	margin-top: 0;
}

.posted_in.expanded a { padding: unset; margin-left: unset; }
.posted_in { padding-right: unset; }
.product_meta a { color: inherit !important; }
.product_meta { font-weight: bold; color: unset; }
.product_meta span span,
.product_meta span a { font-weight: normal; color: unset; }
.sku_wrapper .sku { color: inherit !important; }

.summary.entry-summary {
	max-width: unset !important;
	height: 100%;
	color: inherit !important;
	padding: 0 !important;
	border-radius: 25px;
	font-size: .95rem !important;
	margin-bottom: 0 !important;
}

h1.product_title { font-size: 1.6rem; margin-bottom: 2rem; }
@media (max-width:768px) { h1.product_title { font-size: 1.3rem; } }
@media (max-width:480px) { h1.product_title { font-size: 1.1rem !important; } }

.product-header-container nav.woocommerce-breadcrumb { margin-bottom: 15px; }
.product-header-container nav.woocommerce-breadcrumb a { color: var(--chu_dam); }

.product-information {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: static;
	margin-bottom: 0 !important;
}

@media (min-width:1024px) {
	.product-information { padding-left: 200px !important; }
}

.product-information td::after { all: unset !important; }

@media (max-width:1024px) {
	.showcase-row .product-information .entry-summary {
		border: unset;
		background-color: unset;
		padding: 0;
		margin-left: 0;
	}
	.container.showcase-inner { padding: 5px 8px; }
	.woocommerce-product-gallery-parent { padding: 0; }
	.woocommerce-product-gallery { height: fit-content; }
	.flex-direction-nav { margin-bottom: 0; }
}

.container.showcase-inner { padding-top: 5px !important; }
.product-showcase { margin-bottom: 0 !important; }
.showcase-row { margin-left: 0; margin-right: 0; }

.entry-content p { margin-bottom: 15px !important; font-size: .95rem; }


// ---- chỉnh thẳng hàng các mục taxonomy ----

/* ============================================
   NÚT BÁO GIÁ
   ============================================ */
@keyframes glow {
	0%   { box-shadow: 0 0 5px var(--color_accent); }
	50%  { box-shadow: 0 0 20px var(--color_accent); }
	100% { box-shadow: 0 0 5px var(--color_accent); }
}

.et-product-detail .summary .price {
	display: block;
	width: 100%;
	margin: 35px 0;
	float: none;
}

.clearfix.price-separator { display: none; }

.product-information .animate-price {
	display: block;
	height: 60px;
	color: #fff;
	text-decoration: none;
	transition: all .3s ease;
	background-color: #495057;
	font-size: 22px;
	font-weight: 500;
	align-content: center;
	text-align: center;
	border-radius: .5rem;
	box-shadow: 4px 4px 8px rgba(0,0,0,.2), -4px -4px 8px rgba(255,255,255,.1);
	padding: 10px 20px;
	transform: translateZ(0);
}

.product-information .animate-price:hover {
	background: var(--color_accent);
	color: #f8f9fa !important;
	animation: glow 1.5s infinite;
	transform: scale(1.05);
}

.product-information .animate-price:visited { color: #f8f9fa !important; }

.sticky-product-bar .animate-price {
	border: var(--border_nhat);
	height: 34.2px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 20px;
	transform: translateZ(0);
}


/* ============================================
   GALLERY
   ============================================ */
.product-gallery-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between !important;
	height: 100%;
}

.product-gallery-inner::after,
.product-gallery-inner::before { display: none !important; }

.woocommerce-product-gallery { max-width: 100vw; }

.woocommerce-product-gallery .flex-viewport,
product-gallery-inner > div,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image img {
	max-height: 450px !important;
	min-height: 350px !important;
}

.woocommerce-product-gallery__image.flex-active-slide { height: 100%; }
.woocommerce-product-gallery__wrapper { height: 100%; }
.woocommerce-product-gallery__image.flex-active-slide > a { height: 100%; }
.woocommerce-product-gallery__image img { height: 100%; object-fit: contain; }

@media (min-width:1024px) {
	.thumbnails-vertical .has-additional-thumbnails .flex-control-thumbs {
		position: absolute;
		top: 0;
		left: 0;
		margin-left: -75px;
	}
	.product-gallery.woocommerce-product-gallery-parent { padding: 0; }
}

@media (max-width:1024px) {
	.flex-control-nav.flex-control-thumbs {
		position: static;
		padding: 15px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 5px;
	}
	.flex-control-nav img {
		border-radius: 50%;
		background-color: #888;
		padding: 7px 3.5px 0 !important;
	}
	.flex-control-nav img.flex-active {
		padding: 7px 7px 0 !important;
		width: 28px !important;
		border-radius: 50px !important;
		background-color: var(--color_accent) !important;
		border: transparent 1px solid !important;
	}
	.woocommerce-product-gallery .flex-viewport,
	product-gallery-inner > div {
		max-height: 280px;
		min-height: 240px;
	}
}

/* ============================================
   RELATED PRODUCTS
   ============================================ */
.et-product-labels .product-label { all: unset; }

.et-related-product-link {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	text-decoration: none;
	color: inherit;
	width: 100%;
	gap: 25px;
}

.et-product-name { flex: 0 0 auto; }

.et-product-labels {
	flex: 0 0 auto;
	text-align: right;
	display: flex;
	gap: 10px;
}

.et-related-product-item { margin-bottom: 5px; }

.et-custom-related-products {
	border: 1px solid #e0e0e0;
	border-radius: .8rem;
	padding: 15px 20px 20px;
	margin: 20px 0 0 !important;
	box-shadow: var(--boxshadow_nhe);
}

.et-custom-related-products h2 {
	font-size: 1.2rem;
	text-align: center;
	font-weight: 550;
	padding-bottom: 15px;
	color: inherit !important;
	margin-bottom: 0;
}

.et-related-products-list {
	list-style-type: none;
	padding: 10px;
	overflow-y: auto;
	scrollbar-width: thin;
	max-height: 170px;
	border: var(--border_nhat);
	border-radius: 10px;
	margin-bottom: 0;
	margin-left: 0;
}

.et-related-products-list::-webkit-scrollbar-thumb {
	background-color: #ccc;
	border-radius: 5px;
}

.et-et-product-labels { margin-left: 100px; }

.et-related-product-item {
	padding: 6px 0 3px;
	border-bottom: 1px solid #f0f0f0;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.et-related-product-item:last-child { border-bottom: none; }

.et-related-product-item a {
	text-decoration: none;
	color: inherit;
	font-weight: normal;
	flex: 1;
}

.et-related-product-item a:hover { color: var(--color_accent); }

.et-related-product-info {
	font-size: 12px;
	color: #666;
	text-align: right;
	white-space: nowrap;
}

.et-product-label + .et-product-label { margin-left: 15px; }

@media (max-width:768px) {
	.et-custom-related-products {
		margin: 15px 0 !important;
		padding: 10px 8px 8px;
		background-color: inherit;
		box-shadow: none;
	}
	.et-product-name, .et-product-label { text-align: left !important; }
	.et-related-products-list {
		max-height: 100px;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 0;
		border: none;
		padding: 0 !important;
		border-radius: 0;
	}
	.et-related-product-item { font-size: 13px; }
	.et-et-product-labels { margin-left: 15px; }
	.et-custom-related-products h2 { margin-bottom: 0; }
	.et-product-labels { margin-right: 5px; }
}

/* ============================================
   WIDGET SẢN PHẨM NỔI BẬT
   ============================================ */
.product_list_widget {
	list-style: none;
	padding: 0;
	margin: 0;
}

.product_list_widget li {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.product_list_widget li img {
	flex-shrink: 0;
	width: auto !important;
	height: 40px !important;
	margin-right: 10px;
	object-fit: contain !important;
}

.product_list_widget li .product-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px !important;
	line-height: 1.5;
}

.product_list_widget li a {
	display: flex !important;
	align-items: center !important;
	color: inherit;
}

.product_list_widget li a:hover { color: var(--color_accent); }

h3.widgettitle.collapsible {
	font-size: 18px !important;
	text-transform: none !important;
	font-weight: 500 !important;
	font-family: "Roboto", serif !important;
	color: #282828 !important;
	letter-spacing: normal !important;
}

ul.product_list_widget {
	padding: 5px 0;
	border: var(--border_nhat);
}

/* ============================================
   FILTER SIDEBAR
   ============================================ */
.wc-block-components-checkbox__input,
.wc-block-components-checkbox__mark { display: none !important; }

.wc-block-components-checkbox.wc-block-checkbox-list__checkbox {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .1rem .6rem;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	cursor: pointer;
	transition: all .3s ease;
	text-align: center;
	white-space: nowrap;
	margin-top: 0 !important;
}

h3.wp-block-heading { margin-bottom: 12px; font-size: large; }

.wc-block-components-checkbox.wc-block-checkbox-list__checkbox:hover {
	background-color: var(--backgr_xam);
}

.wc-block-components-checkbox.wc-block-checkbox-list__checkbox .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__label {
	color: var(--color_accent);
}

.wc-block-components-checkbox.wc-block-checkbox-list__checkbox .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__label::before {
	content: "✓";
	margin-right: 5px;
}

.wc-block-checkbox-list {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
}

.wc-block-components-checkbox__label { font-size: 14px; }
.wc-block-components-checkbox-list li { margin: 0 !important; }
.shop-sidebar .widget ul li { padding-left: 0; }
.side-panel-content h2 { margin-bottom: 1rem; font-size: 1.8rem; }
.shop-sidebar-col { padding: 0 2rem 0 0; }

/* ============================================
   BLOCKQUOTE
   ============================================ */
blockquote, blockquote::before, .wp-block-quote::before { all: unset; }

blockquote {
	background-color: #f1f6ffd6;
	border: .8px solid #4c7bd978;
	border-radius: 10px;
	display: inline-block;
	width: fit-content;
	margin: 25px 40px;
	padding: 17px 30px;
}

blockquote * { width: fit-content; margin-bottom: 0; }

@media (max-width:768px) {
	blockquote {
		margin: 20px 15px;
		padding: 15px 20px;
		width: calc(100% - 30px);
		box-sizing: border-box;
	}
}

/* ============================================
   WOO TABS
   ============================================ */
ul.tabs.wc-tabs {
	margin: 40px auto 20px;
	padding: 8px 0 15px;
	width: 900px;
	padding-left: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	list-style: none;
	background: #fff;
	margin-bottom: 30px;
	justify-content: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: unset;
	border: unset;
	padding: 0;
	margin: 0 10px;
	position: relative;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 15px 25px;
	font-weight: 500;
	color: #666;
	text-decoration: none;
	display: block;
	border: unset;
	background: unset;
	position: relative;
	animation: unset;
	transition: color .3s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: #002f70; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #002f70;
	font-weight: 600;
}

@media (max-width:768px) {
	ul.tabs.wc-tabs {
		width: 100%;
		border: none;
		border-bottom: 1px solid #ccc;
		margin-top: 0;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		justify-content: flex-start;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 20px !important; }
}

/* KHUNG RỘNG + TÊN FILE ĐẦY ĐỦ */

/* Khung chính - TĂNG CHIỀU RỘNG */
.modern-downloads-container {
    max-width: 1100px !important; /* Tăng từ 850px lên 1100px */
    width: 95% !important; /* Chiếm 95% màn hình */
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e8e8e8 !important;
    padding: 0 !important;
    margin: 20px auto !important;
    overflow: hidden;
}

.document-item {
    padding: 18px 24px !important;
    border-bottom: 1px solid #e8e8e8 !important;
    background: transparent !important;
    transition: all 0.2s ease;
}

.document-item:last-child {
    border-bottom: none !important;
}

.document-item:hover { 
    background: #f8f9ff !important;
    padding-left: 28px !important;
}

.document-title-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333 !important;
    width: 100%;
    gap: 16px;
}

.document-icon { 
    color: #e74c3c; 
    font-size: 24px !important;
    min-width: 28px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.document-content { 
    flex: 1; 
    display: flex; 
    flex-direction: column;
    min-width: 0;
}

.title-date-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}

/* ===== PC: TÊN FILE ĐẦY ĐỦ, KHÔNG CẮT ===== */
.document-title { 
    font-size: 16px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    color: #2c3e50 !important;
    
    /* BỎ CẮT NGẮN - HIỂN THỊ ĐẦY ĐỦ */
    flex: 1;
    white-space: normal !important; /* Cho phép xuống dòng nếu cần */
    overflow: visible !important;
    text-overflow: clip !important;
    word-wrap: break-word;
    max-width: 100%;
}

.document-date { 
    font-size: 14px !important;
    color: #7f8c8d !important; 
    white-space: nowrap;
    font-weight: 400 !important;
    flex-shrink: 0;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
    .modern-downloads-container {
        max-width: 100% !important;
        width: 100% !important;
        margin: 10px 0 !important;
        border-radius: 8px !important;
    }
    
    .document-item { 
        padding: 16px 16px !important;
    }
    
    .document-item:hover {
        padding-left: 16px !important;
    }
    
    .title-date-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px !important;
    }
    
    .document-title { 
        font-size: 15px !important;
    }
    
    .document-date { 
        font-size: 13px !important; 
    }
    
    .document-icon {
        font-size: 22px !important;
    }
}

/* ============================================
   FOOTER
   ============================================ */
.footer-widgets {
	background-color: #f7f8fa;
	padding: 5rem 0;
	border-top: 1px solid #ddd;
	color: #333;
}

footer#colophon p { font-size: 16px; }

.footer1 img {
	max-width: 264px;
	height: auto;
	margin-bottom: 0;
	transition: opacity .3s, transform .3s;
}

footer .footer1 .widget { margin-bottom: 1rem; }

.footer1 img:hover { opacity: .9; transform: scale(1.05); }

.footer-widgets h2 {
	font-size: 22px !important;
	color: #092f63;
	font-weight: 700;
	margin-bottom: 1.5rem;
	margin-top: 2rem;
	position: relative;
	padding-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.footer-widgets h2:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 3px;
	background-color: #092f63;
}

.footer-widgets p {
	color: #555;
	line-height: 1.8;
	margin-bottom: 1rem;
	font-size: 14px;
}

.footer-widgets strong { color: #333; }

.footer-widgets .menu { list-style: none; padding: 0; margin: 0; }

.footer-widgets .menu li {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

.footer-widgets .menu a {
	color: #555;
	text-decoration: none;
	transition: color .3s;
	display: inline-block;
	width: auto;
}

.footer-widgets .menu li::before {
	content: "›";
	color: #092f63;
	font-size: 16px;
	margin-right: 10px;
	display: inline-block;
	flex-shrink: 0;
}

.footer-widgets .menu a:hover { color: #092f63; }

.footer1, .footer2, .footer3 { padding: 0 15px; }

@media (min-width:993px) { .footer3 { padding-left: 5rem; } }

@media (max-width:992px) {
	.footer-widgets { padding: 40px 0; }
	.footer3 { padding-left: 15px; }
}

@media (max-width:768px) {
	.footer-widgets { padding: 30px 0; }
	.footer-widgets .col-12 { margin-bottom: 20px; }
	.footer1 img { display: block; margin: 0 auto 1.5rem; }
	.footer1, .footer2, .footer3 { padding: 0 15px; }
	.footer-widgets h2 { font-size: 18px !important; margin-top: 1.5rem; }
	.footer-widgets .menu li { margin-bottom: 15px; }
}

/* ============================================
   WPBAKERY
   ============================================ */
.vc_cta3-icons { display: none; }
.vc_tta-panel-body { padding: 0 !important; }
.cq-tabitem { padding: 20px 0 0 !important; }

.cq-tabmenu {
	display: flex !important;
	overflow-x: auto !important;
	flex-wrap: nowrap !important;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cq-tabmenu::-webkit-scrollbar { display: none; }
.cq-tabmenu.style1 li { flex: 0 0 auto !important; }

/* ============================================
   MENU HEAD
   ============================================ */
#menu-primary-menu { margin: 0 !important; padding: 0 !important; }

#primary-menu {
	display: flex !important;
	align-items: center !important;
	height: 100%;
	text-align: center;
	font-size: inherit !important;
}

div.topbar-items.topbar-left ul.social-icons.top-bar-social-icons { padding-left: 0 !important; }

#primary-menu a { color: var(--chu_dam); font-weight: 500 !important; }

@media (max-width:768px) {
	.header-contents, .panel-header-inner {
		display: flex;
		align-items: center;
		width: 100%;
	}
	.header-contents { justify-content: space-between; }
	.panel-header-inner { justify-content: flex-end; padding: 0 15px; }
	.logo-holder { order: 1; }
	.mobile-header-icons { order: 2; display: flex; align-items: center; }
	.hamburger-menu { order: 3; flex: 0 0 0 !important; margin-left: 18px; }
	body { font-size: 16px; color: #686868; }
	.menu-toggle {
		padding: 6px 0;
		background: transparent;
		border: 0;
		outline: none;
	}
	.minicart-counter { background-color: #b9a16b; }
	.et-close { margin-left: auto; }
	.sliding-menu-panel { margin: 0; padding: 0; max-width: 100%; }
	.sliding-menu-back.sliding-menu-nav {
		border: 1px solid gray;
		border-radius: 5px;
		justify-content: center;
		max-width: 100% !important;
	}
	.sliding-menu-panel .menu-item-object-product_cat a {
		border: 1px solid rgb(165,165,165);
		border-radius: 5px;
		padding: 10px 15px;
	}
	.sliding-menu-panel li { margin-top: 10px; }
	.sliding-menu-top {
		border: none !important;
		font-weight: bold;
		padding-left: 0 !important;
	}
	.dgwt-wcas-search-input { width: 100% !important; }
	.bottom-extras { border-top: none !important; }
	.social-icons.mobile-social-icons {
		background-color: black;
		margin: 20px 0 !important;
		padding: 10px 15px !important;
		display: flex;
		justify-content: center;
		border-radius: 5px;
	}
	.bottom-extras .social-icons.mobile-social-icons a { color: #fff !important; }
	.social-icons li a { font-size: 28px; }
	.bottom-extras div:first-of-type,
	.bottom-extras > a[data-target="open-cart"] { display: none !important; }
	.side-panel-content.custom_scroll .product_list_widget { display: inherit !important; }
	.widgettitle span:after { display: none; }
}

/* ============================================
   HEADER HEIGHT
   ============================================ */
.et-global-campaign {
	height: 24px !important;
	background-color: var(--color_accent) !important;
}

.top-bar { min-height: 32px !important; }

#menu-top-bar { display: flex; margin: auto 0; }
#menu-top-bar li { white-space: nowrap; align-self: center; }

@media (max-width:768px) {
	.topbar-right {
		display: flex !important;
		justify-content: space-around !important;
	}
	#menu-top-bar {
		justify-content: space-around !important;
		padding: 0;
		overflow-x: auto !important;
	}
	#top-bar .container { padding: 0 !important; }
	#menu-top-bar a { padding: 5px; }
}

/* ============================================
   PRODUCT LABELS
   ============================================ */
:root {
	--label-bg: rgba(245,245,245,.95);
	--label-color: #333333;
	--label-border: #e0e0e0;
	--wrapper-spacing: 0px;
	--label-padding: 2px 7px 1px;
	--labels-gap: 6px;
	--label-font-size: 12px;
	--label-shadow: 0 1px 2px rgba(0,0,0,.05);
	--label-hover-shadow: 0 2px 4px rgba(0,0,0,.1);
	--label-radius: 4px;
}

.product-labels-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: var(--labels-gap);
	z-index: 9;
}

.product-label {
	display: inline-block;
	padding: var(--label-padding);
	border-radius: var(--label-radius);
	font-size: var(--label-font-size);
	font-weight: 400;
	background: var(--label-bg);
	color: var(--label-color);
	border: 1px solid var(--label-border);
	transition: all .2s ease;
	box-shadow: var(--label-shadow);
}

.product-label:hover {
	border-color: #aaa;
	color: var(--color_accent);
	box-shadow: 0 2px 4px rgba(0,0,0,.15);
	transition: all .2s ease-out;
}

@media (max-width:768px) {
	:root {
		--wrapper-spacing: 4px;
		--label-font-size: 10px;
		--label-padding: 2px 5px;
	}
	.product-label { font-size: var(--label-font-size); padding: var(--label-padding); }
	.product-labels-wrapper { margin-bottom: 5px; }
}

/* ============================================
   SCROLLBAR
   ============================================ */
:root {
	--nen_scrollbar: #f8f8f8;
	--thumb-color: #888888;
	--thumb-hover: #666666;
	--thumb-width: 8px;
}

* { scrollbar-width: thin; scrollbar-color: var(--thumb-color) var(--nen_scrollbar); }

::-webkit-scrollbar { width: var(--thumb-width); height: var(--thumb-width); }
::-webkit-scrollbar-track { background-color: var(--nen_scrollbar); }
::-webkit-scrollbar-thumb {
	background-color: var(--thumb-color);
	border-radius: 10px;
	border: 2px solid var(--nen_scrollbar);
}
::-webkit-scrollbar-thumb:hover { background-color: var(--thumb-hover); }

/* ============================================
   QUẢNG CÁO TRONG SẢN PHẨM
   ============================================ */
.reset-all-table, .reset-all-table tr, .reset-all-table td {
	all: unset !important;
	display: revert !important;
	border: none !important;
	border-collapse: collapse !important;
	box-shadow: none !important;
	background: transparent !important;
	margin: 0 !important;
	padding: revert !important;
	border-spacing: 0 !important;
	vertical-align: middle !important;
}

.quang_cao_trong_san_pham {
	font-weight: normal;
	padding: 15px 15px 15px 30px;
	border: 2px solid #ddd;
	border-radius: .5rem;
}

@media (max-width:768px) { .quang_cao_trong_san_pham { padding: 15px; } }

.quang_cao_trong_san_pham h2 { display: none; }

.reset-all-table { width: 100%; background-color: transparent; border-collapse: collapse; }

.reset-all-table .icon-cell {
	width: 32px;
	vertical-align: middle;
	padding: 6px 16px 6px 0;
}

.quang_cao_trong_san_pham .reset-all-table td {
	padding: 3px 0 3px 3px !important;
	line-height: 1.5;
	text-align: left !important;
}

.reset-all-table i {
	color: #555;
	font-size: 18px;
	line-height: 1;
	margin-right: 12px;
}

.reset-all-table a { color: var(--color_accent); text-decoration: none; }

/* ============================================
   danh mục con trên cùng
   ============================================ */
.shop-products-col {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.subcategories-wrapper {
	max-width: 100%;
	overflow: hidden;
	display: block;
}

.subcat-wrapper { position: relative; margin: 20px 0; }

.subcat-scroll {
	display: flex;
	overflow-x: auto;
	gap: 8px;
	padding: 6px 0;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.subcat-scroll::-webkit-scrollbar { height: 6px; }
.subcat-scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

.subcat-item { scroll-snap-align: start; flex-shrink: 0; }

.subcat-item a {
	display: inline-block;
	padding: 3px 10px;
	font-size: 14px;
	font-weight: 400;
	border-radius: 6px;
	background: #f8f8f8;
	border: 1px solid #ddd;
	color: #333;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s, color .2s;
}

.subcat-item a:hover { background: var(--color_accent); color: #fff; }

.subcat-item a.active-subcat {
	background: var(--color_accent);
	border-color: var(--color_accent);
	color: #fff;
}

.subcat-arrow {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	background: #fff;
	border-radius: 50%;
	width: 32px;
	height: 32px;
	box-shadow: 0 0 6px rgba(0,0,0,.1);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
	cursor: pointer;
	animation: blinkArrow 1s infinite;
	z-index: 10;
}

.subcat-arrow.hidden { display: none !important; }
.subcat-arrow i { font-size: 14px; color: #444; }

@keyframes blinkArrow {
	0%, 100% { opacity: 1; }
	50%      { opacity: .3; }
}

@media (max-width:600px) {
	.subcat-item a {
		font-size: 12px;
		padding: 2px 8px;
		border-radius: 4px;
	}
}

/* Chỉ đổi màu chữ thành xám khi KHÔNG ACTIVE và KHÔNG HOVER */
.subcat-item.subcat-discontinued a:not(.active-subcat):not(:hover) { 
    color: #bbbcbe !important; 
}

/* ============================================
   BADGE "NGỪNG SX"
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap');

ul.products li.product.outofstock { position: relative; }

ul.products li.product.outofstock img {
	filter: grayscale(70%);
	opacity: .6;
}

ul.products li.product.outofstock::after {
	content: "Ngừng SX";
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	font-family: 'Special Elite', 'Courier New', monospace;
	color: #fff;
	font-size: 18px;
	padding: 5px 10px;
	border: 3px solid #fff;
	border-radius: 6px;
	background: #8a2724;
	box-shadow: 0 4px 12px rgba(0,0,0,.4);
	z-index: 10;
}

.single-product .product.outofstock .woocommerce-product-gallery { position: relative; }

.single-product .product.outofstock .woocommerce-product-gallery img {
	filter: grayscale(70%);
	opacity: .6;
}

.single-product .product.outofstock .woocommerce-product-gallery::after {
	content: "Ngừng SX";
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	font-family: 'Special Elite', 'Courier New', monospace;
	color: #fff;
	font-size: 28px;
	letter-spacing: 4px;
	padding: 10px 26px;
	border: 3px solid #fff;
	border-radius: 6px;
	background: #8a2724;
	box-shadow: 0 4px 12px rgba(0,0,0,.4);
	z-index: 10;
}

.stock.out-of-stock,
p.stock.out-of-stock,
.badge.out-of-stock,
span.out-of-stock { display: none !important; }

/* ============================================
   MÔ TẢ DANH MỤC
   ============================================ */
.custom-term-description {
	margin: 25px 0;
	font-size: 14px;
	line-height: 1.6;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
}

.description-header {
	padding: 20px 30px;
	background: #f6f7f8;
	border-bottom: 1px solid #e5e5e5;
	color: #2f2f2f;
	font-weight: 600;
	font-size: 16px;
}

.description-content {
	max-height: 230px;
	overflow: hidden;
	transition: max-height .3s cubic-bezier(.4,0,.2,1);
}

.description-content > div { padding: 15px 30px; }
.description-content.expanded { max-height: 20000px; }

.toggle-description {
	width: 100%;
	padding: 8px;
	background: #fff;
	border: none;
	border-top: 1px solid #e5e5e5;
	color: var(--color_accent);
	font-size: 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.toggle-description:hover { background: #f6f7f8; }

.toggle-description svg {
	width: 16px;
	height: 16px;
	transition: transform .3s ease;
}

.toggle-description.expanded svg { transform: rotate(180deg); }

@media (max-width:768px) {
	.custom-term-description { margin: 10px 0; }
	.description-content > div { padding: 10px; }
	.description-header { padding: 20px 10px; margin-bottom: 0; }
}

/* ============================================
   LIST
   ============================================ */
ul, ol {
	margin: 0 0 28px .7em;
	padding-left: 20px;
}

li { line-height: 1.7; }
li::marker { color: #002f70; }

/* ============================================
   Giới thiệu ngắn danh mục sp
============================================ */
.subcat-gioithieu {
	background-color: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 16px 20px;
	margin: 16px 0 24px;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.subcat-gioithieu p:last-child {
	margin-bottom: 0;
}
