.catalog-category { padding-bottom: 40px; }
.catalog-category-banner { margin-bottom: 24px; }
.catalog-category-banner img { display: block; width: 100%; max-height: 300px; object-fit: cover; }
.catalog-subcategories { display: flex; gap: 16px; overflow-x: auto; margin-bottom: 24px; }
.catalog-subcategories a { flex: 0 0 130px; display: flex; align-items: center; flex-direction: column; gap: 8px; text-align: center; padding: 12px; border: 1px solid #eee; border-radius: 8px; }
.catalog-subcategories img { width: 72px; height: 72px; object-fit: contain; }
.catalog-filters { border: 1px solid #eee; border-radius: 8px; padding: 18px; margin-bottom: 24px; }
.catalog-filters summary { font-size: 18px; font-weight: 700; cursor: pointer; }
.catalog-filters fieldset { margin: 18px 0; }
.catalog-filters legend { font-size: 16px; font-weight: 600; }
.catalog-filters label { display: block; margin: 8px 0; }
.catalog-filters input[type=checkbox] { accent-color: #ffb700; }
.catalog-primary-button { background: #ffb700; color: #111; border: 1px solid #ffb700; font-weight: 700; padding: 12px 20px; }
.catalog-primary-button:hover { background: #e8a700; color: #111; }
.catalog-reset { display: block; margin-top: 12px; text-decoration: underline; }
.catalog-sortbar { display: flex; align-items: center; gap: 12px; margin: 20px 0; }
.catalog-sortbar > span { margin-right: auto; }
.catalog-sortbar label { margin: 0; white-space: nowrap; }
.catalog-sortbar select { max-width: 190px; }
.catalog-product-card { border: 1px solid #eee; border-radius: 8px; overflow: hidden; margin-bottom: 24px; height: calc(100% - 24px); background: white; }
.catalog-product-card .product-thumbnail { position: relative; }
.catalog-product-card .image_thumb { display: block; height: auto; padding: 0; aspect-ratio: 1; }
.catalog-product-card .image_thumb img { width: 100%; height: 100%; object-fit: contain; }
.catalog-product-card .product-info { padding: 14px; }
.catalog-product-card .product-name { font-size: 15px; line-height: 1.5; margin: 0 0 12px; min-height: 45px; }
.catalog-product-card .product-name a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.catalog-product-card .price { color: #d92b27; font-weight: 700; }
.catalog-product-card .compare-price { color: #888; font-size: 12px; margin-left: 5px; }
.catalog-product-sku { display: block; margin-top: 8px; color: #666; }
.catalog-product-link { display: inline-block; margin-top: 12px; color: #111; text-decoration: underline; }
.catalog-discount { position: absolute; left: 8px; top: 8px; background: #e33131; color: white; border-radius: 4px; padding: 4px 8px; }
.catalog-image-empty { min-height: 300px; display: grid; place-items: center; background: #f8f8f8; color: #666; }
.catalog-product-detail .rte img { max-width: 100%; height: auto; }
.catalog-related .title-module { font-size: 24px; font-weight: 700; margin-bottom: 20px; }
.catalog-category .danhmuc-slider { margin: 20px 0; }
.catalog-category .danhmuc-slider .thumb img { object-fit: contain; }
.catalog-product-detail .content-pro .camket svg { width: 24px; height: 24px; flex-shrink: 0; color: #ffb700; margin-right: 10px; }
.catalog-product-detail .content-pro .camket li { display: flex; align-items: center; }
.catalog-product-detail .support-product .thumb-image svg { width: 48px; height: 48px; color: #ffb700; }
@media(max-width:767px) {
 .catalog-sortbar { gap: 8px; flex-wrap: wrap; }
 .catalog-sortbar > span { width: 100%; }
 .catalog-product-detail .details-pro { margin-top: 24px; }
 .catalog-product-card .product-info { padding: 10px; }
 .catalog-product-card .product-name { font-size: 14px; }
}
/* Category template: compact category cards, sidebar, sort buttons and pager. */
.catalog-category .section_danhmuc .danhmuc-slider .swiper-slide { height: auto; }
.catalog-category .section_danhmuc .swiper-slide > a { display: flex; align-items: center; min-height: 108px; height: 108px; padding: 12px 8px; border: 1px solid #ddd; border-radius: 0; box-shadow: 0 0 3px #ddd; }
.catalog-category .section_danhmuc .swiper-slide .thumb { flex: 0 0 80px; width: 80px; height: 80px; margin: 0 10px 0 0; }
/*.catalog-category .section_danhmuc .swiper-slide .thumb img { width: 80px; height: 80px; object-fit: contain; }*/
.catalog-category .section_danhmuc .swiper-slide h3 { margin: 0; font-size: 16px; line-height: 1.5; text-align: left; font-weight: 600; }
.catalog-category .section_danhmuc .swiper-slide .count { display: block; color: #ffb700; margin-top: 16px; }
.catalog-category .catalog-filter-sidebar .aside-content-menu { margin-bottom: 24px; box-shadow: 0 0 3px #ddd; }
.catalog-category .catalog-filter-sidebar .title-head-col { background: #ffb700; border: 1px solid #f25c05; color: #000; padding: 12px; font-size: 22px; font-weight: 700; }
.catalog-category .catalog-filter-sidebar .nav-category ul { list-style: none; padding: 0; margin: 0; }
.catalog-category .catalog-filter-sidebar .nav-category .nav-item { position: relative; }
.catalog-category .catalog-filter-sidebar .nav-category .nav-link { display: block; padding: 12px 40px 12px 12px; color: #000; font-size: 16px; }
.catalog-category .catalog-category-expand { position: absolute; right: 12px; top: 9px; border: 0; background: transparent; font-size: 24px; font-weight: 300; }
.catalog-category .catalog-category-children { padding-left: 14px; }
.catalog-category .catalog-category-children[hidden] { display: none; }
.catalog-category .catalog-filter-form .aside-item { margin: 0 0 24px; }
.catalog-category .catalog-filter-form .title-head { font-size: 18px; font-weight: 700; margin-bottom: 14px; color: #000; }
.catalog-category .catalog-filter-form label { display: block; margin: 10px 0; cursor: pointer; font-size: 15px; }
.catalog-category .catalog-filter-form input[type=checkbox] { width: 16px; height: 16px; margin-right: 8px; accent-color: #ffb700; vertical-align: middle; }
.catalog-category .catalog-filter-form .filter-price input[type=checkbox] { position: static; opacity: 1; }
.catalog-category .catalog-filter-form .filter-price i.fa { display: none; }
.catalog-category .group-title-col .title-page { color: #000; font-size: 34px; font-weight: 700; }
.catalog-category .group-title-col .thumb-image img { max-height: 120px; object-fit: contain; }
.catalog-category .sort-cate { margin: 28px 0 20px; }
.catalog-category .sort-cate-left { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; float: none; }
.catalog-category .sort-cate-left h3 { display: flex; align-items: center; font-size: 16px; font-weight: 500; margin: 0; }
.catalog-category .sort-cate-left h3 svg { width: 24px; height: 24px; margin-right: 5px; }
.catalog-category .sort-cate-left ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
.catalog-category .sort-cate-left li { margin: 0; padding: 0; }
.catalog-category .sort-cate-left button { border: 1px solid #f25c05; border-radius: 5px; padding: 9px 12px; color: #000; background: #fff; font-size: 16px; cursor: pointer; }
.catalog-category .sort-cate-left li.active button, .catalog-category .sort-cate-left button:hover { background: #ffb700; }
.catalog-category .pagenav .pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin: 30px 0; padding: 0; list-style: none; }
.catalog-category .pagenav .page-item { display: block; margin: 0; }
.catalog-category .pagenav .page-link { display: flex; align-items: center; justify-content: center; min-width: 43px; height: 44px; padding: 0 12px; border: 1px solid #000; border-radius: 6px; color: #000; background: #fff; font-size: 16px; }
.catalog-category .pagenav .active .page-link { background: #ffb700; border-color: #ffb700; color: #fff; }
@media(max-width:767px) { .catalog-category .group-title-col .title-page { font-size: 24px; } .catalog-category .sort-cate-left button { font-size: 14px; padding: 8px; } }
.catalog-category .section_danhmuc .swiper-slide h3 { min-width: 0; flex: 1; }
.catalog-category .section_danhmuc .swiper-slide .thumb { flex-basis: 60px; width: 60px; height: 70px; margin-right: 8px; }
/*.catalog-category .section_danhmuc .swiper-slide .thumb img { width: 60px; height: 70px; }*/
.catalog-category .section_danhmuc .swiper-slide .count { white-space: nowrap; font-size: 14px; margin-top: 10px; }
.catalog-category .section_danhmuc .swiper-slide h3 .line-clamp { font-size: 14px; line-height: 1.5; }
@media(min-width:1600px) { .catalog-category .section_danhmuc .swiper-slide h3 .line-clamp { font-size: 16px; } }
.catalog-product-detail .gallery-top img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.catalog-product-detail .gallery-thumbs img { width: 100%; height: 80px; object-fit: contain; }
.catalog-product-detail .product-summary { margin-bottom: 15px; }
.catalog-product-detail .quantity-field { -moz-appearance: textfield; }
.catalog-product-detail .quantity-field::-webkit-inner-spin-button, .catalog-product-detail .quantity-field::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.catalog-product-detail .btn-add-cart:disabled { cursor: not-allowed; opacity: .7; }
.catalog-product-detail .btn-wishlist svg, .catalog-product-detail .btn-add-cart .icon svg { width: 24px; height: 24px; }
.catalog-product-detail .catalog-swatch-color { display: inline-block; width: 31px; height: 31px; border-radius: 5px; }
.catalog-product-detail .catalog-attributes th { width: 40%; background: #f8f8f8; font-weight: 600; }
.catalog-product-detail .catalog-product-video iframe { max-width: 100%; }
.catalog-product-detail .catalog-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.catalog-product-detail .catalog-rating-stars { position: relative; display: inline-block; font-size: 16px; line-height: 1; color: #ddd; }
.catalog-product-detail .catalog-rating-stars::before { content: "★★★★★"; }
.catalog-product-detail .catalog-rating-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--rating); overflow: hidden; color: #ffb700; }
.catalog-product-detail .product-like .product-list .product-thumbnail img { object-fit: contain; }
.layout-product .button_actions .btn-compare { min-width: 50px; height: 50px; margin-left: 10px; display: flex; align-items: center; justify-content: center; background: #ffb700; }
.layout-product .button_actions .btn-compare svg { width: 25px; height: 25px; }
.layout-product .button_actions .btn-compare svg path { fill: #000; }
.layout-product .button_actions .btn-compare:hover, .layout-product .button_actions .btn-compare.active { background: #f25c05; }
.layout-product .button_actions .btn-wishlist.active { background: #fff0e6; }
/* Nút "Liên hệ báo giá" dùng chung style .add_to_cart của template */
.layout-product .button_actions .btn-contact-order { text-decoration: none; }
.layout-product .button_actions .btn-contact-order .icon { display: flex; align-items: center; justify-content: center; }
.layout-product .button_actions .btn-contact-order .icon svg path { fill: none; stroke: #ffb700; }
.layout-product .button_actions .add_to_cart.btn-soldout .text { background: #ccc; }
.layout-product .button_actions .add_to_cart:disabled { cursor: not-allowed; }
/* Tư vấn qua Zalo */
.catalog-product-contact { margin-top: 15px; }
.catalog-product-contact .catalog-contact-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.catalog-product-contact .catalog-contact-button { flex: 1 1 140px; display: inline-flex; align-items: center; justify-content: center; height: 58px; padding: 0 16px; color: #fff; font-size: 20px; font-weight: 700; text-decoration: none; transition: opacity .2s; }
.catalog-product-contact .catalog-contact-button.zalo { background: #2d7ff0; }
.catalog-product-contact .catalog-contact-button.phone { background: #e93030; }
.catalog-product-contact .catalog-contact-button:hover { color: #fff; opacity: .88; }
.catalog-product-contact .catalog-contact-note { margin: 16px 0 0; padding-bottom: 14px; text-align: center; font-size: 18px; border-bottom: 1px dashed #ddd; }
.catalog-product-contact .catalog-contact-note a { color: #e93030; font-weight: 700; text-decoration: none; }
@media (max-width: 575px) { .catalog-product-contact .catalog-contact-button { height: 48px; font-size: 17px; } }
/* Nút "Xem video" trên ảnh sản phẩm (theo mẫu) */
.catalog-product-detail .gallery-top { position: relative; }
.catalog-product-detail .playVideo { position: absolute; left: 12px; bottom: 12px; z-index: 10; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; border: 1px solid #ffb700; box-shadow: 0 2px 8px rgba(0,0,0,.12); font-weight: 600; font-size: 18px; color: #000; cursor: pointer; }
.catalog-product-detail .playVideo:hover { border-color: #f25c05; }
.popup-video .body-popup iframe { max-width: 100%; }
.catalog-product-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
@media (max-width: 767px) { .catalog-product-detail .playVideo { font-size: 15px; padding: 8px 10px; } }
