/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 4.11
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
body,
h1,
h2,
h3,
h4,
h5,
h6,
.nav-line-bottom > li > a {
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

.h2, h2 {
    line-height: 1.8;
}

h1.custom-title-h1 {
    text-transform: uppercase;
}

.nav>li>a, .nav-dropdown>li>a, .nav-column>li>a, .nav-vertical-fly-out>li>a {
    color: #505050;
}

body {
    overflow: hidden;
}

.header_logo {
    border-radius: 8px;
}

.fp-custom-clause {
    display: block;
    color: #e92432;
    width: fit-content;
    margin-left: auto;
    font-size: 14px;
    padding: 2px 0;
}

#wrapper, #main {
    background-color: #f9f9f9;
}

.uu-slider-top,
.uu-collection .section-content{
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.uu-collection {
    justify-content: center;
}

.text-title-slider {
    font-size: 2.2rem;
}

.banner h2 {
    line-height: 1.2;
}

.nav-dropdown > li > a:hover,
.nav-column > li > a:hover,
.nav-vertical-fly-out > li > a:hover {
    color: var(--primary-color);
}

.woocommerce-result-count {
    display: none !important;
}

.woocommerce-ordering {
    display: none !important;
}

.nav>li>a.header-vertical-menu__link {
    display: block;
    font-size: 0.875rem;
    padding-top: 0;
    padding-bottom: 0;
}

/* custom search */
.html_topbar_right {
    width: 90%;
}

.custom-search-wrapper {
    display: block;
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 600px;
}

.search-input-group {
    display: flex;
    background: #fff;
    border: 2px solid #e1e1e1;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.search-input-group:focus-within {
    border-color: #f1c40f;
    box-shadow: 0 0 8px rgba(130, 35, 35, 0.1);
}

.search-field {
    flex: 1;
    border: none !important;
    padding: 10px 15px !important;
    height: 40px !important;
    box-shadow: none !important;
    outline: none !important;
}

.search-submit {
    margin-right: 0;
    background: transparent !important;
    border: none !important;
    color: #333;
    font-size: 16px;
    padding: 0 15px !important;
    cursor: pointer;
}

.search-submit:hover {
    color: var(--primary-color);
}

.header-vertical-menu__opener {
    border-radius: 10px;
    cursor: pointer;
}

.header-bottom.wide-nav .flex-row{
    gap: 16px;
}

.header-bottom.wide-nav ul.nav > li,
.header-bottom.wide-nav .flex-col.flex-left {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.header-bottom.wide-nav ul.nav {
    gap: 16px;
}

.sort-options::-webkit-scrollbar {
    display: none;
}

/* custom mega menu */
.header-vertical-menu__fly-out {
    margin-top: 6px;
    border-radius: 10px;
}

.nav-dropdown-has-shadow .nav-dropdown {
    padding: 0;
    font-size: 0.875rem;
    padding-top: 8px;
    padding-bottom: 8px;
}

.nav-dropdown.nav-dropdown-default>li>a {
    margin-left: 0;
    margin-right: 0;
    padding-left: 16px;
    padding-right: 16px;
}

.custom-bottom-tools {
    position: absolute;
    bottom: -50%;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    transition:
        opacity 0.5s,
        transform 0.3s,
        max-height 0.6s,
        filter 0.6s,
        -webkit-transform 0.3s,
        -webkit-filter 0.6s;
}

.product-small:hover .custom-bottom-tools {
    bottom: 2px;
    opacity: 1;
    right: 50%;
    transform: translateX(50%);
}

.custom-bottom-tools .yith-add-to-wishlist-button-block,
.custom-bottom-tools .custom-icon-btn {
    width: 40px;
    height: 40px;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

.custom-bottom-tools .yith-add-to-wishlist-button-block {
    line-height: 0;
}

.box-image .quick-view,
.box-image .quick-view-added {
    display: none;
}

.custom-bottom-tools .custom-icon-btn {
    color: var(--add-to-wishlist-icon-color, #000);
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-bottom-tools .yith-add-to-wishlist-button-block:hover,
.custom-bottom-tools .custom-icon-btn:hover {
    background-color: #f1c40f;
    color: #ffffff;
}

.custom-bottom-tools .yith-add-to-wishlist-button-block:hover svg {
    color: #ffffff;
}

.yith-wcwl-add-to-wishlist-button:is(button) svg
.custom-bottom-tools .custom-icon-btn svg {
    width: 1.875rem;
    height: 1.875rem;
}

.custom-bottom-tools .yith-wcwl-add-to-wishlist-button__label {
    display: none;
}

.custom-bottom-tools .yith-wcwl-add-to-wishlist-button {
    margin-right: 0;
    margin-bottom: 0;
    justify-content: center;
}

.custom-bottom-tools .yith-wcwl-icon-svg__wrapper svg {
    width: 24px;
    height: 24px;
    color: #000;
}

.custom-bottom-tools .yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon-svg__wrapper svg {
    color: #e92432;
}

.product-rating-custom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
}

.product-rating-custom .rating-score-wrapper {
    color: #f1c40f;
}

.product-rating-custom .rating-score-wrapper {
    display: flex;
    align-items: flex-start;
}

.product-rating-custom svg {
    width: 20px;
    height: 20px;
}

.dynamic-cat {
    display: flex;
    flex-wrap: nowrap;
}

.dynamic-cat .col {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.dynamic-cat-item {
    display: block;
    border: 1px solid #ececec;
    border-radius: 15px;
    overflow: hidden;
    text-align: center;
    transition: all 0.3s;
    background: #fff;
}

.dynamic-cat-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.cat-img img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    padding: 4px;
    border-radius: 20px;
}

.cat-info {
    padding: 15px 10px;
}

.cat-name {
    font-size: 16px;
    font-weight: bold;
    color: #d12027;
    margin-bottom: 5px;
    line-height: 1.2;
    min-height: 2.4rem;
}

.cat-count {
    font-size: 14px;
    color: #666;
}

.uu-product-cat-grid,
.uu-product-cat-grid .product-category.col {
    padding: 10px;
}

.uu-banner-side img {
    border-radius: 8px;
}

.uu-product-cat-grid .col-inner .box-image{
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.dynamic-cat-item.is-active {
    border: 2px solid #f8b600;
}

.widget .current-cat > a {
    color: #822323;
    font-weight: 500;
}
.custom-sorting-wrapper a.is-active,
.product-categories a.is-active,
.dynamic-cat-item.is-active .cat-name {
    color: #f8b600;
}

.read-more-content {
    margin-top: 30px;
    margin-bottom: 40px;
    max-height: 620px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.5s ease-in-out;
}

.read-more-content .section {
    padding-left: 0;
    padding-right: 0;
}

.read-more-content:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    z-index: 10;
}

.read-more-content.expanded {
    max-height: 5000px;
}

.read-more-content.expanded:after {
    display: none;
}

.read-more-button-wrapper {
    text-align: center;
    margin-top: -20px;
    position: relative;
    z-index: 10;
}

.custom-sorting-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 0;
    border-bottom: 1px solid #ececec;
    margin-bottom: 20px;
}

.custom-sorting-wrapper .sort-label {
    display: flex;
    align-items: center;
}

.sort-options {
    margin: 0;
    padding: 2px;
    list-style: none;
    display: flex;
    gap: 15px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
   -webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;

}

.sort-options::-webkit-scrollbar {
		display: none;
}

.sort-options > li {
    margin-bottom: 0;
    flex: 0 0 auto;
    flex-shrink: 0;
    padding: 2px 6px;
    border: 1px solid #ccc;
    box-shadow:
        0 1px 3px -2px rgba(0, 0, 0, 0.12),
        0 1px 2px rgba(0, 0, 0, 0.24);
    border-radius: 8px;
}

.sort-options li a.active {
    color: #d82f2f;
    font-weight: bold;
}

.custom-sorting-wrapper .sort-label {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.shop-sidebar .widget {
    border: 1px solid #eee;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
}
.shop-sidebar .widget-title {
    background-color: #d82f2f !important;
    color: #fff !important;
    padding: 10px 15px;
    text-transform: uppercase;
    font-weight: bold;
}

.woof_products_top_panel li button {
  font-size: 0 !important;
}
.woof_products_top_panel li button::before {
  content: "XÓA TẤT CẢ";
  font-size: 14px;
  font-weight: bold;
}

.product-info .out-of-stock,
.product-info .yith-add-to-wishlist-button-block,
.product-info .is-divider {
    display: none;
}

.shop-container .product-main {
    padding-bottom: 0;
}

.product-main .row.content-row {
    padding-bottom: 70px;
}

.product-main .product-info {
    padding-bottom: 0;
    max-width: 665px;
}

.shop-container .product-images .badge-container {
    display: none;
}

.custom-star {
    color: #f1c40f;
}

.stock-status span {
    font-weight: bold;
}

.stock-status .in-stock {
    color: #27ae60;
}

.stock-status .sold-out {
    color: #e74c3c;
}

.product-meta {
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.product-meta strong {
    color: #333;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.8;
}

.product-main .product_meta .posted_in {
    display: none !important;
}

.row-small > .flickity-viewport > .flickity-slider > .col a,
.woocommerce-product-gallery__wrapper {
    border-radius: 8px;
    overflow: hidden;
}

.product-info form.cart {
    margin-bottom: 0;
}

.product-info .product-short-description {
    margin-top: 10px;
}

.product-info div.quantity {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.product-info div.quantity::before {
    content: 'Số lượng:';
    font-weight: bold;
    margin-right: 15px;
    color: #333;
}

.quantity input[type='number'] {
    font-size: unset;
    max-width: 60px;
    width: 60px;
}

.quantity .button.is-form {
    width: 40px;
    color: #e92432;
    font-size: 1rem;
}

.product-info div.quantity .is-form {
    text-shadow: none;
    transition: all 0.2s ease;
}

.product-info div.quantity .is-form:hover {
    background-color: #e92432;
    color: #fff;
    border-color: #f05d23;
}

.variable-items-wrapper .variable-item {
    border: 1px solid #e2e2e2;
    box-shadow: none !important;
    outline: none !important;
    background-color: #ffffff;
}

.variable-items-wrapper .variable-item .variable-item-contents {
    color: #333;
    font-size: 14px;
    padding: 6px 10px;
}

.variable-items-wrapper .variable-item {
    border-radius: 8px !important;
}

.variable-items-wrapper .variable-item.selected {
    border-color: #e92432;
    background-color: #fff;
}

.variable-items-wrapper .variable-item.selected::after {
    content: '';
    position: absolute;
    right: -1px;
    bottom: -1px;
    border-style: solid;
    border-width: 0 0 12px 12px;
    border-color: transparent transparent #e92432 transparent;
    border-bottom-right-radius: 8px;
}

.variations label {
    font-size: 16px;
    margin-bottom: 0;
    min-width: 94px;
}

.variations .reset_variations {
    display: none;
    top: 50%;
    transform: translateY(-50%);
}

.woocommerce-Price-amount.amount,
.woocommerce-Price-amount bdi,
ins .woocommerce-Price-amount {
    text-decoration: none;
    color: #e92432;
    font-weight: bold;
}

del .woocommerce-Price-amount.amount,
del .woocommerce-Price-amount bdi {
    color: #525252 !important;
}

.shop_table tr td:last-of-type {
    text-align: left;
}

.price-wrapper .price {
    display: flex;
    gap: 8px
}

.custom-contact-price {
    color: #e92432;
    font-weight: bold;
}

.single_variation_wrap .woocommerce-variation.single_variation {
    display: none !important;
}

.category-title-h1 {
    padding-bottom: 10px;
}

.single_add_to_cart_button {
    display: none;
}

.variations th.label {
    width: 16%;
    min-width: 80px;
}

.custom-container-action-button .doc-row,
.custom-container-action-button .action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.custom-container-action-button .doc-row a {
    color: currentColor;
}

.custom-container-action-button .doc-row a:last-child {
    margin-bottom: 30px;
}

.custom-container-action-button .btn-doc {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    max-height: 38px;
    max-width: 200px;
    width: 200px;
    padding: 4px 6px;
    border: 1px solid #525252;
    border-radius: 8px;
    opacity: 0.8;
    transition: opacity 0.15s ease;
}

.custom-container-action-button .btn-doc:hover {
    opacity: 1;
}

.custom-container-action-button .btn-doc .icon {
    width: 24px;
    height: 24px;
}

.custom-container-action-button .action-group {
    justify-content: center;
    max-width: 644px;
}

.custom-container-action-button .custom-btn-action,
.custom-container-action-button .btn-agency {
    max-width: 300px;
    width: 300px;
    padding: 6px 12px;
    margin-right: 0;
    margin-bottom: 0;
    max-height: 52px;

    background-image: linear-gradient(135deg, #ecb411 50%, #e92432 50%);
    background-size: 300% 100%;
    background-position: 99% 0;
    transition: all 0.5s ease;
}

.custom-container-action-button .custom-btn-action:hover,
.custom-container-action-button .btn-agency:hover {
    background-position: 1% 0%;
    box-shadow: none;
}

.custom-container-action-button .custom-btn-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.custom-container-action-button .custom-btn-action .cart-icon {
    width: 24px;
    height: 24px;
}

.add_to_cart_button.added {
    display: block;
}

a.added_to_cart {
    display: none;
}


.tdc-feat-grid {
    display: flex;
    gap: 24px;
    margin-top: 24px;
}

.tdc-feat-img img {
    width: 240px;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

.tdc-feat-item .tdc-feat-text {
    font-weight: 600;
    padding-top: 10px;
}

.product-footer .woocommerce-tabs {
    border-top: none;
    padding-top: 0;
    padding-bottom: 0;
}

.tab-panels .woocommerce-Tabs-panel {
    padding-top: 20px;
}

.woocommerce-tabs .tabs {
    flex-wrap: nowrap;
    text-align: center;
}

.product-footer .product-section-title {
    border-bottom: 3px solid #822323;
}

.price-bridge-display {
    margin-top: 12px;
    margin-bottom: 12px;
}

.review-form-inner.has-border,
#review_form input,
#review_form textarea {
    border-radius: 8px;
}

#review_form input:user-invalid,
#review_form textarea:user-invalid {
    border: 1px solid #e92432 !important;
    background-color: #fff5f5;
}

#review_form.was-validated input:invalid,
#review_form.was-validated textarea:invalid {
    border: 1px solid #e92432 !important;
}

.nav-line > li > a:before {
    display: none;
}

.tabbed-content .nav > li.active > a {
    color: #e92432;
    font-weight: bold;
}

.tabbed-content .nav > li > a {
    font-size: 1rem;
    text-transform: inherit;
    min-width: 150px;
    justify-content: center;
    padding-bottom: 0;
}

.tabbed-content .nav > li > a,
.tabbed-content .nav > li.active > a {
    line-height: 2;
}

.wishlist-items-wrapper .product-add-to-cart a,
.product-footer .product-section-title {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 18px;
    text-transform: inherit;
    color: #e92432;
}

.wishlist-items-wrapper td.product-name > a {
    color: #000000;
}

.wishlist-items-wrapper .wishlist-empty {
    font-size: 1.5rem;
}

.tabbed-content .nav > li > a:hover {
    color: #e92432;
}

.woocommerce-tabs .tab-panels {
    padding-top: 0;
}

.product-footer .product-section {
    border-top: none;
}

.recently-viewed-container {
    margin-bottom: 40px;
    margin-top: 10px;
}

.related-products-container .product-small.col,
.recently-viewed-container .product-small.col {
    padding: 0;
}

.product-small .star-rating {
    display:none;
}

.product-footer .tabbed-content .nav,
.related-products-container p.title,
.recently-viewed-container p.title {
    margin-bottom: 20px;
    margin-top: 30px;
    border-bottom: 2px solid #505050;
}

.related-products-container {
    padding-bottom: 10px;
}

.product-footer .related-products-wrapper .flickity-button {
    height: 60px;
    width: 36px;
    background-color: transparent;
    top: 50%;
    transform: translateY(-50%) !important;
    box-shadow: none;
}

.product-footer .related-products-wrapper .flickity-button svg {
    width: 36px;
    height: 36px;
    margin-top: 0;
    border: 2px solid currentColor;
    border-radius: 100%;
    z-index: 2;
}

.product-footer .related-products-wrapper .flickity-button:hover svg {
    background-color: #822323;
    border-color: #822323;
}

.product-footer .related-products-wrapper .flickity-button:hover svg .arrow {
    fill: #ffffff !important;
}

.slider-nav-reveal .flickity-prev-next-button.previous {
    left: 1px !important;
}

.slider-nav-reveal .flickity-prev-next-button.next {
    right: 1px !important;
}

.woocommerce-Reviews.row .woocommerce-Reviews-title {
    display: none;
}

.woocommerce-Reviews.row p {
    padding-top: 20px;
}

.blog-wrapper .post-item.is-selected .box-text-inner {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 20px;
    border-radius: 8px;
}

.blog-wrapper .post-item.is-selected .cat-label {
    display: none;
}

.badge-outline, .badge-circle {
    margin-left: 0;
}

.blog-wrapper .row.large-columns-3 .col-inner,
.product-small.col .col-inner {
    box-shadow:
        0 1px 3px -2px rgba(0, 0, 0, 0.12),
        0 1px 2px rgba(0, 0, 0, 0.24);
}

.product-small.col .col-inner {
    border: 1px solid #f1f1f1;
}

.post-sidebar {
    border-left: none !important;
}

.post-sidebar.large-3.col {
    padding-left: 0;
}

.uu-blog-sidebar {
    border: 1px solid #eee;
    border-radius: 20px;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.uu-blog-sidebar .col.small-12 {
    padding-top: 12px;
    padding-bottom: 0;
}

.uu-blog-posts .box {
    display: flex;
    align-items: start;
    gap: 8px;
}

.uu-blog-posts .box-image {
    border-radius: 4px;
}

.uu-blog-posts .box-text {
    padding: 0;
}

.blog-wrapper .row.large-columns-3 .post-title,
.uu-blog-posts .post-title {
    font-size: 0.875rem;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-wrapper .row.large-columns-3 .box-text-inner {
    padding-left: 10px;
    padding-right: 10px;
}

.blog-wrapper .row.large-columns-3 .from_the_blog_excerpt {
    font-weight: 400;
}

.uu-blog-posts .is-divider,
.uu-blog-posts .from_the_blog_excerpt {
    display: none;
}

.uu-blog-right-col .col.post-item{
    padding-top: 10px;
    padding-bottom: 10px;
}

.row-large.row-divided {
    display: flex;
    align-items: flex-start;
}

.post-sidebar.large-3.col {
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    z-index: 99;
    height: fit-content;
}

.entry-header-custom {
    margin-bottom: 20px;
}


.breadcrumbs,
.breadcrumbs a,
.custom-breadcrumb {
    font-weight: bold;
    font-size: 0.875rem;
    margin-bottom: 20px;
}

.breadcrumbs a,
.custom-breadcrumb a,
.custom-breadcrumb .breadcrumb-category a {
    color: #505050;
    text-decoration: none;
}


.breadcrumbs,
.breadcrumbs a:last-child,
.custom-breadcrumb a:last-child,
.custom-breadcrumb .breadcrumb-category a:last-child,
.custom-breadcrumb span:last-child {
    color: #e92432;
}

.breadcrumbs .divider,
.breadcrumb-divider {
    color: #525252;
    margin: 0 2px;
}

.custom-post-title {
    color: #000000;
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 15px;
}

.entry-meta-wrapper {
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    padding: 10px 0;
    font-size: 14px;
    margin-top: 38px;
}

.meta-author-info {
    display: flex;
    align-items: center;
}

.meta-author-info .author-name {
    color: #525252;
    font-weight: bold;
    margin-left: 8px;
}

.meta-divider {
    margin: 0 10px;
    color: #ddd;
}

.post-date {
    color: #666;
}

.entry-image-wrapper img {
    width: 100%;
    aspect-ratio: 2/1;
    object-fit: cover;
    border-radius: 8px;
}

.lwptoc {
    border-radius: 0;
    width: 100%;
    margin-bottom: 25px;
}

.lwptoc_i {
    max-height: 400px;
    overflow-y: auto;
    border-radius: 8px;
}

.lwptoc_i::-webkit-scrollbar {
    width: 4px;
}

.lwptoc_i::-webkit-scrollbar-track {
    background: transparent;
}

.lwptoc_i::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;

    background-clip: padding-box;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.lwptoc_i::-webkit-scrollbar-thumb:hover {
    background: #525252;
    background-clip: padding-box;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.lwptoc_title:before {
    content: '\2630';
    margin-right: 6px;
    font-size: 18px;
    /* color: #333; */
    text-decoration: none;
    display: inline-block;
    vertical-align: text-bottom;
}

.lwptoc_title {
    font-weight: bold;
    font-size: 20px;
}

.lwptoc_item a {
    text-decoration: none !important;
    font-size: 16px;
    line-height: 1.6;
}

.lwptoc_item_level_2 {
    padding-left: 25px !important;
    font-size: 15px !important;
}

.lwptoc_header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
}

.lwptoc_toggle {
    margin-left: auto;
}

.lwptoc_toggle_label {
    position: relative;
    padding: 4px 8px;
    font-size: 18px !important;
    cursor: pointer;
    font-weight: bold;
}

.lwptoc-notInherit .lwptoc_i DIV a.lwptoc_toggle_label:hover {
    border-bottom: none !important;
    color: #525252;
}

.lwptoc_toggle_label::after {
    content: '';
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
    background-color: #525252;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M36 18L24 30L12 18"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M36 18L24 30L12 18"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.lwptoc_toggle::before,
.lwptoc_toggle::after {
    display: none;
}

.custom-related-posts .box-text-inner {
    background-color: transparent !important;
}

.custom-related-posts .post-title {
    text-align: left;
}

.custom-related-posts .from_the_blog_excerpt {
    opacity: 1;
    text-align: left;
}

.custom-related-posts .col-inner {
    border-radius: 8px;
    overflow: hidden;
}

#comments .comment-respond {
    border-radius: 8px;
}

.kk-star-ratings .kksr-legend {
    margin-left: .25rem;
}

.kk-star-ratings .kksr-muted {
    vertical-align: middle;
    opacity: 0.7;
}

.product-cat-header {
    display: flex;
    padding-top: 10px;
    flex-wrap: nowrap;
}

.product-cat-header > .col {
    flex: 0 0 auto;
    flex-shrink: 0;
}


.uu-product-cat-header div.col-inner {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.uu-testimonial-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    }

.uu-testimonial-row::-webkit-scrollbar {
    height: 3px;
}

.uu-testimonial-row::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}

.uu-testimonial-row::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.uu-testimonial-row::-webkit-scrollbar-thumb:hover {
    background: #999999;
}

.uu-testimonial-row .col {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.header-nav .account-item > a {
    color: #ccc !important;
}

.account-item.active > a,
.header-nav a.account-link:hover {
    color: #ffffff !important;
}

.lightbox-content {
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-form-row input.woocommerce-Input {
    border-radius: 8px;
}

.login-form-popup .account-register-inner {
    padding: 30px 12px;
}

.uu-product-cat-grid div.box-text {
	left: 1px;
	width: 100%;
	min-height: 2.6rem;
	width: calc(100% - 2px);
	max-width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 8px;
}

.uu-product-cat-grid .col .box {
    width: 100%;
    aspect-ratio: 1;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    background-color: #fff;
    position: relative;
}

.uu-product-cat-grid .col .box img {
    max-height: 180px;
    padding: 12px;
    object-fit: contain;
}

.uu-product-cat-grid .col .box-image {
    width: 100%;
    aspect-ratio: 6/5;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    border: none;
}
 
.uu-product-cat-grid div.box-text-inner h5 {		
	padding: 2px 4px 2px 12px;
	display: flex;
	align-items: center;
	max-width: 150px;
}

.price-wrapper .price {
	gap: 4px;
	flex-wrap: wrap;
    height: 2rem;
}

.row .row:not(.row-collapse) {
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -10px;
    margin-bottom: -10px;
}

.col-inner .row-small>.col {
    padding: 10px;
}

.uu-product-custom,
.section.uu-product-cat-section {
    padding-bottom: 20px !important;
}

.uu-service-testimonials .uu-service-item .col-inner {
    padding-top: 0 !important;
}

.banner p {
    margin-top: 16px;
    margin-bottom: 16px;
}

.uu-featured-horizontal{
    padding-top: 15px;
}

.uu-featured-horizontal .product-small.col .col-inner {
    border: none;
}

.uu-featured-horizontal .flickity-button-icon {
    margin-top: 10px;
}

.uu-featured-horizontal .product-small .product-title a {
    color: #505050;
}

.uu-title-custom-mb div.col {
		padding-bottom: 0;
}

.uu-outstanding-product-title p {
    margin-bottom: 20px;
}

/*custom lightbox đăng ký đại lý*/
.consultation-form {
    position: relative;
    max-width: 550px;
    padding: 30px;
    border-radius: 20px;
}

.contact-form {
    max-width: 550px;
    margin: 0 auto;
    text-align: center;
}

.contact-form-title {
    font-weight: 700;
    color: #e92432;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.consultation-form .logo {
    width: 250px;
    margin-bottom: 20px;
}

.contact-field {
    position: relative;
    margin-bottom: 12px;
}

.contact-field input,
.contact-field textarea {
    width: 100%;
    border: none;
    border-bottom: 2px solid #505050;
    background: transparent;
    padding: 12px 10px 8px 34px;
    font-size: 1rem;
    color: #505050;
    box-shadow: none !important;
    outline: none;
    margin-bottom: 0;
}

.contact-field textarea {
    min-height: 40px;
    padding-top: 10px;
    resize: vertical;
    resize: none;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.contact-field textarea::-webkit-scrollbar {
    display: none;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: #747474;
    font-weight: 500;
}

.contact-field.has-icon::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 22px;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
}

.contact-field.icon-user::before {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v3h20v-3c0-3.33-6.67-5-10-5z'/></svg>");
}

.contact-field.icon-phone::before {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.07 21 3 13.93 3 5c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/></svg>");
}

.contact-field.icon-location::before {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1112 6a2.5 2.5 0 010 5.5z'/></svg>");
}

.contact-field.icon-message::before {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23000000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/></svg>");
}

.contact-field.icon-user::before,
.contact-field.icon-phone::before,
.contact-field.icon-location::before,
.contact-field.icon-message::before {
    z-index: 10;
}

.contact-radio-group {
    text-align: left;
    margin: 16px 0 8px;
}

.contact-radio-group .wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-form-control.wpcf7-submit {
    background-color: #e92432 !important;
}

.contact-radio-group .wpcf7-list-item {
    margin: 0 30px 0 0;
    display: inline-block;
}

.contact-radio-group .wpcf7-list-item-label {
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
}

.contact-radio-group input[type='radio'] {
    transform: scale(1.2);
    margin-right: 8px;
    accent-color: #e92432;
}

.contact-submit {
    text-align: center;
}

.contact-submit input[type='submit'] {
    background: #000000;
    color: #fff;
    border: none;
    min-width: 140px;
    height: 46px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
    box-shadow: none;
    margin: 0;
}

.contact-submit input[type='submit']:hover {
    background: #000000;
}

.contact-form .wpcf7-spinner {
    display: none;
}

.contact-form .wpcf7-not-valid-tip {
    text-align: left;
    font-size: 13px;
    margin-top: 5px;
}

.wpcf7 form .wpcf7-response-output {
    margin-top: 20px;
    margin-bottom: 0;
}

.mfp-close {
    display: none !important;
}

.form-popup-close {
    position: absolute;
    top: 12px;
    right: 0;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: #505050;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-popup-close:hover {
    color: #000;
}

.form-popup-close svg {
    width: 24px;
    height: 24px;
}

/*page wishlist*/
.entry-header.text-center {
    display: none;
}

.row.page-wrapper {
    padding-top: 0;
}

.row.page-wrapper .entry-content {
    padding-top: 20px;
}

/*filter shop page*/
.woof_container {
    margin-bottom: 26px;
}

.iradio_square-red {
    background-position: -144px 0;
    flex: 0 0 auto;
}

.icheckbox_square-red {
    background-position: -24px 0px;
    flex: 0 0 auto;
}

.woof_list_checkbox li div {
    margin-top: 0;
}

.woof_block_html_items .woof_list label,
.woof_block_html_items span.woocommerce-Price-amount {
    color: #505050;
    font-weight: 500;
}

.woof_list.woof_list_checkbox > li,
.woof_block_html_items .woof_authors > .woof_list {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 280px;
}


.woof_list.woof_list_checkbox li div.checked + label,
.woof_list div.checked + span + label,
.woof_list div.checked + span + label > span{
    color: #ff5722 !important;
    font-weight: bold;
}

.woof_block_html_items .woof_list label {
    margin-bottom: 0;
    
}

.widget .woof_redraw_zone ul li a {
    position: absolute;
    right: 0;
}

.widget .woof_redraw_zone ul li a > img {
    width: 20px;
}

.chosen-container {
    min-width: 200px;
}

.chosen-container-single .chosen-single,
.chosen-container-single .chosen-drop {
    border-color: #e92432 !important;
    max-width: 250px;
    border-radius: 8px;
}

.chosen-container .chosen-results li.active-result {
    border-radius: 8px;
}

.chosen-container .chosen-results li.active-result.result-selected{
    background-color: #e92432;
    color: #fff;
}

.chosen-container .chosen-results li.active-result.highlighted {
    background-color: rgba(233, 36, 50, 0.7) !important;
    background-image: none !important;
}

.chosen-container-single .chosen-single {
    height: 40px !important;
    line-height: 40px !important;
    display: flex;
    align-items: center;
}

.chosen-container-single .chosen-single span {
    font-weight: 500;
}

.chosen-container-single .chosen-single div b {
    background-position: 0 10px !important;
}

.chosen-container .chosen-results::-webkit-scrollbar {
    width: 4px;
}

.chosen-container .chosen-results::-webkit-scrollbar-track {
    background: transparent;
}

.chosen-container .chosen-results::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.chosen-container .chosen-results::-webkit-scrollbar-thumb:hover {
    background: #525252;
}

/*custom search header*/
.nav>li.html {
    width: 100%;
}

.searchform-wrapper {
    padding-right: 30px;
    padding-left: 10px;
}

.searchform-wrapper .button.secondary:not(.is-outline) {
    width: 50px;
    height: 40px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background-color: #e92432;
}

.searchform-wrapper .button.secondary:not(.is-outline):hover {
    background-color: #c41e2a;
}

.searchform-wrapper input[type='search'] {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.searchform-wrapper .autocomplete-suggestions {
    background-color: #f9f9f9;
    border-radius: 8px;
}

.searchform-wrapper .live-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    border-radius: 8px;
}

.header .search-form .live-search-results {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3), 
                0 4px 10px rgba(233, 36, 50, 0.08);
    background-color: #fff;
}

.searchform-wrapper .searchform {
    z-index: 5;
    max-width: 550px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar,
.searchform-wrapper .autocomplete-suggestions::-webkit-scrollbar {
    width: 4px;
}

.widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar-track,
.searchform-wrapper .autocomplete-suggestions::-webkit-scrollbar-track {
    background: transparent;
}

.widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar-thumb,
.searchform-wrapper .autocomplete-suggestions::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;

    background-clip: padding-box;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}

.widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar-thumb:hover,
.searchform-wrapper .autocomplete-suggestions::-webkit-scrollbar-thumb:hover {
    background: #525252;
    background-clip: padding-box;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}

.header .search-form .autocomplete-suggestions {
    max-height: 50vh;
}

.nav-dropdown>li.html {
    padding: 12px 10px;
    min-width: 300px;
}

/*view quick*/
.product-quick-view-container .product-gallery {
    max-width: 40%;
}

.product-quick-view-container .product-info {
    max-width: 60%;
    flex: 1;
}

.product-quick-view-container .product-lightbox-inner {
    padding-left: 20px;
    padding-right: 20px;
}

.product-quick-view-container .custom-container-action-button .doc-row {
    justify-content: center;
}

.product-quick-view-container .variations th.label {
    width: 25%;
}

.product-quick-view-container .quantity input[type='number'] {
    height: 2.5rem;
}

.product-quick-view-container .badge-container {
    right: 20px;
    border-radius: 50%;
    top: -4px;
    left: auto;
}

.product-quick-view-container .callout {
    min-width: 50px;
    height: 36px;
    font-size: 0.875rem;
}

.product-quick-view-container .badge-inner {
    border-radius: 12px;
    color: #fff;
    border: none;
}

/*Custom toast*/
.toast-container {
    position: fixed;
    top: 100px;
    right: 6px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.custom-toast {
    min-width: 150px;
    max-width: 270px;
    padding: 6px 6px;
    border-radius: 8px;
    color: #fff;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 5px 20px rgba(0, 0, 0, 0.3),
        0 4px 10px rgba(233, 36, 50, 0.08);

    opacity: 0;
    transform: translateX(100%);
    transition: all 0.3s ease;
}

.custom-toast.show {
    opacity: 1;
    transform: translateX(0);
}

.toast-icon {
    width: 20px;
    height: 20px;
}

.toast-close {
    margin-left: auto;
    cursor: pointer;
    font-size: 25px;
    width: 22px;
    padding-left: 6px;
    color: #ccc;
}

.toast-close:hover {
    color: #fff;
}

.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    animation: progress linear forwards;
}

@keyframes progress {
    from {
        width: 100%;
    }
    to {
        width: 0%;
    }
}

.custom-toast.success {
    background: #28a745;
}
.custom-toast.error {
    background: #dc3545;
}
.custom-toast.info {
    background: #007bff;
}
.custom-toast.warning {
    background: #ffc107;
    color: #333;
}


/*Highlight before selecting a variant*/
.variation-error {
    outline: 2px solid #e74c3c;
    border-radius: 8px;
    transition: all 0.3s ease;
}

/*Hide WooCommerce default notifications*/
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    display: none !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*custom contact page*/
.uu-ttitle-contact p {
    margin-bottom: 10px;
}

.uu-col-form-contact .contact-form{
    position: relative;
}

.uu-col-form-contact .contact-form::before,
.uu-col-form-contact .contact-form::after {
    content: '';
    display: block;
    background-color: #e92432;
    position: absolute;
    top: 0;
    left: 0;
}

.uu-col-form-contact .contact-form::before {
    width: 1px;
    height: 50px;
}
    
.uu-col-form-contact .contact-form::after {
    width: 90px;
    height: 1px;
}


/*custom wishlist*/
.shop-container .product-main .product-gallery  .image-tools.top.right {
    opacity: 1;
}

.shop-container .product-main .product-gallery .wishlist-button {
    color: red;
    opacity: 0;
}

.shop-container .product-main .product-gallery .wishlist-popup.dark {
    opacity: 1;
    max-height: 42px;
    height: 42px;
    width: 42px;
    top: 12px;
    left: 4px;
    background-color: transparent;
    padding: 0;
    border-radius: 50% !important;
    overflow: hidden;
    opacity: 0.8;
}

.shop-container .product-main .yith-wcwl-add-to-wishlist-button:is(button) {
    background-color: rgba(0, 0, 0, 0.1);
    margin-right: 0;
    margin-bottom: 0;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
}

.shop-container .product-main .yith-add-to-wishlist-button-block {
    margin-top: 0;
    margin-bottom: 0;
}

.shop-container .product-main .yith-wcwl-add-to-wishlist-button__label {
    display: none;
}

.shop-container .product-main .yith-wcwl-add-to-wishlist-button:is(button) svg {
    width: 24px;
    height: 24px;
    color: #e92432;
}

.shop-container .product-main .product-gallery .wishlist-popup.dark:hover {
     opacity: 1;
}

.shop-container .product-main .yith-add-to-wishlist-button-block.yith-add-to-wishlist-button-block--single {
    border-radius: 50%;
    overflow: hidden;
}

.woof_autohide_wrapper {
    display: none;
}

.wc-block-cart__submit-container .wc-block-components-button,
.woocommerce-checkout-payment .form-row button {
    background-color: #e92432 !important;
    color: #fff;
    border-radius: 8px;
    transition: all .3s ease-in;
}

.wc-block-cart__submit-container .wc-block-components-button:hover,
.woocommerce-checkout-payment .form-row button:hover {
    background-color: #ba1d28;
}

/*custom cart page*/

td {
    color: unset;
}

.wc-block-cart-items__header th,
.wc-block-cart .wc-block-cart__totals-title {
    font-size: 1rem;
    font-weight: 600;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices{
    font-size: 0.875rem;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    font-weight: 600;
}

.wc-block-cart-item__product .wc-block-cart-item__wrap a,
.wc-block-components-totals-item__label{
    color: #000;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-privacy-policy-text a,
.wc-block-cart-item__product .wc-block-cart-item__wrap a:hover {
    color: #e92432;
}

.woocommerce-privacy-policy-text a:hover {
    color: #ba1d28;
}

.wc-block-cart-item__prices {
    font-weight: 600;
    color: #e92432;
}

.wc-block-components-product-metadata__description p {
    display: none;
}

.wc-block-components-quantity-selector {
    align-items: center;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.wc-block-components-panel__button {
    font-size: 0.813rem;
}

/*checkout page*/
.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

p.form-row-first, p.form-row-last {
    max-width: 48%;
}

p.form-row-wide {
    width: 100%;
}


.col-inner.has-border,
.woocommerce-checkout input[type=email],.woocommerce-checkout input[type=number],.woocommerce-checkout input[type=url],.woocommerce-checkout input[type=tel],.woocommerce-checkout input[type=text], textarea {
    border-radius: 8px;
}

.shop_table.woocommerce-checkout-review-order-table .product-total {
    min-width: 86px;
}

.shop_table.woocommerce-checkout-review-order-table .cart_item td bdi {
    color: #505050;
}

.woocommerce-checkout-payment .form-row button {
    width: 100%;
    min-height: 44px;
    margin-right: 0;
}

.checkout-inline-error-message {
    color: red;
    font-size: 0.813rem;
    margin-top: -10px;
}

input.wpcf7-not-valid, .woocommerce-invalid input {
    color: #e92432;
    border-color: #e92432;
}

.checkout-page-title nav.breadcrumbs {
    gap: 8px;
    align-items: center;
    margin-bottom: 0;
}

.checkout-page-title .breadcrumbs a {
    margin-bottom: 0;
}

.checkout-page-title .breadcrumbs a:last-child {
    color: #505050;
}

.checkout-page-title .breadcrumbs a.current {
    color: #e92432;
}

.icon-box-left .icon-box-img+.icon-box-text {
    padding-left: 6px;
}

.uu-contact-phone {
    margin-top: 20px;
}

.uu-contact-mail {
    margin-bottom: 8px;
}

.uu-product-tabs ul.nav > li {
		flex: 0 0 auto;
		flex-shrink: 0;
}

.uu-product-tabs ul.nav > li > a {
	font-size: 0.825rem !important;
	line-height: 2 !important;
}

.uu-product-tabs ul.nav {
   flex-wrap: nowrap;
   overflow-x: auto;
   overflow-y: hidden;
   -webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;
}

.uu-product-tabs ul.nav::-webkit-scrollbar {
		display: none;
}

.uu-product-tabs ul.nav::-webkit-scrollbar-track {
        background-color: #f1f1f1;
        border-radius: 10px;
    }

    .uu-product-tabs ul.nav::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.product-quick-view-container {
    position: relative;
}

.product-quick-view-container .quick-view-close {
    position: absolute;
    right: 0;
    margin-right: 0;
    margin-bottom: 0;
    padding: 10px;
    height: 50px;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease-in;
    z-index: 10;
}

.product-quick-view-container .quick-view-close:hover {
    opacity: 1;
}

.mfp-wrap {
    z-index: 100000;
}

body:has(.mfp-wrap.mfp-auto-cursor) {
    overflow: hidden !important;
    padding-right: 15px;

}

.mfp-bg {
    height: 100vh !important;
    overflow: hidden !important;
    position: fixed !important;
}

/*custom wishlist header*/
.header-nav .html.custom.html_top_right_text {
    flex: 1;
}

.header-wishlist-container {
    padding: 0 !important;
    min-width: 104px;
    color: #fff !important;
    gap: 2px;
    font-size: 0.8rem !important;
    border-radius: 99px;
    background-color: #e92432;
    padding-left: 6px !important;
    padding-right: 6px !important;
    position: relative;
    text-align: center;
    height: 30px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: center;
    align-items: end;
    cursor: pointer;
    transition:
        transform 0.3s,
        border 0.3s,
        background 0.3s,
        box-shadow 0.3s,
        opacity 0.3s,
        color 0.3s,
        -webkit-transform 0.3s,
        -webkit-box-shadow 0.3s;
}

.header-wishlist-container:hover {
    background-color: #ba1d28;
    border-color: #e92432;
    color: #fff;
}

.header-wishlist-container .icon-heart {
    font-size: 1rem;
    color: #fff;
}

.wishlist-count-number {
    position: absolute;
    top: -6px;
    right: -5px;
    background-color: #e6b411;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    text-align: center;
    vertical-align: middle;
    font-size: 11px;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.3);
    font-style: normal;
    font-family: Arial, Sans-serif !important;
    padding-left: 2px;
    padding-right: 2px;
    opacity: 0.9;
    line-height: 17px;
    letter-spacing: -0.5px;
    height: 17px;
    min-width: 17px;
    color: #fff;
    text-align: center;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    -o-transition: transform 0.2s;
    transition: transform 0.2s;
    transition:
        transform 0.2s,
        -webkit-transform 0.2s;
}

.wishlist-count-number.is-hidden {
    display: none;
}

@media (max-width: 850px) {
    .banner-grid-wrapper,
    [id^='banner-grid-'] {
        height: auto;
        position: relative;
    }
    .banner-grid-wrapper .col {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 50% !important;
        aspect-ratio: 1 / 1;
        height: auto !important;
    }
    .banner-grid-wrapper .col .banner,
    .banner-grid-wrapper .col .banner-inner {
        height: 100%;
        padding-top: 0;
    }

    .uu-col-1 {
        order: 1;
    }
    .uu-col-3 {
        order: 2;
    }
    .uu-col-2 {
        order: 3;
    }
    
    .uu-product-lists .product_list_widget {
        display: none;
    }
    
    .uu-product-lists {
        padding-bottom: 20px;
    }
    
    .uu-product-lists:last-child {
        padding-bottom: 0;
    }
    
    .uu-product-lists .uu-product-lists .title {
        margin-bottom: 30px;
    }
    
    .woocommerce-breadcrumb.breadcrumbs {
        text-align: left;
    }
    
        .uu-blog-sidebar {
		border: none;
    }

    .uu-blog-sidebar .post-sidebar {
		padding-right: 0;
		padding-bottom: 0;
    }
    
    .header-bottom.wide-nav ul.nav {
        justify-content: center;
    }
    
    .header-bottom.wide-nav .flex-row {
        gap: 0;
    }
    
    .uu-featured-horizontal .product-small.box {
        gap: 0 !important
    }
    
    .custom-container-action-button .doc-row,
    .custom-container-action-button .action-group {
        gap: 12px;
    }
    
    .searchform-wrapper {
        padding-right: 10px;
    }
    
    /*filter*/
    .category-filtering.category-filter-row {
        display: none;
    }
    
    .term-description {
        display: none;
    }
    
     .woof_autohide_wrapper {
        display: block;
    }
    
   .woof_show_auto_form,
    .woof_hide_auto_form {
        position: fixed;
        width: 44px;
        height: 44px;
        top: 160px;
        right: 0;
        border-radius: 8px;
        font-size: 0 !important;
        color: transparent !important;
        padding: 0 !important;
        background: #fff !important;
        background-image: none !important;
        border: 1px solid #e5e5e5;
        border-radius: 8px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
        overflow: hidden;
        z-index: 99;
    }
    
    .woof_show_auto_form i,
    .woof_hide_auto_form i,
    .woof_show_auto_form svg,
    .woof_hide_auto_form svg,
    .woof_show_auto_form::after,
    .woof_hide_auto_form::after {
        display: none !important;
    }
    
    .woof_show_auto_form::before,
    .woof_hide_auto_form::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 22px;
        height: 22px;
        transform: translate(-50%, -50%);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23505050' d='M22 18.605a.75.75 0 0 1-.75.75h-5.1a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h7.74a2.93 2.93 0 0 1 5.66 0h5.1a.75.75 0 0 1 .75.75m0-13.21a.75.75 0 0 1-.75.75H18.8a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h10.39a2.93 2.93 0 0 1 5.66 0h2.45a.74.74 0 0 1 .75.75m0 6.6a.74.74 0 0 1-.75.75H9.55a2.93 2.93 0 0 1-5.66 0H2.75a.75.75 0 1 1 0-1.5h1.14a2.93 2.93 0 0 1 5.66 0h11.7a.75.75 0 0 1 .75.75'/%3E%3C/svg%3E");
    }
    
    .woof_auto_show {
        position: fixed;
        top: 208px;
        right: 0px;
        max-width: 300px;
        /*border-radius: 20px;*/
    }
    
    .woof_auto_show_indent,
    .woof_sid_auto_shortcode.woof{
        border-radius: 20px;
    }
    
    .woof_sid_auto_shortcode .woof_redraw_zone {
        overflow-y: auto;
        max-height: 400px;
    }
    
    .woof_radio_term_reset_visible {
        display: none !important;
    }
        
}

@media (max-width: 549px) {
    /* custom add cart mobile */
    .mfp-container {
        padding: 0 !important;
    }
        
    .mfp-content {
    	vertical-align: bottom;
    	position: fixed;
        left: 0;
        bottom: 0;
        right: 0;
    }
    
    .product-quick-view-container .row.row-collapse {
    	position: relative;
    }
    
    .product-quick-view-container .product-gallery {
    	max-width: 0;
    }
    
    .product-quick-view-container .product-gallery .slider {
    		position: absolute;
        left: 0;
        top: 0;
        width: 150px;
        height: 150px;
    }
    
    .product-quick-view-container .flickity-viewport
    {
    	 height: 150px;
    }
    
    .product-quick-view-container .product-info {
    	max-width: 100%;
    }
    
    .mfp-content .product-lightbox {
    	border-radius: 0;
    }
    
    .product-quick-view-container .product-lightbox-inner {
    	padding: 32px 16px 20px !important;
    }
    
    .product-lightbox-inner > a {
    	display: block;
    	margin-left: 160px;
    }
    
    .product-lightbox-inner > a h1 {
    	font-size: 1rem;
    }
    
    .product-lightbox-inner .price-wrapper {
    	padding-left: 160px;
        font-size: 0.875rem;
    }
    
    .product-info .product-short-description {
    		display: none;
    }
    
    .product-info form.cart {
    	margin-top: 40px;
        padding-top: 10px;
        border-top: 1px solid #ccc;
    }
    
    .product-lightbox-inner .custom-container-action-button .doc-row{
    	display: none;
    }
    
    .product-lightbox-inner .custom-container-action-button .action-group .button {
    		max-width: 190px;
        font-size: 0.75rem;
        max-height: 44px;
    }
    
    .product-lightbox-inner .custom-container-action-button .action-group .btn-agency {
    		display: none;
    }
    
    .product-info div.quantity::before,
    .product-lightbox-inner  .variations th.label {
    	min-width: 94px;
    }
    
    .product-info div.quantity::before,
    .product-lightbox-inner .variations label {
    	font-size: 0.875rem;
    	font-weight: 500;
    }
    
    .product-quick-view-container .product-gallery .slider {
    	z-index: 5;
    }
    
    .flickity-page-dots .dot {
    	width: 8px;
        height: 8px;
        margin-left: 2px;
        margin-right: 2px;
        border-width: 1px;
    }
    
    .product-quick-view-container .flickity-button {
    	display: block;
    }
    
    .mobile-add-to-cart-link {
    	padding: 5px 10px;
    	color: #e92432;
    }
    
    .rating-score-wrapper .score-number {
    	font-size: 0.875rem;
    }
    
    .row .section {
        padding-left: 0;
        padding-right: 0;
    }
    
    .uu-ttitle-contact p {
        margin-bottom: 10px;
    }
    
    .chosen-drop .chosen-search {
        display: none;
    }
    
    .col-inner.has-border {
        padding: 12px;
    }
    
    .cart-container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .checkout-page-title nav.breadcrumbs {
        padding-top: 0;
        padding-bottom: 0;
    }
    
    .text-title-slider {
        font-size: 1.2rem;
    }
    
    .uu-outstanding-product-title p {
        font-size: 1.125rem;
        margin-bottom: 9px;
    }
    
    .mfp-wrap.mfp-auto-cursor {
        position: fixed !important;
        top: 0px !important;
        right: 0px;
        left: 0px;
        z-index: 100000;
    }
}

@media only screen and (max-width: 48em) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/
}

/* =====================================================================
   TDC MÀU CHỦ ĐẠO – BẮT ĐẦU (xanh dương + trắng)
   Ghi đè các màu đỏ/vàng viết cứng trong style.css cũ. Không sửa code cũ: xóa khối này là về như trước.
   Xanh #0B6FB8 (đậm #08548C) cho link, nút, ô đang chọn · Đỏ #C42B1C CHỈ cho giá + lỗi · Vàng #FFC24A cho điểm nhấn nhỏ.
   ===================================================================== */
:root { --tdc-c-blue: #0B6FB8; --tdc-c-blue-dark: #08548C; --tdc-c-sky: #EAF3FB; --tdc-c-sale: #C42B1C; --tdc-c-hl: #FFC24A; --tdc-c-ink: #13212F; }

/* Link, breadcrumb, mục đang chọn */
html body .breadcrumbs, html body .breadcrumbs a:last-child, html body .custom-breadcrumb a:last-child,
html body .custom-breadcrumb .breadcrumb-category a:last-child, html body .custom-breadcrumb span:last-child,
html body .checkout-page-title .breadcrumbs a.current { color: var(--tdc-c-blue); }
html body .fp-custom-clause, html body .widget .current-cat > a, html body .mobile-add-to-cart-link { color: var(--tdc-c-blue); }
html body .custom-sorting-wrapper a.is-active, html body .product-categories a.is-active, html body .sort-options li a.active { color: var(--tdc-c-blue); }
html body .dynamic-cat-item.is-active { border-color: var(--tdc-c-blue); }
html body .cat-name, html body .dynamic-cat-item.is-active .cat-name { color: var(--tdc-c-blue-dark); }
html body .tabbed-content .nav > li.active > a, html body .tabbed-content .nav > li > a:hover { color: var(--tdc-c-blue); }
html body .wishlist-items-wrapper .product-add-to-cart a, html body .product-footer .product-section-title { color: var(--tdc-c-blue); }
html body .product-footer .product-section-title { border-bottom-color: var(--tdc-c-blue); }

/* Khung lọc ở cột bên (trang shop cũ / WOOF) */
html body .shop-sidebar .widget-title { background-color: var(--tdc-c-blue) !important; }
html body .woof_list.woof_list_checkbox li div.checked + label, html body .woof_list div.checked + span + label,
html body .woof_list div.checked + span + label > span { color: var(--tdc-c-blue) !important; }
html body .chosen-container-single .chosen-single, html body .chosen-container-single .chosen-drop { border-color: var(--tdc-c-blue) !important; }
html body .chosen-container .chosen-results li.active-result.result-selected { background-color: var(--tdc-c-blue); }
html body .chosen-container .chosen-results li.active-result.highlighted { background-color: rgba(11, 111, 184, .75) !important; }

/* Giá: một màu đỏ duy nhất */
html body .woocommerce-Price-amount.amount, html body .woocommerce-Price-amount bdi, html body ins .woocommerce-Price-amount,
html body .wc-block-cart-item__prices { color: var(--tdc-c-sale); }
html body .custom-contact-price { color: var(--tdc-c-blue); } /* "Liên hệ tư vấn" = xanh, giống thẻ mới */

/* Số lượng + phiên bản (trang/Xem nhanh giao diện cũ) */
html body .quantity .button.is-form { color: var(--tdc-c-blue); }
html body .product-info div.quantity .is-form:hover { background-color: var(--tdc-c-blue); border-color: var(--tdc-c-blue); color: #fff; }
html body .variable-items-wrapper .variable-item.selected { border-color: var(--tdc-c-blue); }
html body .variable-items-wrapper .variable-item.selected::after { border-color: transparent transparent var(--tdc-c-blue) transparent; }

/* Nút hành động cũ (Mua ngay, Đăng ký đại lý – vàng/đỏ → xanh) */
html body .custom-container-action-button .custom-btn-action, html body .custom-container-action-button .btn-agency {
	background-image: linear-gradient(135deg, var(--tdc-c-blue-dark) 50%, var(--tdc-c-blue) 50%); }

/* Nút yêu thích / công cụ trên thẻ cũ */
html body .custom-bottom-tools .yith-add-to-wishlist-button-block:hover, html body .custom-bottom-tools .custom-icon-btn:hover { background-color: var(--tdc-c-blue); }
html body .custom-bottom-tools .yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon-svg__wrapper svg,
html body .shop-container .product-main .yith-wcwl-add-to-wishlist-button:is(button) svg { color: var(--tdc-c-blue); }
html body .product-footer .related-products-wrapper .flickity-button:hover svg { background-color: var(--tdc-c-blue); border-color: var(--tdc-c-blue); }

/* Form liên hệ / đăng ký đại lý (CF7) + trang liên hệ */
html body .contact-form-title { color: var(--tdc-c-blue); }
html body .wpcf7-form-control.wpcf7-submit { background-color: var(--tdc-c-blue) !important; }
html body .contact-radio-group input[type='radio'] { accent-color: var(--tdc-c-blue); }
html body .uu-col-form-contact .contact-form::before, html body .uu-col-form-contact .contact-form::after { background-color: var(--tdc-c-blue); }

/* Giỏ hàng + thanh toán */
html body .wc-block-cart__submit-container .wc-block-components-button, html body .woocommerce-checkout-payment .form-row button { background-color: var(--tdc-c-blue) !important; }
html body .wc-block-cart__submit-container .wc-block-components-button:hover, html body .woocommerce-checkout-payment .form-row button:hover { background-color: var(--tdc-c-blue-dark) !important; }
html body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--tdc-c-sale); }
html body .woocommerce-privacy-policy-text a, html body .wc-block-cart-item__product .wc-block-cart-item__wrap a:hover { color: var(--tdc-c-blue); }
html body .woocommerce-privacy-policy-text a:hover { color: var(--tdc-c-blue-dark); }

/* Header cũ của Flatsome (khi header mới đang tắt) */
html body .searchform-wrapper .button.secondary:not(.is-outline) { background-color: var(--tdc-c-blue); }
html body .searchform-wrapper .button.secondary:not(.is-outline):hover { background-color: var(--tdc-c-blue-dark); }
html body .header-wishlist-container { background-color: var(--tdc-c-blue); }
html body .header-wishlist-container:hover { background-color: var(--tdc-c-blue-dark); border-color: var(--tdc-c-blue); }
html body .wishlist-count-number { background-color: var(--tdc-c-hl); color: #0A2540; }
/* ===================== TDC MÀU CHỦ ĐẠO – KẾT THÚC ===================== */

/* =====================================================================
   TDC PRODUCT CARD – BẮT ĐẦU (dán vào CUỐI style.css của Flatsome Child)
   Mọi rule gắn với .tdc-card nên không ảnh hưởng thẻ cũ khi tắt thẻ mới.
   Nguyên tắc: mỗi vùng trong thẻ có CHIỀU CAO CỐ ĐỊNH và luôn giữ chỗ (kể cả khi trống)
   → mọi thẻ cao bằng nhau, tên – giá – nút thẳng hàng, kể cả trong slider.
   ===================================================================== */
.tdc-card {
	--tdc-blue: #0B6FB8;
	--tdc-blue-dark: #08548C;
	--tdc-navy: #0A2540;
	--tdc-sky: #EAF3FB;
	--tdc-ground: #F4F7FA;
	--tdc-line: #DCE5EE;
	--tdc-ink: #13212F;
	--tdc-muted: #5B6B7B;
	--tdc-sale: #C42B1C;
	--tdc-star: #E8930C;
	--tdc-ok: #1F7A4D;
	/* Chiều cao các vùng (desktop) */
	--tdc-h-colors: 16px;
	--tdc-h-meta: 18px;
	--tdc-title-size: 14.5px;
	--tdc-title-lh: 22px;        /* 2 dòng = 44px (Be Vietnam Pro có chân chữ dài: g, y, dấu tiếng Việt) */
	--tdc-h-specs: 24px;
	--tdc-h-price: 28px;
	--tdc-h-ship: 18px;
	--tdc-gap: 7px;
	font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}

/* Vô hiệu viền/bóng của thẻ cũ (style.css: .product-small.col .col-inner) */
.product-small.col.tdc-card .col-inner {
	height: 100%;
	border: 0;
	box-shadow: none;
}
/* Ẩn phần do hook Flatsome/WooCommerce in thêm mà thẻ mới đã tự làm */
.tdc-card .badge-container,
.tdc-card .add-to-cart-button,
.tdc-card .added_to_cart,
.tdc-card .star-rating { display: none !important; }

/* KHÔNG đặt height:100% cho thẻ trong slider Flickity: Flickity đo chiều cao thẻ để đặt chiều cao khung,
   nếu thẻ lại cao 100% khung thì khung = 0px và sản phẩm bị ẩn (lỗi đã gặp 06/10/2026). */

.tdc-card__box {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--tdc-line);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}

/* 1. Ảnh + nhãn */
.tdc-card__media {
	position: relative;
	flex-shrink: 0;
	margin: 10px 10px 0;
	aspect-ratio: 1 / 1;
	background: var(--tdc-ground);
	border-radius: 10px;
	overflow: hidden;
}
.tdc-card__media > a { display: block; height: 100%; }
.tdc-card__media img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
	mix-blend-mode: multiply; /* ảnh nền trắng hòa vào nền xám nhạt */
}
.tdc-card--oos .tdc-card__media img { opacity: .45; }
.tdc-card__media .back-image { mix-blend-mode: normal; transition: opacity .2s; }
/* Đổi sang ảnh 2 khi rê chuột – CHỈ máy tính có chuột. Màn hình cảm ứng: chạm tay = "hover" giả, ảnh 2 chưa tải xong → khung trắng */
@media (hover: hover) and (pointer: fine) and (min-width: 850px) {
	.tdc-card:hover .tdc-card__media a:has(.back-image) img:not(.back-image) { opacity: 0 !important; }
	.tdc-card:hover .tdc-card__media .back-image { opacity: 1 !important; }
}
@media (hover: none), (pointer: coarse), (max-width: 849px) {
	html body .tdc-card .tdc-card__media .back-image { display: none !important; }
	html body .tdc-card .tdc-card__media img:not(.back-image),
	html body .tdc-card:hover .tdc-card__media a:has(.back-image) img:not(.back-image) { opacity: 1 !important; transition: none !important; }
}
.tdc-card__badges {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 3;
	display: flex;
	gap: 4px;
	pointer-events: none;
}
.tdc-badge {
	padding: 3px 7px;
	border-radius: 6px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
}
.tdc-badge--oos { background: #3B4754; }
.tdc-badge--sale { background: var(--tdc-sale); }
.tdc-badge--hot { background: var(--tdc-navy); }
.tdc-badge--new { background: var(--tdc-blue); }

/* Thân thẻ (.box-text của Flatsome có font-size 85% → đặt lại cỡ chữ gốc) */
.tdc-card .tdc-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: var(--tdc-gap);
	padding: 12px 12px 14px !important;
	font-size: 14px !important;
	text-align: left;
}

/* 2. Màu + số phiên bản – luôn giữ chỗ */
.tdc-card__colors {
	display: flex;
	align-items: center;
	gap: 5px;
	height: var(--tdc-h-colors);
	overflow: hidden;
}
.tdc-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 1px solid rgba(19, 33, 47, .25);
	flex-shrink: 0;
}
.tdc-card__variants { margin-left: 3px; font-size: 12px; line-height: 1; color: var(--tdc-muted); white-space: nowrap; }

/* 3. Thương hiệu (trái) + đánh giá (phải) – 1 dòng cố định */
.tdc-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	height: var(--tdc-h-meta);
	overflow: hidden;
}
.tdc-card .tdc-card__brand {
	position: relative;
	z-index: 2;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 12px;
	font-weight: 600;
	line-height: var(--tdc-h-meta);
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tdc-muted) !important;
	margin: 0 !important;
}
.tdc-card a.tdc-card__brand:hover { color: var(--tdc-blue) !important; }
.tdc-card__rating { display: flex; align-items: center; gap: 3px; flex-shrink: 0; font-size: 12px; color: var(--tdc-muted); }
.tdc-card__rating .tdc-ico { width: 13px; height: 13px; color: var(--tdc-star); }
.tdc-card__rating b { color: var(--tdc-ink); font-weight: 600; }

/* 4. Tên – đúng 2 dòng, luôn hiện trọn chữ (Flatsome đặt line-height/margin cho link trong .box-text → ghi đè) */
.tdc-card .tdc-card__title {
	height: calc(var(--tdc-title-lh) * 2 + 4px); /* +4px chừa chỗ chân chữ dòng 2 (g, y, p) – không bị xén */
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	font-size: var(--tdc-title-size) !important;
	line-height: var(--tdc-title-lh) !important;
	font-weight: 600;
}
.tdc-card .tdc-card__link {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	/* Chrome mới tự rút chiều cao ô cắt 2 dòng (~38px) → xén chân chữ g, y, dấu tiếng Việt ở dòng 2. Ép đúng 2 dòng. */
	height: calc(var(--tdc-title-lh) * 2) !important;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
	font-size: var(--tdc-title-size) !important;
	line-height: var(--tdc-title-lh) !important;
	font-weight: 600;
	color: var(--tdc-ink) !important;
	word-break: break-word;
}
/* Bấm vào bất kỳ đâu trên thẻ để mở sản phẩm; nút/brand nằm lớp trên */
.tdc-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* 5. Thông số nhanh – 1 hàng cố định, không thụt lề */
.tdc-card__specs {
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	height: var(--tdc-h-specs);
	overflow: hidden;
}
.tdc-card__specs span {
	flex-shrink: 0;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 0 7px;
	border: 1px solid var(--tdc-line);
	border-radius: 6px;
	font-size: 12px;
	line-height: calc(var(--tdc-h-specs) - 2px);
	color: var(--tdc-muted);
}

/* 7. Giá + dòng giao hàng + nút – dính đáy thẻ */
.tdc-card__foot { margin-top: auto; display: flex; flex-direction: column; gap: 6px; padding-top: 2px; }
.tdc-card__price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	height: var(--tdc-h-price);
}
.tdc-price {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1.2;
}
.tdc-card .tdc-price__now, .tdc-card .tdc-price__now .amount, .tdc-card .tdc-price__now bdi { color: var(--tdc-sale) !important; font-size: 18px; font-weight: 700; }
.tdc-price__from { font-size: 12px; color: var(--tdc-muted); }
.tdc-card .tdc-price__old, .tdc-card .tdc-price__old .amount, .tdc-card .tdc-price__old bdi { color: #98A2B3 !important; font-size: 12.5px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.tdc-card .tdc-price--contact { color: var(--tdc-blue) !important; font-size: 16px; font-weight: 700; }
.tdc-card .tdc-price.is-muted .tdc-price__now,
.tdc-card .tdc-price.is-muted .tdc-price__now .amount,
.tdc-card .tdc-price.is-muted .tdc-price__now bdi,
.tdc-card .tdc-price--contact.is-muted { color: #8A949E !important; }
.tdc-card__ship {
	display: flex;
	align-items: center;
	gap: 5px;
	height: var(--tdc-h-ship);
	overflow: hidden;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 600;
	color: var(--tdc-ok);
}
.tdc-card__ship .tdc-ico { width: 16px; height: 16px; flex-shrink: 0; }

/* 8. Nút (theme tô nền nút → ghi đè để đúng thiết kế: viền xanh, rê chuột mới tô) */
.tdc-card__actions, .tdc-card__actions * { position: relative; z-index: 2; }
.tdc-btn-group { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.tdc-card a.tdc-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 44px;
	min-height: 44px;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1.5px solid var(--tdc-blue) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--tdc-blue) !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0;
	white-space: nowrap;
	transition: background .15s, color .15s, border-color .15s;
}
.tdc-btn .tdc-ico { width: 17px; height: 17px; flex-shrink: 0; }
.tdc-card a.tdc-btn--soft { background: var(--tdc-sky) !important; border-color: var(--tdc-sky) !important; }
.tdc-card a.tdc-btn--call { background: var(--tdc-blue) !important; color: #fff !important; }
.tdc-card a.tdc-btn--notify { border-color: #C3CCD5 !important; color: #3B4754 !important; }
.tdc-card a.tdc-btn.loading { opacity: .6; pointer-events: none; }
.tdc-card a.tdc-btn.added::after { content: "✓"; margin-left: 2px; }

/* Nút biểu tượng mobile – ẩn trên desktop */
.tdc-card a.tdc-mbtn {
	display: none;
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 10px;
	background: var(--tdc-sky) !important;
	color: var(--tdc-blue) !important;
}
.tdc-card a.tdc-mbtn--call { background: var(--tdc-blue) !important; color: #fff !important; }
.tdc-mbtn .tdc-ico { width: 20px; height: 20px; }

/* Rê chuột – chỉ desktop */
@media (min-width: 850px) and (hover: hover) {
	.tdc-card:hover .tdc-card__box { border-color: var(--tdc-blue); box-shadow: 0 10px 28px rgba(11, 111, 184, .16); }
	.tdc-card:hover .tdc-card__link { color: var(--tdc-blue) !important; }
	.tdc-card a.tdc-btn--cart:hover, .tdc-card a.tdc-btn--soft:hover { background: var(--tdc-blue) !important; border-color: var(--tdc-blue) !important; color: #fff !important; }
	.tdc-card a.tdc-btn--call:hover { background: var(--tdc-blue-dark) !important; border-color: var(--tdc-blue-dark) !important; }
	.tdc-card a.tdc-btn--zalo:hover { background: var(--tdc-sky) !important; }
	.tdc-card a.tdc-btn--notify:hover { border-color: #3B4754 !important; }
}

/* Mobile < 850px: 2 thẻ/hàng, bỏ nút chữ, chỉ còn nút biểu tượng 44px cạnh giá */
@media (max-width: 849px) {
	.tdc-card {
		--tdc-title-size: 13px;
		--tdc-title-lh: 19px;        /* 2 dòng = 38px */
		--tdc-h-colors: 14px;
		--tdc-h-meta: 16px;
		--tdc-h-specs: 22px;
		--tdc-h-price: 44px;         /* bằng nút biểu tượng */
		--tdc-h-ship: 16px;
		--tdc-gap: 5px;
	}
	.tdc-card__media { margin: 6px 6px 0; }
	.tdc-card .tdc-card__body { padding: 8px 8px 10px !important; }
	.tdc-dot { width: 12px; height: 12px; }
	.tdc-card__variants, .tdc-card .tdc-card__brand, .tdc-card__specs span { font-size: 11px; }
	.tdc-card__actions { display: none; }
	.tdc-card a.tdc-mbtn { display: inline-flex; }
	/* "Từ" nằm trên giá; giá gốc ẩn trên mobile (đã có nhãn -X% trên ảnh) để giá không bị nút che */
	.tdc-card__price-row { gap: 6px; }
	.tdc-price { flex-direction: column; align-items: flex-start; gap: 1px; }
	.tdc-card .tdc-price__now, .tdc-card .tdc-price__now .amount, .tdc-card .tdc-price__now bdi { font-size: 14px; }
	.tdc-card .tdc-price__old { display: none !important; }
	.tdc-price__from { font-size: 11px; line-height: 1; }
	.tdc-card .tdc-price--contact { font-size: 13px; white-space: normal; line-height: 1.25; }
	.tdc-card__ship { font-size: 11px; }
	.tdc-card__ship .tdc-ico { width: 14px; height: 14px; }
}
/* Màn hình rất hẹp (thẻ ~ dưới 180px): ẩn thông số nhanh */
@media (max-width: 399px) {
	.tdc-card__specs { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tdc-card__box, .tdc-card a.tdc-btn { transition: none; }
}
/* ===================== TDC PRODUCT CARD – KẾT THÚC ===================== */

/* =====================================================================
   TDC SINGLE PRODUCT – BẮT ĐẦU (trang chi tiết sản phẩm)
   .tdc-sp = class trên <body> khi giao diện mới bật; .tdc-sp-buy = cụm nút (cả trong Xem nhanh)
   ===================================================================== */
.tdc-sp, .tdc-sp-buy, .tdc-sp-sticky, .tdc-sp-mbar, .tdc-toast {
	--tdc-blue: #0B6FB8; --tdc-blue-dark: #08548C; --tdc-navy: #0A2540; --tdc-sky: #EAF3FB;
	--tdc-ground: #F4F7FA; --tdc-line: #DCE5EE; --tdc-ink: #13212F; --tdc-muted: #5B6B7B;
	--tdc-sale: #C42B1C; --tdc-star: #E8930C; --tdc-ok: #1F7A4D; --tdc-zalo: #0068FF; --tdc-warn: #FDECEC;
}
/* Ẩn nút nổi Buttonizer trên trang sản phẩm (trùng thanh mua mobile) */
.tdc-sp .buttonizer { display: none !important; }

/* ---------- Khung mua hàng ---------- */
.tdc-sp .summary { color: var(--tdc-ink); }
.tdc-sp .summary .product-title, .tdc-sp .summary h1 { margin: 6px 0 6px !important; font-size: 28px !important; line-height: 1.25 !important; font-weight: 700; color: var(--tdc-ink); text-transform: none !important; }
.tdc-sp .summary .is-divider { display: none; }
.tdc-sp-brand { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--tdc-muted); }
.tdc-sp-brand__name { padding: 3px 10px; border: 1px solid var(--tdc-line); border-radius: 6px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--tdc-ink) !important; }
.tdc-sp-brand__name:hover { border-color: var(--tdc-blue); color: var(--tdc-blue) !important; }
/* màu riêng theo thương hiệu – khai báo trong tdc_brand_colors() (functions.php) */
.tdc-sp-brand__name.has-color { border-color: var(--b); background: var(--b); color: #fff !important; }
.tdc-sp-brand__name.has-color:hover { border-color: var(--b); color: #fff !important; opacity: .88; }
.tdc-sp-brand__sku b { color: var(--tdc-ink); }
.tdc-sp-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 13.5px; color: var(--tdc-muted); }
.tdc-sp-rating a { color: var(--tdc-blue) !important; font-weight: 600; text-decoration: underline; }
.tdc-sp-stars { position: relative; color: #D6DDE5; letter-spacing: 2px; }
.tdc-sp-stars::before { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--r); overflow: hidden; color: var(--tdc-star); }
.tdc-sp-rating b { color: var(--tdc-ink); }

.tdc-sp-price { margin: 0 0 16px; padding: 16px 18px; border-radius: 12px; background: var(--tdc-sky); }
.tdc-sp-price__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tdc-sp-price__main { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.tdc-sp-price__main .amount, .tdc-sp-price__now, .tdc-sp-price__main ins .amount { color: var(--tdc-sale) !important; font-size: 32px; font-weight: 800; line-height: 1.1; }
.tdc-sp-price__main del, .tdc-sp-price__main del .amount, .tdc-sp-price__old .amount { color: #98A2B3 !important; font-size: 16px; font-weight: 400; }
.tdc-sp-price__from { font-size: 15px; color: var(--tdc-muted); }
.tdc-sp-price__pct { padding: 2px 7px; border-radius: 6px; background: var(--tdc-sale); color: #fff; font-size: 13px; font-weight: 700; }
.tdc-sp-price__vat, .tdc-sp-price__note { font-size: 13px; color: var(--tdc-muted); }
.tdc-sp-price__note { margin-top: 4px; }
.tdc-sp-price__contact { color: var(--tdc-blue); font-size: 28px; font-weight: 800; line-height: 1.2; }
.tdc-sp-price--oos .tdc-sp-price__main .amount { color: #8A949E !important; }

.tdc-sp-stock { display: grid; grid-template-columns: 110px 1fr; gap: 6px 10px; margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--tdc-line); font-size: 14.5px; }
.tdc-sp .tdc-sp-stock dt, .tdc-sp .tdc-sp-stock dd { text-transform: none !important; letter-spacing: 0 !important; }
.tdc-sp-stock dt { margin: 0; color: var(--tdc-muted); font-weight: 400; }
.tdc-sp-stock dd { margin: 0; font-weight: 600; }
.tdc-sp-stock dd.is-in { color: var(--tdc-ok); }
.tdc-sp-stock dd.is-out { color: var(--tdc-sale); }

.tdc-sp-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.tdc-sp-specs__item { padding: 9px 12px; border: 1px solid var(--tdc-line); border-radius: 10px; background: #fff; }
.tdc-sp-specs__item span { display: block; font-size: 12.5px; color: var(--tdc-muted); }
.tdc-sp-specs__item b { display: block; font-size: 14.5px; }
.tdc-sp-specs__all { display: inline-block; margin-bottom: 16px; color: var(--tdc-blue) !important; font-weight: 600; text-decoration: underline; font-size: 14px; }
.tdc-sp-excerpt { margin-bottom: 14px; font-size: 14px; }
.tdc-sp-picked { display: none; }

/* ---------- Thuộc tính biến thể: nhãn TRÊN dãy nút ---------- */
.tdc-sp .summary table.variations, .tdc-sp .summary table.variations tbody, .tdc-sp .summary table.variations tr,
.tdc-sp .summary table.variations th, .tdc-sp .summary table.variations td { display: block; width: auto !important; padding: 0; border: 0; }
.tdc-sp .summary table.variations { margin-bottom: 8px; }
.tdc-sp .summary table.variations tr { margin-bottom: 14px; border-radius: 10px; transition: box-shadow .2s; }
.tdc-sp .summary table.variations th.label { margin-bottom: 8px; }
.tdc-sp .summary table.variations th.label label { min-width: 0; margin: 0; font-size: 14.5px; font-weight: 400; color: var(--tdc-muted); }
.tdc-sp .summary table.variations th.label label b { color: var(--tdc-ink); font-weight: 700; }
.tdc-sp .tdc-miss { font-style: normal; font-weight: 700; color: var(--tdc-sale); }
.tdc-sp .summary .variable-items-wrapper { gap: 8px; margin: 0; }
.tdc-sp .summary .variable-items-wrapper .variable-item {
	position: relative; margin: 0 !important; padding: 0 !important; min-height: 40px; background: #fff !important;
	border: 1.5px solid var(--tdc-line) !important; border-radius: 10px !important; box-shadow: none !important;
}
.tdc-sp .summary .variable-items-wrapper .variable-item .variable-item-contents { padding: 8px 14px; font-size: 14px; color: var(--tdc-ink); }
.tdc-sp .summary .variable-items-wrapper .variable-item:hover { border-color: var(--tdc-blue) !important; }
.tdc-sp .summary .variable-items-wrapper .variable-item.selected { border: 2px solid var(--tdc-blue) !important; background: var(--tdc-sky) !important; }
.tdc-sp .summary .variable-items-wrapper .variable-item.selected .variable-item-contents { font-weight: 700; }
/* dấu tích tròn góc phải – thay tam giác đỏ cũ */
.tdc-sp .summary .variable-items-wrapper .variable-item.selected::after {
	content: "✓"; position: absolute; top: -7px; right: -7px; width: 18px; height: 18px; border: 0 !important; border-radius: 50%;
	background: var(--tdc-blue); color: #fff; font-size: 11px; line-height: 18px; text-align: center;
}
/* tổ hợp không tồn tại: mờ + gạch chéo, không bấm được */
.tdc-sp .summary .variable-items-wrapper .variable-item.disabled { opacity: .45; pointer-events: none;
	background: linear-gradient(to top right, transparent calc(50% - 1px), #B8C1CA, transparent calc(50% + 1px)) !important; }
.tdc-sp .summary table.variations tr.tdc-unset .variable-item:not(.disabled) { border-color: #F2B8B8 !important; }
.tdc-sp .summary table.variations tr.tdc-flash { animation: tdc-flash 1.2s ease 1; }
@keyframes tdc-flash { 0%, 100% { box-shadow: 0 0 0 0 rgba(196, 43, 28, 0); } 30%, 70% { box-shadow: 0 0 0 6px rgba(196, 43, 28, .25); } }
.tdc-sheet__head, .tdc-sheet__done { display: none; }

/* ---------- Số lượng ---------- */
.tdc-sp .summary .quantity { margin: 0 0 14px !important; display: inline-flex; align-items: center; }
.tdc-sp .summary .quantity input.qty, .tdc-sp .summary .quantity .button.is-form { height: 44px !important; min-height: 44px; }
.tdc-sp .summary .quantity .button.is-form { width: 44px; color: var(--tdc-ink) !important; }
.tdc-sp .summary .quantity .button.is-form:hover { background: var(--tdc-sky) !important; color: var(--tdc-blue) !important; border-color: var(--tdc-line) !important; }
.tdc-sp .summary .single_variation_wrap { display: block; }
.tdc-sp-qchips { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -4px 0 14px; font-size: 13.5px; color: var(--tdc-muted); }
.tdc-sp-qchip { margin: 0 !important; padding: 0 14px !important; min-height: 40px; border: 1.5px solid var(--tdc-line) !important; border-radius: 10px !important; background: #fff !important; color: var(--tdc-ink) !important; font-weight: 700; text-transform: none !important; }
.tdc-sp-qchip.is-on { border-color: var(--tdc-blue) !important; background: var(--tdc-sky) !important; color: var(--tdc-blue) !important; }
.tdc-sp-subtotal { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; padding: 12px 16px; border: 1px solid var(--tdc-line); border-radius: 10px; background: #fff; font-size: 14.5px; }
.tdc-sp-subtotal .js-tdc-sub-total { color: var(--tdc-sale); font-size: 20px; }
.tdc-sp-notice { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 10px 14px; border-radius: 10px; background: var(--tdc-warn); color: var(--tdc-sale); font-size: 14px; }
.tdc-sp-notice .tdc-ico { width: 18px; height: 18px; flex-shrink: 0; }
.tdc-sp-notice[hidden] { display: none; }

/* ---------- Nút hành động (chỉ Mua ngay là nền đặc) ---------- */
.tdc-sp-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.tdc-sp-buy .tdc-b, .tdc-sp .tdc-b, .tdc-sp-sticky .tdc-b {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	min-height: 56px; margin: 0 !important; padding: 6px 12px !important; border: 1.5px solid var(--tdc-blue); border-radius: 10px;
	background: #fff; color: var(--tdc-blue) !important; font-size: 15.5px; font-weight: 800; line-height: 1.2; text-transform: none; letter-spacing: 0;
	box-shadow: none; text-align: center; cursor: pointer; transition: background .15s, color .15s, opacity .15s;
}
.tdc-b span { display: inline-flex; align-items: center; gap: 7px; }
.tdc-b small { font-size: 12px; font-weight: 400; opacity: .85; }
.tdc-b .tdc-ico { width: 18px; height: 18px; }
.tdc-b:focus-visible, .tdc-bar-btn:focus-visible { outline: 3px solid rgba(11, 111, 184, .45); outline-offset: 2px; }
.tdc-sp-buy .tdc-b--buy, .tdc-sp .tdc-b--buy, .tdc-sp-sticky .tdc-b--buy { background: var(--tdc-blue); color: #fff !important; }
.tdc-b--buy:hover { background: var(--tdc-blue-dark) !important; }
.tdc-b--cart:hover { background: var(--tdc-sky) !important; }
.tdc-sp-buy .tdc-b--call { border-color: var(--tdc-ink); color: var(--tdc-ink) !important; }
.tdc-b--call:hover { background: var(--tdc-ground) !important; }
.tdc-sp-buy .tdc-b--zalo, .tdc-sp-sticky .tdc-b--zalo { border-color: var(--tdc-zalo); color: var(--tdc-zalo) !important; }
.tdc-b--zalo:hover { background: #EEF4FF !important; }
.tdc-sp-buy .tdc-b--zalo-main, .tdc-sp .tdc-b--zalo-main { width: 100%; min-height: 64px; border-color: var(--tdc-zalo); background: var(--tdc-zalo); color: #fff !important; margin-bottom: 12px !important; }
.tdc-b--zalo-main:hover { background: #0052CC !important; }
.tdc-b--wide { width: 100%; margin-bottom: 14px !important; }
.tdc-b.is-off { opacity: .45; }
.tdc-b.is-loading { opacity: .6; pointer-events: none; }
.tdc-sp-buy--contact, .tdc-sp-buy--oos { margin-bottom: 4px; }

.tdc-sp-wholesale { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; padding: 11px 14px; border: 1px dashed #B9C7D6; border-radius: 10px; font-size: 14px; color: var(--tdc-muted); }
.tdc-sp-wholesale a { color: var(--tdc-blue) !important; font-weight: 700; text-decoration: underline; white-space: nowrap; }
.tdc-sp-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.tdc-sp-trust a { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--tdc-line); border-radius: 10px; background: #fff; color: var(--tdc-ink) !important; }
.tdc-sp-trust a:hover { border-color: var(--tdc-blue); }
.tdc-sp-trust .tdc-ico { width: 24px; height: 24px; color: var(--tdc-blue); flex-shrink: 0; }
.tdc-sp-trust b { display: block; font-size: 13.5px; }
.tdc-sp-trust small { display: block; font-size: 12px; color: var(--tdc-muted); }

/* ---------- Dưới khung chính ---------- */
.tdc-sp-together { margin: 24px 0; }
.tdc-sp-h2 { margin-bottom: 14px; font-size: 24px; font-style: italic; font-weight: 800; text-transform: uppercase; color: var(--tdc-ink); }
.tdc-sp-together { padding: 22px; border-radius: 14px; background: #fff; }
.tdc-sp-together__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tdc-sp-together__item { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--tdc-line); border-radius: 12px; cursor: pointer; font-weight: 400; }
.tdc-sp-together__item input { position: absolute; top: 18px; left: 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--tdc-blue); }
.tdc-sp-together__item img { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 8px; background: var(--tdc-ground); }
.tdc-sp-together__item b { color: var(--tdc-sale); }
.tdc-sp-together__sum { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 14px; }
.tdc-sp-together__sum .js-tdc-tg-total { color: var(--tdc-sale); font-size: 22px; }
.tdc-sp-together__sum .tdc-b { min-height: 48px; padding: 0 20px !important; }
/* Mô tả (trái) + Thông số (phải, dính khi cuộn) – thay cho tab */
.tdc-sp-details { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; margin: 28px 0; }
.tdc-sp-details.is-no-desc { grid-template-columns: minmax(0, 1fr); }
.tdc-sp-details__desc, .tdc-sp-spec-card, .tdc-sp-reviews { padding: 22px; border-radius: 14px; background: #fff; }
.tdc-sp-details__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 70px; }
.tdc-sp-sec-title { margin: 0 0 16px !important; padding-left: 14px; border-left: 5px solid var(--tdc-blue); font-size: 20px !important; line-height: 1.3 !important; font-weight: 800; text-transform: none; color: var(--tdc-ink); }
.tdc-sp-desc-body { font-size: 15px; line-height: 1.7; }
.tdc-sp-desc-body img { height: auto; max-width: 100%; border-radius: 10px; }
.tdc-sp-side-extra { display: flex; flex-direction: column; gap: 16px; }
.tdc-sp-reviews { margin: 0 0 28px; }
.tdc-sp-reviews .woocommerce-Reviews-title { display: none; }
.tdc-sp-docs { padding: 18px; border-radius: 14px; background: #fff; }
.tdc-sp-docs h3, .tdc-sp-consult h3 { margin-bottom: 10px; font-size: 17px; }
.tdc-sp-docs a { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 10px 12px; border: 1px solid var(--tdc-line); border-radius: 10px; color: var(--tdc-ink) !important; font-size: 14px; }
.tdc-sp-docs .tdc-ico { color: var(--tdc-blue); }
.tdc-sp-consult { padding: 20px; border-radius: 14px; background: var(--tdc-navy); color: #DCE8F3; }
.tdc-sp-consult h3 { color: #fff; }
.tdc-sp-consult p { margin-bottom: 14px; font-size: 14px; }
.tdc-sp-consult .tdc-b--zalo-main { min-height: 50px; margin: 0 !important; }
.tdc-sp-spec-table { width: 100%; border: 1px solid var(--tdc-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.tdc-sp .tdc-sp-spec-table th, .tdc-sp .tdc-sp-spec-table td { padding: 11px 16px; border: 0; font-size: 14.5px; line-height: 1.5; text-align: left; text-transform: none !important; letter-spacing: 0 !important; vertical-align: top; }
.tdc-sp .tdc-sp-spec-table th { width: 42%; color: var(--tdc-muted); font-weight: 400; }
.tdc-sp .tdc-sp-spec-table td { color: var(--tdc-ink); font-weight: 600; }
.tdc-sp-spec-table tr:nth-child(odd) { background: var(--tdc-ground); }
.tdc-sp-spec-more, .tdc-sp .tdc-sp-review-open { display: none; }
/* Chọn số sao trong form đánh giá: 1 hàng 5 sao (Flatsome vẽ 5 cụm sao tăng dần, bị vỡ hàng trên mobile) */
.tdc-sp-reviews p.stars { margin: 0; padding: 4px 0 0 !important; line-height: 1; }
.tdc-sp-reviews p.stars span { display: inline-flex; gap: 4px; }
.tdc-sp-reviews p.stars a { position: relative; display: block !important; width: 34px !important; height: 34px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 0 !important; text-indent: 0 !important; overflow: hidden; }
.tdc-sp-reviews p.stars a::after { display: none !important; }
.tdc-sp-reviews p.stars a::before { content: "★" !important; position: absolute; inset: 0; font-family: inherit !important; font-size: 32px; line-height: 34px; text-align: center; color: #D6DDE5; }
.tdc-sp-reviews p.stars span:hover a::before, .tdc-sp-reviews p.stars.selected a::before { color: var(--tdc-star); }
.tdc-sp-reviews p.stars span a:hover ~ a::before, .tdc-sp-reviews p.stars.selected a.active ~ a::before { color: #D6DDE5; }
.tdc-sp-reviews p.stars.selected span:hover a::before { color: var(--tdc-star); }
.tdc-sp-reviews p.stars.selected span a:hover ~ a::before { color: #D6DDE5; }
.tdc-sp-hint { display: block; margin-top: 4px; font-size: 12.5px; color: var(--tdc-muted); }

/* ---------- Thanh mua nhanh (desktop) ---------- */
.tdc-sp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; background: #fff; border-top: 1px solid var(--tdc-line); box-shadow: 0 -6px 20px rgba(10, 37, 64, .1); }
.tdc-sp-sticky[hidden] { display: none; }
.tdc-sp-sticky__in { display: flex; align-items: center; gap: 14px; max-width: 1410px; margin: 0 auto; padding: 10px 16px; }
.tdc-sp-sticky__img { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: var(--tdc-ground); }
.tdc-sp-sticky__info { flex: 1; min-width: 0; }
.tdc-sp-sticky__info b, .tdc-sp-sticky__info span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tdc-sp-sticky__info b { font-size: 15px; }
.tdc-sp-sticky__info span { font-size: 12.5px; color: var(--tdc-muted); }
.tdc-sp-sticky__price, .tdc-sp-sticky__price .amount { color: var(--tdc-sale) !important; font-size: 20px; font-weight: 800; white-space: nowrap; }
.tdc-b--sm { flex-direction: row !important; min-height: 46px !important; padding: 0 18px !important; font-size: 15px !important; }
.tdc-sp-mbar, .tdc-sp-sheet-backdrop { display: none; }

/* ---------- PC: cột ảnh đi theo khi cuộn ----------
   body có overflow:hidden (style cũ) làm position:sticky không chạy → đổi sang clip (vẫn chặn cuộn ngang) */
@media (min-width: 850px) {
	body.tdc-sp { overflow: visible !important; overflow-x: clip !important; }
	.tdc-sp .product-main .content-row { align-items: flex-start; }
	.tdc-sp .product-main .product-gallery { position: sticky; top: 70px; align-self: flex-start; z-index: 1; }
}

/* ---------- Thông báo nhỏ ---------- */
.tdc-toast { position: fixed; left: 50%; bottom: 96px; z-index: 100001; max-width: 90vw; padding: 11px 18px; border-radius: 10px; background: var(--tdc-ink); color: #fff; font-size: 14px;
	transform: translate(-50%, 20px); opacity: 0; transition: opacity .25s, transform .25s; pointer-events: none; }
.tdc-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.tdc-toast.is-err { background: var(--tdc-sale); }

/* ---------- Mobile < 850px ---------- */
@media (max-width: 849px) {
	.tdc-sp .summary h1, .tdc-sp .summary .product-title { font-size: 20px !important; }
	.tdc-sp-price { padding: 12px 14px; }
	.tdc-sp-price__main .amount, .tdc-sp-price__now { font-size: 26px; }
	.tdc-sp-specs { display: flex; flex-wrap: wrap; gap: 6px; }
	.tdc-sp-specs__item { padding: 5px 10px; border-radius: 8px; }
	.tdc-sp-specs__item span { display: none; }
	.tdc-sp-specs__item b { font-size: 13px; font-weight: 500; }
	/* biến thể: khối "Phiên bản đã chọn" thay cho dãy nút; dãy nút nằm trong bảng chọn từ đáy */
	.tdc-sp-picked { display: block; margin-bottom: 14px; padding: 12px 14px; border: 1px solid var(--tdc-line); border-radius: 12px; background: #fff; }
	.tdc-sp-picked__head { font-size: 13px; color: var(--tdc-muted); }
	.tdc-sp-picked__text { margin-top: 4px; font-size: 14px; font-weight: 600; }
	.tdc-sp-picked__price { margin-top: 2px; color: var(--tdc-sale); font-size: 20px; font-weight: 800; }
	.tdc-sp-picked__price[hidden] { display: none; }
	/* nút chọn phiên bản to, có giá ngay trên nút */
	.tdc-sp-picked__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; min-height: 56px; margin: 10px 0 0 !important; padding: 6px 12px !important;
		border: 2px solid var(--tdc-blue) !important; border-radius: 12px !important; background: var(--tdc-sky) !important; color: var(--tdc-blue) !important; font-size: 16px; font-weight: 800; line-height: 1.2; text-transform: none !important; letter-spacing: 0; }
	.tdc-sp-picked__btn small { font-size: 13px; font-weight: 600; color: var(--tdc-sale); }
	.tdc-sp .summary .tdc-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100000; max-height: 82vh; overflow: auto; padding: 0 16px 16px; border-radius: 16px 16px 0 0; background: #fff;
		transform: translateY(105%); transition: transform .25s; box-shadow: 0 -10px 30px rgba(10, 37, 64, .2); }
	.tdc-sheet-open .tdc-sp .summary .tdc-sheet, body.tdc-sheet-open .summary .tdc-sheet { transform: none; }
	.tdc-sheet__head { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1; padding: 14px 0; background: #fff; font-size: 16px; }
	.tdc-sheet__x { margin: 0 !important; padding: 0 !important; width: 36px; min-height: 36px; border: 0; background: none !important; font-size: 26px; line-height: 1; color: var(--tdc-ink) !important; }
	.tdc-sheet__done { display: flex !important; width: 100%; min-height: 54px !important; margin-top: 4px !important; font-size: 16px !important; }
	/* nút phiên bản trong bảng chọn: to hơn, dễ bấm */
	.tdc-sp .summary .tdc-sheet .variable-items-wrapper { gap: 10px; }
	.tdc-sp .summary .tdc-sheet .variable-items-wrapper .variable-item { min-height: 48px; }
	.tdc-sp .summary .tdc-sheet .variable-items-wrapper .variable-item .variable-item-contents { padding: 12px 16px; font-size: 15px; }
	.tdc-sp .summary .tdc-sheet table.variations th.label label { font-size: 15px; }
	/* Khoảng cách các khối gọn lại (style cũ để khung mua cách 70px phía dưới) */
	.tdc-sp .product-main .row.content-row { padding-bottom: 0; }
	.tdc-sp .product-main .tdc-sp-trust { margin-bottom: 0; }
	.tdc-sp-together { margin: 12px 0; padding: 16px; }
	/* Thứ tự: Thông số → Mô tả → Tài liệu/Tư vấn Zalo → Đánh giá */
	.tdc-sp-details { display: flex; flex-direction: column; gap: 12px; margin: 12px 0; }
	.tdc-sp-details__side { display: contents; }
	.tdc-sp-spec-card { order: 1; }
	.tdc-sp-details__desc { order: 2; }
	.tdc-sp-side-extra { order: 3; gap: 12px; }
	.tdc-sp-details__desc, .tdc-sp-spec-card, .tdc-sp-reviews { padding: 16px; }
	.tdc-sp-reviews { margin-bottom: 12px; }
	.tdc-sp-sec-title { margin-bottom: 12px !important; font-size: 18px !important; }
	.tdc-sp .tdc-sp-spec-table th, .tdc-sp .tdc-sp-spec-table td { padding: 9px 12px; font-size: 14px; }
	/* Bảng thông số dài: ẩn bớt, bấm "Xem thêm" mới hiện hết */
	.tdc-sp-spec-card:not(.is-open) tr.tdc-more { display: none; }
	.tdc-sp-spec-more { display: block; width: 100%; min-height: 44px; margin: 10px 0 0 !important; padding: 0 12px !important; border: 1.5px solid var(--tdc-line) !important; border-radius: 10px !important;
		background: #fff !important; color: var(--tdc-blue) !important; font-size: 14.5px; font-weight: 700; text-transform: none !important; letter-spacing: 0; box-shadow: none !important; }
	.tdc-sp-spec-more::after { content: " ▾"; }
	.tdc-sp-spec-card.is-open .tdc-sp-spec-more::after { content: " ▴"; }
	/* Form đánh giá thu gọn: bấm "Viết đánh giá" mới mở */
	.tdc-sp-reviews:not(.is-form-open) #review_form_wrapper { display: none; }
	.tdc-sp .tdc-sp-review-open { display: flex; width: 100%; min-height: 48px; margin-top: 12px !important; }
	.tdc-sp .tdc-sp-reviews.is-form-open .tdc-sp-review-open { display: none; }
	.tdc-sp-sheet-backdrop { display: block; position: fixed; inset: 0; z-index: 99999; background: rgba(10, 37, 64, .45); }
	.tdc-sp-sheet-backdrop[hidden] { display: none; }
	/* nút trong khung chính: thanh cố định đáy đã có, ẩn bớt cho gọn */
	.tdc-sp .summary .tdc-sp-btns { display: none; }
	.tdc-sp .summary .tdc-sp-buy--contact, .tdc-sp .summary .tdc-sp-buy--oos { display: none; }
	.tdc-sp-sticky { display: none !important; }
	.tdc-sp-together__row { grid-template-columns: 1fr 1fr; }
	/* Thanh mua cố định đáy màn hình */
	.tdc-sp-mbar { display: flex; gap: 6px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--tdc-line); box-shadow: 0 -6px 18px rgba(10, 37, 64, .1); }
	.tdc-sp { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
	.tdc-sp .back-to-top { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
	.tdc-toast { bottom: calc(84px + env(safe-area-inset-bottom)); }
	.tdc-bar-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-height: 52px; margin: 0 !important; padding: 0 8px !important; border: 1.5px solid var(--tdc-line); border-radius: 10px;
		background: #fff !important; color: var(--tdc-ink) !important; font-size: 14px; font-weight: 800; line-height: 1.15; text-transform: none; letter-spacing: 0; box-shadow: none; }
	.tdc-bar-btn .tdc-ico { width: 20px; height: 20px; }
	.tdc-bar-btn span { font-size: 11px; font-weight: 500; }
	.tdc-bar-btn--buy span, .tdc-bar-btn--pick span { font-size: 12px; font-weight: 700; opacity: .95; }
	.tdc-bar-btn--buy span:empty { display: none; }
	.tdc-bar-btn--zalo, .tdc-bar-btn--call { width: 56px; flex-shrink: 0; }
	.tdc-bar-btn--zalo { color: var(--tdc-zalo) !important; }
	.tdc-bar-btn--cart { flex: 1; border-color: var(--tdc-blue); color: var(--tdc-blue) !important; }
	.tdc-bar-btn--buy, .tdc-bar-btn--pick { flex: 1.4; border-color: var(--tdc-blue); background: var(--tdc-blue) !important; color: #fff !important; }
	.tdc-bar-btn--zalo-main { flex: 1; flex-direction: row; gap: 8px; border-color: var(--tdc-zalo); background: var(--tdc-zalo) !important; color: #fff !important; font-size: 14.5px; }
	/* biến thể chưa chọn đủ: Thêm giỏ + Mua ngay → 1 nút "Chọn phiên bản" */
	.tdc-sp-mbar--variable .tdc-bar-btn--cart, .tdc-sp-mbar--variable .tdc-bar-btn--buy { display: none; }
	.tdc-sp-mbar--variable.is-ready .tdc-bar-btn--cart, .tdc-sp-mbar--variable.is-ready .tdc-bar-btn--buy { display: flex; }
	.tdc-sp-mbar--variable.is-ready .tdc-bar-btn--pick { display: none; }
}
/* desktop: dãy thuộc tính hiển thị bình thường trong khung (không phải bảng chọn) */
@media (min-width: 850px) {
	.tdc-sp .summary .tdc-sheet { position: static; transform: none; }
}
/* ===================== TDC SINGLE PRODUCT – KẾT THÚC ===================== */

/* =====================================================================
   TDC HEADER – BẮT ĐẦU (header xanh trắng, mega menu, tìm kiếm)
   body.tdc-hdr-on = header mới đang bật → ẩn header Flatsome cũ.
   ===================================================================== */
.tdc-hdr, .tdc-hdr-dim, .tdc-drawer, .tdc-ms, .tdc-hdr-chips {
	--tdc-blue: #0B6FB8; --tdc-blue-dark: #08548C; --tdc-navy: #0A2540; --tdc-sky: #EAF3FB; --tdc-ground: #F4F7FA;
	--tdc-line: #DCE5EE; --tdc-ink: #13212F; --tdc-muted: #5B6B7B; --tdc-sale: #C42B1C; --tdc-zalo: #0068FF; --tdc-highlight: #FFC24A;
	--tdc-hdr-w: 1410px;
	font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}
body.tdc-hdr-on #header { display: none !important; }
html.tdc-lock, html.tdc-lock body { overflow: hidden !important; }
.tdc-hdr *, .tdc-drawer *, .tdc-ms * { box-sizing: border-box; }
.tdc-hdr button, .tdc-drawer button, .tdc-ms button { margin: 0; padding: 0; min-height: 0; border: 0; background: none; box-shadow: none; text-transform: none; letter-spacing: 0; font: inherit; color: inherit; line-height: 1.2; cursor: pointer; }
.tdc-hdr ul, .tdc-drawer ul, .tdc-ms ul { margin: 0; padding: 0; list-style: none; }
.tdc-hdr li, .tdc-drawer li, .tdc-ms li { margin: 0; }
.tdc-hdr a, .tdc-drawer a, .tdc-ms a { text-decoration: none; }
.tdc-hi { flex-shrink: 0; display: block; }

/* Khung giữ chỗ: luôn cao bằng header đầy đủ → khi header thu gọn/cố định, nội dung trang không bị nhảy */
.tdc-hdr { position: relative; z-index: 1000; height: 160px; }
.tdc-hdr__in { position: relative; background: #fff; }
.tdc-hdr__wrap { display: flex; align-items: center; max-width: var(--tdc-hdr-w); height: 100%; margin: 0 auto; padding: 0 15px; }

/* 1. Dải trên – navy 36px */
.tdc-hdr__top { height: 36px; background: var(--tdc-navy); color: #C9D6E3; font-size: 13px; }
.tdc-hdr__usp, .tdc-hdr__links { display: flex; align-items: center; gap: 28px; }
.tdc-hdr__links { margin-left: auto !important; gap: 24px; }
.tdc-hdr__usp li, .tdc-hdr__links a, .tdc-hdr__links span { display: flex; align-items: center; gap: 7px; color: #C9D6E3; }
.tdc-hdr__links a:hover { color: #fff; }
.tdc-hdr__links .is-hl { color: var(--tdc-highlight); font-weight: 700; }

/* 2. Hàng chính – xanh 76px */
.tdc-hdr__main { height: 76px; background: var(--tdc-blue); color: #fff; }
.tdc-hdr__main .tdc-hdr__wrap { gap: 20px; }
.tdc-hdr__logo { display: flex; align-items: center; gap: 9px; flex-shrink: 0; color: #fff !important; }
.tdc-hdr__logo img { display: block; height: 48px; width: 196px; object-fit: cover; object-position: center; } /* file logo 1024×512 có nhiều viền trắng → cắt lấy phần chữ */
.tdc-hdr__logo-ico { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 7px; background: #fff; color: var(--tdc-blue); }
.tdc-hdr__logo-txt { font-size: 25px; font-style: italic; font-weight: 800; letter-spacing: -.3px; line-height: 1; white-space: nowrap; }
.tdc-hdr__cat { display: flex !important; align-items: center; gap: 10px; flex-shrink: 0; height: 46px; padding: 0 18px !important; border-radius: 8px !important; background: #fff !important; color: var(--tdc-blue) !important; font-size: 15px !important; font-weight: 700; }
.tdc-hdr.is-mega .tdc-hdr__cat { background: var(--tdc-sky) !important; }
.tdc-hdr__cat .tdc-hi:last-child { transition: transform .2s; }
.tdc-hdr.is-mega .tdc-hdr__cat .tdc-hi:last-child { transform: rotate(180deg); }

.tdc-hdr__search { position: relative; display: flex; flex: 1; min-width: 200px; height: 46px; margin: 0 !important; border: 3px solid transparent; border-radius: 10px; background: #fff; transition: border-color .15s; }
.tdc-hdr__search.is-open { border-color: var(--tdc-highlight); }
.tdc-hdr .tdc-hdr__input { flex: 1; height: 100% !important; margin: 0 !important; padding: 0 14px !important; border: 0 !important; border-radius: 8px 0 0 8px !important; background: transparent !important; box-shadow: none !important; color: var(--tdc-ink) !important; font-size: 15px !important; }
.tdc-hdr__input::-webkit-search-cancel-button { display: none; }
.tdc-hdr__clear { align-self: center; display: flex !important; align-items: center; justify-content: center; width: 28px; height: 28px; margin-right: 8px !important; border-radius: 50% !important; background: var(--tdc-ground) !important; color: var(--tdc-muted) !important; }
.tdc-hdr__clear[hidden] { display: none !important; }
.tdc-hdr__go { display: flex !important; align-items: center; justify-content: center; width: 56px; margin: -3px -3px -3px 0 !important; border-radius: 0 10px 10px 0 !important; background: var(--tdc-navy) !important; color: #fff !important; }
.tdc-hdr__search.is-open .tdc-hdr__go { margin: 0 !important; border-radius: 0 7px 7px 0 !important; }

.tdc-hdr__phone { display: flex; align-items: center; gap: 10px; flex-shrink: 0; color: #fff !important; }
.tdc-hdr__phone-ico { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--tdc-blue); }
.tdc-hdr__phone-txt small { display: block; font-size: 12px; line-height: 1.2; color: #CFE3F5; }
.tdc-hdr__phone-txt b { display: block; font-size: 18px; line-height: 1.2; font-weight: 800; white-space: nowrap; }
.tdc-hdr__icon { display: flex; flex-direction: column; align-items: center; gap: 3px; flex-shrink: 0; color: #fff !important; font-size: 12px; font-weight: 600; line-height: 1.1; }
.tdc-hdr__badge { position: relative; display: block; }
.tdc-hdr .tdc-hdr-count, .tdc-hdr .wishlist-count-number { position: absolute; top: -7px; right: -9px; left: auto; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--tdc-highlight); box-shadow: none; color: var(--tdc-navy); font: 700 11px/18px 'Be Vietnam Pro', sans-serif !important; letter-spacing: 0; text-align: center; opacity: 1; }
.tdc-hdr .wishlist-count-number.is-hidden { display: none; }
.tdc-hdr__burger, .tdc-hdr__mcall, .tdc-hdr__msearch { display: none !important; }

/* 3. Hàng menu – trắng 48px */
.tdc-hdr__nav { height: 48px; border-bottom: 1px solid var(--tdc-line); background: #fff; }
.tdc-hdr__nav ul { display: flex; align-items: center; gap: 28px; height: 100%; }
.tdc-hdr__nav ul a { display: block; padding: 13px 0; color: var(--tdc-ink) !important; font-size: 15px; font-weight: 600; white-space: nowrap; }
.tdc-hdr__nav ul a:hover { color: var(--tdc-blue) !important; }
.tdc-hdr__nav ul a.is-cur { color: var(--tdc-blue) !important; box-shadow: inset 0 -3px 0 var(--tdc-blue); }
.tdc-hdr__quote { display: flex; align-items: center; gap: 7px; margin-left: auto; padding: 7px 16px; border: 1.5px solid var(--tdc-blue); border-radius: 6px; color: var(--tdc-blue) !important; font-size: 14px; font-weight: 700; white-space: nowrap; }
.tdc-hdr__quote:hover { background: var(--tdc-sky); }

/* Header thu gọn khi cuộn (desktop): chỉ hàng chính 64px, cố định trên cùng */
.tdc-hdr.is-compact .tdc-hdr__in { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 4px 16px rgba(10, 37, 64, .16); animation: tdc-hdr-in .2s ease; }
.admin-bar .tdc-hdr.is-compact .tdc-hdr__in { top: 32px; }
.tdc-hdr.is-compact .tdc-hdr__top, .tdc-hdr.is-compact .tdc-hdr__nav,
.tdc-hdr.is-compact .tdc-hdr__wl, .tdc-hdr.is-compact .tdc-hdr__acc, .tdc-hdr.is-compact .tdc-hdr__phone-txt small { display: none; }
.tdc-hdr.is-compact .tdc-hdr__main { height: 64px; }
.tdc-hdr.is-compact .tdc-hdr__logo-txt { font-size: 21px; }
.tdc-hdr.is-compact .tdc-hdr__logo img { height: 40px; width: 163px; }
.tdc-hdr.is-compact .tdc-hdr__cat, .tdc-hdr.is-compact .tdc-hdr__search { height: 44px; }
.tdc-hdr.is-compact .tdc-hdr__phone { gap: 8px; padding: 0 14px; height: 44px; border-radius: 8px; background: rgba(255, 255, 255, .16); }
.tdc-hdr.is-compact .tdc-hdr__phone-ico { width: auto; height: auto; background: none; color: #fff; }
.tdc-hdr.is-compact .tdc-hdr__phone-txt b { font-size: 16px; }
@keyframes tdc-hdr-in { from { transform: translateY(-100%); } to { transform: none; } }

/* Lớp phủ tối dưới header */
.tdc-hdr-dim { position: fixed; inset: 0; z-index: 999; background: rgba(10, 37, 64, .35); }
.tdc-hdr-dim[hidden] { display: none; }

/* ---------- Mega menu ---------- */
.tdc-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 2; padding-top: 10px; }
.tdc-mega[hidden] { display: none; }
.tdc-mega .tdc-hdr__wrap { display: block; height: auto; }
.tdc-mega__box { display: flex; gap: 12px; align-items: flex-start; }
.tdc-mega__groups { flex: 0 0 280px; padding: 8px !important; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(10, 37, 64, .18); }
.tdc-mega__g { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 8px; color: var(--tdc-ink) !important; font-size: 15px; outline: none; }
.tdc-mega__g span { flex: 1; }
.tdc-mega__g .tdc-hi:first-child { color: var(--tdc-muted); }
.tdc-mega__g .tdc-hi:last-child { color: #A7B4C2; }
.tdc-mega__g.is-on, .tdc-mega__g:focus-visible { background: var(--tdc-sky); color: var(--tdc-blue-dark) !important; font-weight: 700; }
.tdc-mega__g.is-on .tdc-hi { color: var(--tdc-blue) !important; }
.tdc-mega__panels { flex: 1; min-width: 0; }
.tdc-mega__panel { display: none; gap: 24px; padding: 24px 28px; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(10, 37, 64, .18); }
.tdc-mega__panel.is-on { display: flex; }
.tdc-mega__cols { flex: 1; min-width: 0; column-count: 4; column-gap: 24px; }
.tdc-mega__col { break-inside: avoid; margin-bottom: 20px; }
.tdc-mega__col b { display: block; margin-bottom: 8px; color: var(--tdc-ink); font-size: 15px; font-weight: 700; }
.tdc-mega__col a { display: block; padding: 4px 0; color: #34495E !important; font-size: 14px; line-height: 1.35; }
.tdc-mega__col a:hover, .tdc-mega__col a:focus-visible { color: var(--tdc-blue) !important; text-decoration: underline; outline: none; }
.tdc-mega__promo { display: flex; flex-direction: column; gap: 14px; flex: 0 0 240px; padding: 20px; border-radius: 12px; background: var(--tdc-navy); }
.tdc-mega__promo-main { display: flex; flex-direction: column; gap: 8px; color: #fff !important; }
.tdc-mega__promo-main small { color: var(--tdc-highlight); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
.tdc-mega__promo-main b { font-size: 17px; line-height: 1.35; }
.tdc-mega__promo-img { display: flex; align-items: center; justify-content: center; height: 150px; margin-top: 4px; border-radius: 8px; background: rgba(255, 255, 255, .07); color: #6F8FB0; }
.tdc-mega__promo-img.has-pic { overflow: hidden; padding: 8px; background: #fff; }
.tdc-mega__promo-img img { width: 100%; height: 100%; object-fit: contain; }
.tdc-mega__promo-main:hover b { text-decoration: underline; }
.tdc-mega__promo-main strong { font-size: 20px; font-weight: 800; }
.tdc-mega__all { color: #8FC3F0 !important; font-size: 14px; font-weight: 700; }
.tdc-mega__all:hover { color: #fff !important; }
.tdc-mega__empty { margin: 0; padding: 20px; border-radius: 12px; background: #fff; }

/* ---------- Khung gợi ý tìm kiếm (dùng chung desktop + mobile) ---------- */
.tdc-hdr__search .tdc-sug { position: absolute; top: calc(100% + 12px); left: 50%; width: 640px; max-width: 92vw; max-height: calc(100vh - 140px); overflow: auto; transform: translateX(-50%); padding: 20px; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(10, 37, 64, .22); color: var(--tdc-ink); }
.tdc-sug[hidden] { display: none; }
.tdc-sug__sec { padding-bottom: 14px; }
.tdc-sug__sec + .tdc-sug__sec { padding-top: 14px; border-top: 1px solid #EEF2F6; }
.tdc-sug__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.tdc-sug__head b { color: var(--tdc-muted); font-size: 14px; font-weight: 700; }
.tdc-sug__clear { color: var(--tdc-blue) !important; font-size: 13px !important; text-decoration: underline; }
.tdc-sug__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-chip { display: inline-flex; align-items: center; border-radius: 99px; }
.tdc-chip a { display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px; color: var(--tdc-ink) !important; font-size: 14px; }
.tdc-chip.is-recent { border: 1px solid var(--tdc-line); }
.tdc-chip.is-recent .tdc-hi { color: var(--tdc-muted); }
.tdc-chip.is-hot { background: var(--tdc-sky); }
.tdc-chip.is-hot a { color: var(--tdc-blue-dark) !important; }
.tdc-chip__x { display: flex !important; align-items: center; padding: 0 10px 0 0 !important; color: var(--tdc-muted) !important; }
.tdc-chip:has(.tdc-chip__x) a { padding-right: 6px; }
.tdc-sug__cat { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--tdc-ink) !important; font-size: 14.5px; }
.tdc-sug__cat em { font-style: normal; font-weight: 700; color: var(--tdc-blue); }
.tdc-sug__cat small { color: var(--tdc-muted); font-size: 13.5px; white-space: nowrap; }
.tdc-sug__cat:hover { background: var(--tdc-ground); }
.tdc-sug__p { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 10px; color: var(--tdc-ink) !important; }
.tdc-sug__p:hover, .tdc-sug__p:focus-visible { background: var(--tdc-ground); outline: none; }
.tdc-sug__img { display: flex; align-items: center; justify-content: center; flex: 0 0 56px; height: 56px; border: 1px solid var(--tdc-line); border-radius: 8px; background: #fff; color: #A7B4C2; overflow: hidden; }
.tdc-sug__img img { width: 100%; height: 100%; object-fit: contain; }
.tdc-sug__pt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.tdc-sug__name { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14.5px; line-height: 1.4; }
.tdc-sug__name b { font-weight: 800; }
.tdc-sug__price { color: var(--tdc-sale); font-size: 15px; font-weight: 800; }
.tdc-sug__price .is-contact { color: var(--tdc-blue); }
.tdc-sug__acts { display: flex; gap: 10px; padding-top: 6px; }
.tdc-sug__all, .tdc-sug__zalo, .tdc-sug__zalo-main, .tdc-sug__call { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 6px 18px; border-radius: 10px; font-size: 15px; font-weight: 700; text-align: center; }
.tdc-sug__all { flex: 1; background: var(--tdc-blue); color: #fff !important; }
.tdc-sug__all:hover { background: var(--tdc-blue-dark); }
.tdc-sug__zalo { border: 1.5px solid var(--tdc-zalo); color: var(--tdc-zalo) !important; white-space: nowrap; }
.tdc-sug__zalo-main { flex: 1; background: var(--tdc-zalo); color: #fff !important; }
.tdc-sug__zalo-main span { display: flex; flex-direction: column; }
.tdc-sug__zalo-main small { font-size: 12px; font-weight: 400; opacity: .9; }
.tdc-sug__call { flex: 1; border: 1.5px solid var(--tdc-ink); color: var(--tdc-ink) !important; }
.tdc-sug__acts.is-col { flex-direction: column; }
.tdc-sug__none { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px 10px 18px; text-align: center; }
.tdc-sug__none > .tdc-hi { width: 52px; height: 52px; padding: 13px; border-radius: 50%; background: var(--tdc-sky); color: var(--tdc-blue); }
.tdc-sug__none b { font-size: 16px; }
.tdc-sug__none p { margin: 0; color: var(--tdc-muted); font-size: 13.5px; }
.tdc-sug__rows li { display: flex; align-items: center; border-bottom: 1px solid #EEF2F6; }
.tdc-sug__rows li a { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 11px 0; color: var(--tdc-ink) !important; font-size: 14.5px; }
.tdc-sug__rows li a .tdc-hi { color: var(--tdc-blue); }
.tdc-sug__rows.is-kw li a .tdc-hi { color: var(--tdc-muted); }
.tdc-sug__rows.is-kw b { font-weight: 800; }
.tdc-sug__fill { display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; color: #A7B4C2 !important; }
.tdc-sug__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tdc-sug__tiles a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border: 1px solid var(--tdc-line); border-radius: 10px; color: var(--tdc-ink) !important; font-size: 12.5px; text-align: center; }
.tdc-sug__tiles .tdc-hi { color: var(--tdc-blue); }

/* Ngăn danh mục + màn tìm kiếm chỉ dùng trên mobile */
.tdc-drawer, .tdc-ms { display: none; }
.tdc-hdr-chips { display: none; }

/* ---------- Mobile < 850px ---------- */
@media (max-width: 849px) {
	.tdc-hdr { height: 112px; }
	.tdc-hdr__in { position: fixed; top: 0; left: 0; right: 0; background: transparent; }
	.admin-bar .tdc-hdr__in { top: 46px; }
	.tdc-hdr__top, .tdc-hdr__nav, .tdc-hdr__cat, .tdc-hdr__search, .tdc-hdr__phone, .tdc-hdr__wl, .tdc-hdr__acc, .tdc-mega, .tdc-hdr-dim { display: none !important; }
	.tdc-hdr__main { position: relative; z-index: 2; height: 56px; }
	.tdc-hdr__main .tdc-hdr__wrap { gap: 8px; padding: 0 12px; }
	.tdc-hdr__burger { display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px !important; background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
	.tdc-hdr__logo { flex: 1; min-width: 0; gap: 7px; }
	.tdc-hdr__logo-ico { width: 26px; height: 26px; border-radius: 6px; }
	.tdc-hdr__logo-ico .tdc-hi { width: 17px; height: 17px; }
	.tdc-hdr__logo-txt { overflow: hidden; font-size: 19px; text-overflow: clip; }
	.tdc-hdr__logo img { height: 38px; width: 155px; }
	.tdc-hdr__mcall { display: flex !important; align-items: center; gap: 5px; flex-shrink: 0; height: 36px; padding: 0 12px; border-radius: 8px; background: #fff; color: var(--tdc-blue) !important; font-size: 14px; font-weight: 700; }
	.tdc-hdr__icon > span:last-child { display: none; }
	.tdc-hdr__cart { order: 5; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background: rgba(255, 255, 255, .16); }
	.tdc-hdr__msearch { display: block !important; position: relative; z-index: 1; height: 56px; padding: 0 0 12px; background: var(--tdc-blue); transition: transform .2s ease; }
	.tdc-hdr__msearch .tdc-hdr__wrap { padding: 0 12px; }
	.tdc-hdr.is-hide2 .tdc-hdr__msearch { transform: translateY(-100%); }
	.tdc-hdr__mq { display: flex !important; align-items: center; gap: 10px; width: 100%; height: 44px; padding: 0 14px !important; border-radius: 10px !important; background: #fff !important; color: #7A8896 !important; font-size: 15px !important; text-align: left; }
	.tdc-hdr__mq .tdc-hi { color: var(--tdc-muted); }

	/* hàng chip danh mục – chỉ trang chủ */
	.tdc-hdr-chips { display: flex; gap: 8px; overflow-x: auto; padding: 12px 12px 4px; scrollbar-width: none; }
	.tdc-hdr-chips::-webkit-scrollbar { display: none; }
	.tdc-hdr-chips a { flex-shrink: 0; padding: 7px 14px; border: 1px solid var(--tdc-line); border-radius: 99px; background: #fff; color: var(--tdc-ink) !important; font-size: 13.5px; white-space: nowrap; }

	/* Ngăn danh mục toàn màn hình */
	.tdc-drawer { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 100003; background: #fff; }
	.tdc-drawer[hidden] { display: none; }
	.tdc-drawer__head { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; height: 56px; padding: 0 12px 0 16px; background: var(--tdc-blue); color: #fff; font-size: 17px; }
	.tdc-drawer__x { display: flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px !important; background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
	.tdc-drawer__body { display: flex; flex: 1; min-height: 0; }
	.tdc-drawer__groups { flex: 0 0 96px; overflow-y: auto; background: var(--tdc-ground); }
	.tdc-drawer__g { display: flex !important; flex-direction: column; align-items: center; gap: 5px; width: 100%; padding: 14px 4px !important; border-left: 3px solid transparent !important; color: var(--tdc-muted) !important; font-size: 11.5px !important; line-height: 1.25 !important; text-align: center; }
	.tdc-drawer__g.is-on { border-left-color: var(--tdc-blue) !important; background: #fff !important; color: var(--tdc-blue) !important; font-weight: 700; }
	.tdc-drawer__panels { flex: 1; min-width: 0; overflow-y: auto; padding: 12px; }
	.tdc-drawer__panel { display: none; }
	.tdc-drawer__panel.is-on { display: block; }
	.tdc-drawer__all { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding: 12px; border-radius: 8px; background: var(--tdc-sky); color: var(--tdc-blue) !important; font-size: 14px; font-weight: 700; }
	.tdc-drawer__h { display: block; margin: 4px 0 8px; color: var(--tdc-ink); font-size: 14px; }
	.tdc-drawer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 14px; }
	.tdc-drawer__grid a { display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 6px; border-radius: 6px; background: var(--tdc-ground); color: var(--tdc-ink) !important; font-size: 13px; line-height: 1.25; text-align: center; }
	.tdc-drawer__foot { display: flex; gap: 10px; flex-shrink: 0; padding: 12px 12px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--tdc-line); }
	.tdc-drawer__call, .tdc-drawer__zalo { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-height: 48px; border-radius: 10px; font-size: 15px; font-weight: 700; }
	.tdc-drawer__call { background: var(--tdc-blue); color: #fff !important; }
	.tdc-drawer__zalo { border: 1.5px solid var(--tdc-zalo); color: var(--tdc-zalo) !important; }

	/* Màn tìm kiếm toàn màn hình */
	.tdc-ms { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 100003; background: #fff; }
	.tdc-ms[hidden] { display: none; }
	.tdc-ms__bar { display: flex; align-items: center; gap: 8px; flex-shrink: 0; margin: 0 !important; padding: 8px 12px; background: var(--tdc-blue); }
	.tdc-ms__back { display: flex !important; align-items: center; justify-content: center; width: 36px; height: 40px; color: #fff !important; }
	.tdc-ms__field { display: flex; align-items: center; gap: 8px; flex: 1; height: 44px; padding: 0 10px; border: 3px solid var(--tdc-highlight); border-radius: 10px; background: #fff; color: var(--tdc-muted); }
	.tdc-ms__field input { flex: 1; min-width: 0; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--tdc-ink) !important; font-size: 16px !important; }
	.tdc-ms__field input::-webkit-search-cancel-button { display: none; }
	.tdc-ms__clear { display: flex !important; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50% !important; background: var(--tdc-ground) !important; color: var(--tdc-muted) !important; }
	.tdc-ms__clear[hidden] { display: none !important; }
	.tdc-ms__body { flex: 1; overflow-y: auto; padding: 14px 16px 0; color: var(--tdc-ink); }
	.tdc-ms__body[hidden] { display: block; }
	.tdc-sug__acts.is-sticky { position: sticky; bottom: 0; margin: 0 -16px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -6px 14px rgba(10, 37, 64, .08); }
	.tdc-ms .tdc-sug__p { padding: 8px 0; }
	.tdc-ms .tdc-sug__img { flex-basis: 48px; height: 48px; }
	.tdc-ms .tdc-sug__name { font-size: 13.5px; }
	.tdc-ms .tdc-sug__cat { margin-top: 8px; background: var(--tdc-sky); }
	.tdc-ms .tdc-chip.is-recent { background: var(--tdc-ground); border-color: transparent; }

	/* Trang sản phẩm: thanh mua cố định đáy giữ nguyên; header cố định trên không che thông báo */
	.tdc-hdr-on .tdc-toast { z-index: 100004; }
}
@media (max-width: 600px) {
	.admin-bar .tdc-hdr__in { top: 0; }
}

/* Trang sản phẩm: cột ảnh / cột thông số "dính" nằm dưới header thu gọn 64px */
@media (min-width: 850px) {
	body.tdc-hdr-on.tdc-sp .product-main .product-gallery, body.tdc-hdr-on .tdc-sp-details__side { top: 80px; }
}
/* màn hình 850–1199px: ẩn bớt chữ để hàng chính không tràn */
@media (min-width: 850px) and (max-width: 1199px) {
	.tdc-hdr__phone-txt, .tdc-hdr__icon > span:last-child, .tdc-hdr__cat span { display: none; }
	.tdc-hdr__main .tdc-hdr__wrap { gap: 14px; }
	.tdc-hdr__logo-txt { font-size: 21px; }
	.tdc-hdr__usp li:nth-child(3), .tdc-hdr__nav ul li:nth-child(n+6) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tdc-hdr.is-compact .tdc-hdr__in { animation: none; }
	.tdc-hdr__msearch { transition: none; }
}
/* ===================== TDC HEADER – KẾT THÚC ===================== */

/* =====================================================================
   TDC CATEGORY – BẮT ĐẦU (trang danh mục sản phẩm / thương hiệu)
   ===================================================================== */
.tdc-cat, .tdc-cat-sortsheet {
	--tdc-blue: #0B6FB8; --tdc-blue-dark: #08548C; --tdc-navy: #0A2540; --tdc-sky: #EAF3FB; --tdc-ground: #F4F7FA;
	--tdc-line: #DCE5EE; --tdc-ink: #13212F; --tdc-muted: #5B6B7B; --tdc-sale: #C42B1C; --tdc-zalo: #0068FF;
	font-family: 'Be Vietnam Pro', system-ui, sans-serif; color: var(--tdc-ink);
}
/* A+ : phóng to phần nội dung (header giữ nguyên), áp dụng mọi trang */
html.tdc-large-text #main { zoom: 1.12; }
.tdc-cat *, .tdc-cat-sortsheet * { box-sizing: border-box; }
.tdc-cat button, .tdc-cat-sortsheet button { margin: 0; min-height: 0; box-shadow: none; text-transform: none; letter-spacing: 0; font: inherit; line-height: 1.25; cursor: pointer; }
.tdc-cat a { text-decoration: none; }
.tdc-ci { flex-shrink: 0; display: block; }
/* tiêu đề/breadcrumb danh mục cũ của Flatsome (in ở flatsome_after_header) – trang mới đã có */
.tdc-cat-page .shop-page-title, .tdc-cat-page .category-page-title, .tdc-cat-page .page-title.shop-page-title { display: none !important; }
.tdc-cat { background: var(--tdc-ground); padding-bottom: 32px; }
.tdc-cat__wrap { max-width: 1410px; margin: 0 auto; padding: 18px 15px 0; }
.tdc-cat__crumb { margin: 0 0 10px; font-size: 14px; color: var(--tdc-muted); }
.tdc-cat__crumb a { color: var(--tdc-muted) !important; }
.tdc-cat__crumb span { margin: 0 8px; color: #A7B4C2; }
.tdc-cat__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 18px; }
.tdc-cat__head h1 { margin: 0; font-size: 36px; line-height: 1.2; font-weight: 800; color: var(--tdc-ink); text-transform: none; }
.tdc-cat__head span { font-size: 20px; color: var(--tdc-muted); }
.tdc-cat__h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--tdc-ink); text-transform: none; }

/* Hộp "Chưa biết chọn … nào?" */
.tdc-cat-help { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding: 22px 28px; border-radius: 16px; background: var(--tdc-navy); color: #DCE8F3; }
.tdc-cat-help__txt b { display: block; margin-bottom: 4px; font-size: 22px; color: #fff; }
.tdc-cat-help__txt p { margin: 0; font-size: 16px; line-height: 1.5; }
.tdc-cat-help__btn { display: flex; align-items: center; gap: 14px; flex-shrink: 0; min-height: 64px; padding: 8px 24px; border-radius: 12px; background: var(--tdc-zalo); color: #fff !important; }
.tdc-cat-help__btn:hover { background: #0052CC; }
.tdc-cat-help__btn small { display: block; font-size: 13px; opacity: .9; }
.tdc-cat-help__btn b { display: block; font-size: 22px; line-height: 1.15; font-weight: 800; }

/* Chọn theo nhu cầu */
.tdc-cat-needs { margin-bottom: 24px; }
.tdc-cat-needs__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tdc-cat-need { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--tdc-line); border-radius: 14px; background: #fff; color: var(--tdc-ink) !important; transition: border-color .15s, box-shadow .15s; }
.tdc-cat-need:hover { border-color: var(--tdc-blue); box-shadow: 0 8px 22px rgba(11, 111, 184, .12); }
.tdc-cat-need__ico { display: flex; align-items: center; justify-content: center; flex: 0 0 64px; height: 64px; border-radius: 14px; background: var(--tdc-sky); color: var(--tdc-blue); }
.tdc-cat-need__txt b { display: block; font-size: 18px; line-height: 1.3; }
.tdc-cat-need__txt small { display: block; margin: 2px 0 4px; font-size: 15px; line-height: 1.4; color: var(--tdc-muted); }
.tdc-cat-need__txt em { font-style: normal; font-size: 15px; font-weight: 700; color: var(--tdc-blue); }

/* Chọn theo chiều rộng – hình vẽ đúng tỉ lệ */
.tdc-cat-widths { margin-bottom: 24px; padding: 22px 28px; border-radius: 16px; background: #fff; }
.tdc-cat-widths__head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; }
.tdc-cat-widths__head span { font-size: 15px; color: var(--tdc-muted); }
.tdc-cat-widths__row { display: flex; gap: 12px; overflow-x: auto; padding: 6px 2px 2px; }
.tdc-cat-w { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1 0 128px; padding: 14px 10px; border: 1.5px solid var(--tdc-line); border-radius: 12px; background: #fff; color: var(--tdc-ink) !important; text-align: center; transition: border-color .15s, background .15s; }
.tdc-cat-w b { font-size: 20px; font-weight: 800; }
.tdc-cat-w small { font-size: 14px; color: var(--tdc-muted); }
.tdc-cat-w em { min-width: 32px; padding: 2px 10px; border-radius: 99px; background: var(--tdc-sky); font-style: normal; font-size: 14px; font-weight: 700; color: var(--tdc-blue); }
a.tdc-cat-w:hover { border-color: var(--tdc-blue); }
.tdc-cat-w.is-on { border: 2px solid var(--tdc-blue); background: var(--tdc-sky); }
.tdc-cat-w.is-on em { background: var(--tdc-blue); color: #fff; }

/* Bố cục: cột lọc 290px + danh sách */
.tdc-cat-body { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 24px; align-items: start; }

/* Cột lọc (desktop) – cũng là bảng lọc toàn màn hình trên mobile */
.tdc-cf { margin: 0; padding: 20px; border-radius: 16px; background: #fff; }
.tdc-cf__head, .tdc-cf__foot { display: none; }
.tdc-cf__g { margin: 0 0 18px; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--tdc-line); }
.tdc-cf__g:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.tdc-cf__g legend { margin-bottom: 8px; padding: 0; font-size: 17px; font-weight: 800; color: var(--tdc-ink); }
.tdc-cf__o { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 0 2px; font-size: 16px; font-weight: 400; color: var(--tdc-ink); cursor: pointer; }
.tdc-cf__o input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.tdc-cf__box { flex: 0 0 24px; width: 24px; height: 24px; border: 2px solid #A7B4C2; border-radius: 6px; background: #fff; }
.tdc-cf__o input:checked + .tdc-cf__box { border-color: var(--tdc-blue); background: var(--tdc-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.tdc-cf__o input:focus-visible + i { outline: 3px solid rgba(11, 111, 184, .45); outline-offset: 2px; }
.tdc-cf__o span { flex: 1; }
.tdc-cf__o em { font-style: normal; font-size: 14px; color: var(--tdc-muted); }
.tdc-cf__o input:checked ~ span { font-weight: 700; }
.tdc-cf__o.is-off { opacity: .4; cursor: not-allowed; }
.tdc-cf__o.is-extra { display: none; }
.tdc-cf__g.is-open .tdc-cf__o.is-extra { display: flex; }
.tdc-cf__more { margin-top: 4px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--tdc-blue) !important; font-size: 15px !important; font-weight: 600; text-decoration: underline; }
/* màu: nút tròn có chấm màu */
.tdc-cf__g.is-color .tdc-cf__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-cf__g.is-color .tdc-cf__o { gap: 8px; min-height: 44px; padding: 0 14px 0 8px; border: 1.5px solid var(--tdc-line); border-radius: 99px; }
.tdc-cf__g.is-color .tdc-cf__o i { width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(19, 33, 47, .25); }
.tdc-cf__g.is-color .tdc-cf__o em { display: none; }
.tdc-cf__g.is-color .tdc-cf__o:has(input:checked) { border-color: var(--tdc-blue); background: var(--tdc-sky); }

/* Thanh sắp xếp + cỡ chữ */
.tdc-cat-mbar { display: none; }
.tdc-cat-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.tdc-cat-sort, .tdc-cat-size { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tdc-cat-sort span, .tdc-cat-size span { font-size: 15px; color: var(--tdc-muted); }
.tdc-cat-sort a { padding: 10px 16px; border: 1px solid var(--tdc-line); border-radius: 10px; background: #fff; color: var(--tdc-ink) !important; font-size: 15px; font-weight: 600; }
.tdc-cat-sort a:hover { border-color: var(--tdc-blue); }
.tdc-cat-sort a.is-on { border-color: var(--tdc-blue); background: var(--tdc-blue); color: #fff !important; }
.tdc-cat-size button { width: 44px; height: 44px; padding: 0 !important; border: 1px solid var(--tdc-line) !important; border-radius: 10px !important; background: #fff !important; color: var(--tdc-ink) !important; font-size: 16px !important; font-weight: 800; }
.tdc-cat-size button[data-size="1"] { font-size: 20px !important; }
.tdc-cat-size button.is-on { border: 2px solid var(--tdc-blue) !important; color: var(--tdc-blue) !important; }
.tdc-cat-active { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.tdc-cat-active:empty { display: none; }
.tdc-cat-active span { font-size: 15px; color: var(--tdc-muted); }
.tdc-cat-active button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px !important; border: 1.5px solid var(--tdc-blue) !important; border-radius: 99px !important; background: var(--tdc-sky) !important; color: var(--tdc-blue-dark) !important; font-size: 14.5px !important; font-weight: 700; }
.tdc-cat-active .tdc-cat-active__all { border: 0 !important; background: none !important; color: var(--tdc-blue) !important; text-decoration: underline; }
.tdc-cat-sum { margin: 0 0 14px; font-size: 16px; color: var(--tdc-ink); }
.tdc-cat-main.is-loading .js-tdc-grid { opacity: .45; pointer-events: none; transition: opacity .15s; }

/* Thẻ sản phẩm: dùng chung thẻ trang chủ (.tdc-card) – bỏ khoảng đệm/độ rộng cột của Flatsome */
.tdc-cat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tdc-cat-grid > .col { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
@media (min-width: 850px) and (max-width: 1199px) { .tdc-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Xem thêm */
.tdc-cat-more { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 24px; text-align: center; font-size: 15px; color: var(--tdc-muted); }
.tdc-cat-more i { display: block; width: 240px; height: 6px; border-radius: 3px; background: var(--tdc-line); overflow: hidden; }
.tdc-cat-more i b { display: block; height: 100%; background: var(--tdc-blue); }
.tdc-cat-more__btn, .tdc-cat-more__near a { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 24px; border: 2px solid var(--tdc-blue); border-radius: 12px; background: #fff; color: var(--tdc-blue) !important; font-size: 16px; font-weight: 700; }
.tdc-cat-more__btn:hover, .tdc-cat-more__near a:hover { background: var(--tdc-sky); }
.tdc-cat-more__btn.is-loading { opacity: .5; pointer-events: none; }
.tdc-cat-more__near { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* Mô tả danh mục – cuối trang, thu gọn bằng CSS (nội dung đầy đủ có sẵn trong HTML) */
.tdc-cat-desc { margin-top: 32px; padding: 26px 28px; border-radius: 16px; background: #fff; }
.tdc-cat-desc h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; font-weight: 800; color: var(--tdc-ink); text-transform: none; }
.tdc-cat-desc__body { position: relative; max-width: 900px; max-height: 7em; overflow: hidden; font-size: 17px; line-height: 1.7; }
.tdc-cat-desc__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.4em; background: linear-gradient(rgba(255, 255, 255, 0), #fff); }
.tdc-cat-desc.is-open .tdc-cat-desc__body, .tdc-cat-desc.is-short .tdc-cat-desc__body { max-height: none; }
.tdc-cat-desc.is-open .tdc-cat-desc__body::after, .tdc-cat-desc.is-short .tdc-cat-desc__body::after, .tdc-cat-desc.is-short .tdc-cat-desc__more { display: none; }
.tdc-cat-desc__body img { height: auto; max-width: 100%; border-radius: 10px; }
.tdc-cat-desc__more { margin-top: 12px !important; padding: 12px 18px !important; border: 2px solid var(--tdc-blue) !important; border-radius: 10px !important; background: #fff !important; color: var(--tdc-blue) !important; font-size: 16px !important; font-weight: 700; }

.tdc-cat-sortsheet { display: none; }

/* ---------- Mobile < 850px ---------- */
@media (max-width: 849px) {
	.tdc-cat__wrap { padding: 10px 12px 0; }
	.tdc-cat__crumb { font-size: 13px; }
	.tdc-cat__head { margin-bottom: 12px; }
	.tdc-cat__head h1 { font-size: 24px; }
	.tdc-cat__head span { font-size: 15px; }
	.tdc-cat__h2 { font-size: 18px; margin-bottom: 10px; }
	/* thanh Zalo navy gọn */
	.tdc-cat-help { margin-bottom: 12px; padding: 0; background: none; }
	.tdc-cat-help__txt { display: none; }
	.tdc-cat-help__btn { width: 100%; min-height: 60px; padding: 8px 14px; border-radius: 12px; background: var(--tdc-navy); }
	.tdc-cat-help__btn .tdc-ci { width: 40px; height: 40px; padding: 8px; border-radius: 10px; background: var(--tdc-zalo); }
	.tdc-cat-help__btn b { font-size: 17px; }
	/* nhu cầu trượt ngang */
	.tdc-cat-needs { margin: 0 -12px 12px; }
	.tdc-cat-needs .tdc-cat__h2 { display: none; }
	.tdc-cat-needs__row { display: flex; gap: 8px; overflow-x: auto; padding: 0 12px; scrollbar-width: none; }
	.tdc-cat-needs__row::-webkit-scrollbar { display: none; }
	.tdc-cat-need { flex: 0 0 136px; flex-direction: column; gap: 6px; padding: 12px 8px; text-align: center; }
	.tdc-cat-need__ico { flex: 0 0 auto; width: 44px; height: 44px; background: none; }
	.tdc-cat-need__txt small, .tdc-cat-need__txt em { display: none; }
	.tdc-cat-need__txt b { font-size: 14.5px; }
	.tdc-cat-widths { margin: 0 -12px 12px; padding: 16px 12px; border-radius: 0; }
	.tdc-cat-widths__head span { display: none; }
	.tdc-cat-widths__row { justify-content: flex-start; gap: 6px; }
	.tdc-cat-w { min-width: 84px; }
	.tdc-cat-w small { font-size: 12.5px; }
	.tdc-cat-w b { font-size: 17px; }
	.tdc-cat-body { display: block; }
	/* thanh cố định: Bộ lọc | Sắp xếp */
	.tdc-cat-mbar { display: flex; position: sticky; top: 56px; z-index: 50; margin: 0 -12px 10px; border-top: 1px solid var(--tdc-line); border-bottom: 1px solid var(--tdc-line); background: #fff; }
	.tdc-cat-mbar button { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-height: 52px; padding: 0 8px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; color: var(--tdc-ink) !important; font-size: 15.5px !important; font-weight: 700; }
	.tdc-cat-mbar button + button { border-left: 1px solid var(--tdc-line) !important; }
	.tdc-cat-mbar i { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--tdc-blue); color: #fff; font-style: normal; font-size: 12.5px; line-height: 22px; }
	.tdc-cat-mbar i[hidden] { display: none; }
	.tdc-cat-sort, .tdc-cat-size span { display: none; }
	.tdc-cat-bar { justify-content: flex-end; margin-bottom: 6px; }
	.tdc-cat-sum { font-size: 15px; }
	.tdc-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.tdc-cat-desc { margin: 18px -12px 0; padding: 20px 16px; border-radius: 0; }
	.tdc-cat-desc h2 { font-size: 20px; }
	.tdc-cat-desc__body { font-size: 16px; }
	/* Bảng lọc toàn màn hình */
	.tdc-cf { display: none; position: fixed; inset: 0; z-index: 100003; flex-direction: column; padding: 0; border-radius: 0; }
	.tdc-cf.is-open { display: flex; }
	.tdc-cf__head { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; height: 60px; padding: 0 12px 0 16px; border-bottom: 1px solid var(--tdc-line); font-size: 20px; }
	.tdc-cf__x { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; border: 0 !important; border-radius: 10px !important; background: var(--tdc-ground) !important; color: var(--tdc-ink) !important; }
	.tdc-cf__body { flex: 1; overflow-y: auto; padding: 16px; }
	.tdc-cf__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.tdc-cf__o { flex-direction: column; justify-content: center; gap: 0; min-height: 52px; padding: 6px; border: 1.5px solid var(--tdc-line); border-radius: 10px; text-align: center; }
	.tdc-cf__o .tdc-cf__box { display: none; }
	.tdc-cf__o span { flex: 0 0 auto; font-size: 15.5px; }
	.tdc-cf__o em { font-size: 12.5px; }
	.tdc-cf__o em::after { content: " sản phẩm"; }
	.tdc-cf__o:has(input:checked) { border: 2px solid var(--tdc-blue); background: var(--tdc-sky); color: var(--tdc-blue-dark); }
	.tdc-cf__more { margin-top: 10px !important; }
	.tdc-cf__g.is-color .tdc-cf__opts { display: grid; }
	.tdc-cf__g.is-color .tdc-cf__o { flex-direction: row; justify-content: flex-start; border-radius: 10px; }
	.tdc-cf__foot { display: flex; gap: 10px; flex-shrink: 0; padding: 12px 12px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--tdc-line); background: #fff; }
	.tdc-cf .tdc-cf__clear, .tdc-cf .tdc-cf__go { min-height: 56px; border-radius: 12px !important; font-size: 17px !important; font-weight: 700; }
	.tdc-cf .tdc-cf__clear { flex: 0 0 120px; border: 1.5px solid var(--tdc-ink) !important; background: #fff !important; color: var(--tdc-ink) !important; }
	.tdc-cf .tdc-cf__go { flex: 1; border: 0 !important; background: var(--tdc-blue) !important; color: #fff !important; }
	/* Bảng sắp xếp */
	.tdc-cat-sortsheet { display: none; position: fixed; inset: 0; z-index: 100003; align-items: flex-end; background: rgba(10, 37, 64, .45); }
	.tdc-cat-sortsheet.is-open { display: flex; }
	.tdc-cat-sortsheet__box { width: 100%; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); border-radius: 16px 16px 0 0; background: #fff; }
	.tdc-cat-sortsheet__box b { display: block; margin-bottom: 8px; font-size: 18px; }
	.tdc-cat-sortsheet__box a { display: flex; align-items: center; min-height: 52px; padding: 0 14px; border-radius: 10px; color: var(--tdc-ink) !important; font-size: 16.5px; }
	.tdc-cat-sortsheet__box a.is-on { background: var(--tdc-sky); color: var(--tdc-blue-dark) !important; font-weight: 700; }
}
/* ===================== TDC CATEGORY – KẾT THÚC ===================== */

/* =====================================================================
   TDC GIỎ HÀNG – THANH TOÁN – BẮT ĐẦU
   body.tdc-co-on = giao diện mới đang bật (TDC_CHECKOUT_MODE). Trang: .tdc-co-cart · .tdc-co-checkout · .tdc-co-ty
   ===================================================================== */
body.tdc-co-on, .tdc-drawer2, .tdc-drawer2-dim {
	--tdc-blue: #0B6FB8; --tdc-blue-dark: #08548C; --tdc-navy: #0A2540; --tdc-sky: #EAF3FB; --tdc-ground: #F4F7FA;
	--tdc-line: #DCE5EE; --tdc-ink: #13212F; --tdc-muted: #5B6B7B; --tdc-sale: #C42B1C; --tdc-ok: #1F7A4D; --tdc-zalo: #0068FF;
	--tdc-note: #FFF8E1; --tdc-note-line: #F1D27C;
}
.tdc-cartpage, .tdc-co, .tdc-sum, .tdc-steps, .tdc-ty, .tdc-drawer2, .tdc-cobar { font-family: 'Be Vietnam Pro', system-ui, sans-serif; color: var(--tdc-ink); }
.tdc-cartpage *, .tdc-co *, .tdc-sum *, .tdc-ty *, .tdc-drawer2 *, .tdc-cobar * { box-sizing: border-box; }
.tdc-cartpage button, .tdc-co button, .tdc-sum button, .tdc-ty button, .tdc-drawer2 button, .tdc-cobar button {
	margin: 0; min-height: 0; text-transform: none; letter-spacing: 0; font: inherit; line-height: 1.2; box-shadow: none; cursor: pointer; }
.tdc-ki { flex-shrink: 0; display: block; }
/* Trang giỏ / thanh toán / thành công: nền xám nhạt, bỏ thanh tiêu đề "GIỎ HÀNG > CHI TIẾT THANH TOÁN" cũ của Flatsome */
body.tdc-co-cart, body.tdc-co-checkout, body.tdc-co-ty { background: var(--tdc-ground); }
body.tdc-co-cart .checkout-page-title, body.tdc-co-checkout .checkout-page-title, body.tdc-co-ty .checkout-page-title,
body.tdc-co-cart .page-title, body.tdc-co-checkout .page-title, body.tdc-co-ty .page-title { display: none !important; }
body.tdc-co-cart #main, body.tdc-co-checkout #main, body.tdc-co-ty #main { background: var(--tdc-ground); }
/* Tiêu đề trang "Thanh toán" của theme (h1.custom-title-h1) – đã có thanh bước + tiêu đề từng mục */
body.tdc-co-checkout h1.custom-title-h1, body.tdc-co-ty h1.custom-title-h1, body.tdc-co-cart h1.custom-title-h1 { display: none !important; }

/* Nút dùng chung */
.tdc-btn-pri, .tdc-btn-out, .tdc-btn-zalo { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 10px;
	font-weight: 700; font-size: 15px; text-decoration: none !important; transition: background .15s, border-color .15s; }
.tdc-btn-pri { background: var(--tdc-blue); color: #fff !important; border: 0; }
.tdc-btn-pri:hover { background: var(--tdc-blue-dark); }
.tdc-btn-out { background: #fff; color: var(--tdc-blue) !important; border: 2px solid var(--tdc-blue); }
.tdc-btn-zalo { background: var(--tdc-zalo); color: #fff !important; }
.tdc-btn-big { width: 100%; min-height: 56px; font-size: 17px; }

/* Thanh bước: Giỏ hàng → Thông tin đặt hàng → Hoàn tất */
.tdc-steps { display: flex; justify-content: center; align-items: center; gap: 14px; margin: 8px auto 22px !important; padding: 0 !important; list-style: none; }
.tdc-steps li { display: flex; align-items: center; gap: 9px; margin: 0 !important; color: var(--tdc-muted); font-size: 15px; font-weight: 500; }
.tdc-steps li + li::before { content: ""; width: 60px; height: 2px; background: var(--tdc-line); margin-right: 5px; }
.tdc-steps li.is-done + li::before, .tdc-steps li.is-on::before { background: var(--tdc-blue); }
.tdc-steps i { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; border: 2px solid #C3CFDB; font-style: normal; font-size: 14px; font-weight: 700; background: #fff; }
.tdc-steps li.is-on { color: var(--tdc-ink); font-weight: 700; }
.tdc-steps li.is-on i, .tdc-steps li.is-done i { background: var(--tdc-blue); border-color: var(--tdc-blue); color: #fff; }
.tdc-steps li.is-done { color: var(--tdc-ink); }

/* Khung tóm tắt (giỏ hàng, thanh toán, thành công) */
.tdc-sum { background: #fff; border: 1px solid var(--tdc-line); border-radius: 16px; padding: 22px; }
.tdc-sum__rows { display: grid; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--tdc-line); }
.tdc-sum__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; font-size: 15px; color: #3A4A5A; }
.tdc-sum__row > b { color: var(--tdc-ink); font-weight: 600; white-space: nowrap; }
.tdc-sum__row.is-disc b { color: var(--tdc-ok); }
.tdc-sum__row em { font-style: normal; font-weight: 700; color: var(--tdc-ink); }
.tdc-sum__rmc { margin-left: 6px !important; padding: 0 !important; border: 0; background: none; color: var(--tdc-sale); font-size: 13px !important; text-decoration: underline; }
.tdc-sum__ship { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.tdc-sum .is-ship { color: var(--tdc-blue); font-weight: 700; }
.tdc-sum__ship small { font-size: 12px; color: var(--tdc-muted); }
.tdc-sum__total { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 0 6px; }
.tdc-sum__total > span:first-child { flex-shrink: 0; white-space: nowrap; font-size: 17px; font-weight: 700; padding-top: 6px; }
.tdc-sum__amt { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.tdc-sum__amt b, .tdc-sum__amt b .amount { font-size: 28px; font-weight: 800; color: var(--tdc-sale); line-height: 1.15; }
.tdc-sum__amt small { font-size: 12.5px; color: var(--tdc-muted); }
.tdc-sum__note { display: flex; gap: 10px; margin: 12px 0 16px; padding: 13px 14px; border: 1px solid var(--tdc-note-line); border-radius: 10px; background: var(--tdc-note); color: #6B4E00; font-size: 14px; line-height: 1.5; }
.tdc-sum__note .tdc-ki { color: #B98500; margin-top: 2px; }
.tdc-sum__note p { margin: 0; }
.tdc-sum__help { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 14px; color: var(--tdc-blue) !important; font-weight: 600; font-size: 14.5px; }

/* Ô số lượng */
.tdc-qty { display: inline-flex; align-items: stretch; height: 44px; border: 1px solid var(--tdc-line); border-radius: 10px; overflow: hidden; background: #fff; }
.tdc-qty button { width: 44px; padding: 0 !important; border: 0 !important; background: #fff !important; color: var(--tdc-ink) !important; display: flex; align-items: center; justify-content: center; }
.tdc-qty button:hover { background: var(--tdc-sky) !important; }
.tdc-qty input { width: 46px !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid var(--tdc-line) !important; border-right: 1px solid var(--tdc-line) !important;
	border-radius: 0 !important; text-align: center; font-size: 16px; font-weight: 600; box-shadow: none !important; -moz-appearance: textfield; }
.tdc-qty input::-webkit-outer-spin-button, .tdc-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Thông báo nhỏ (dùng chung với trang sản phẩm) */
.tdc-toast { position: fixed; left: 50%; bottom: 96px; z-index: 100002; max-width: 90vw; padding: 11px 18px; border-radius: 10px; background: #13212F; color: #fff; font-size: 14px;
	opacity: 0; transform: translate(-50%, 10px); transition: opacity .2s, transform .2s; pointer-events: none; }
.tdc-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.tdc-toast.is-err { background: #C42B1C; }
.js-tdc-cart-count.is-bump { animation: tdc-bump .5s ease; }
@keyframes tdc-bump { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }

/* ---------- 1. Khung "Đã thêm vào giỏ" ---------- */
.tdc-drawer2-dim { position: fixed; inset: 0; z-index: 100000; background: rgba(10, 37, 64, .45); opacity: 0; transition: opacity .25s; }
.tdc-drawer2-dim.is-open { opacity: 1; }
.tdc-drawer2 { position: fixed; top: 0; right: 0; bottom: 0; z-index: 100001; width: 420px; max-width: 100vw; background: #fff; box-shadow: -8px 0 30px rgba(0,0,0,.18);
	transform: translateX(100%); transition: transform .25s ease; display: flex; flex-direction: column; }
.tdc-drawer2.is-open { transform: none; }
.tdc-drawer2__grip { display: none; }
.tdc-drawer2 > .js-tdc-dr-in { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.tdc-drawer2__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--tdc-line); }
.tdc-drawer2__head b { display: flex; align-items: center; gap: 10px; color: var(--tdc-ok); font-size: 17px; }
.tdc-drawer2__head b .tdc-ki { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--tdc-ok); color: #fff; }
.tdc-drawer2__x { width: 42px; height: 42px; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; border: 0 !important; border-radius: 10px; background: var(--tdc-ground) !important; color: var(--tdc-ink) !important; }
.tdc-drawer2__body { flex: 1; overflow-y: auto; padding: 18px 20px 24px; }
.tdc-drawer2__item { display: flex; gap: 14px; }
.tdc-drawer2__img { flex-shrink: 0; width: 96px; height: 96px; border: 1px solid var(--tdc-line); border-radius: 10px; overflow: hidden; background: #fff; }
.tdc-drawer2__img img { width: 100%; height: 100%; object-fit: contain; }
.tdc-drawer2__item b { display: block; font-size: 15px; line-height: 1.4; }
.tdc-drawer2__item small { display: block; margin-top: 3px; font-size: 13px; color: var(--tdc-muted); }
.tdc-drawer2__item strong, .tdc-drawer2__item strong .amount { display: block; margin-top: 4px; font-size: 18px; font-weight: 800; color: var(--tdc-sale); }
.tdc-drawer2__sum { display: grid; gap: 8px; margin: 16px 0; padding: 14px 16px; border-radius: 12px; background: var(--tdc-ground); font-size: 14.5px; }
.tdc-drawer2__sum > div { display: flex; justify-content: space-between; gap: 10px; }
.tdc-drawer2__sum b { font-weight: 700; }
.tdc-drawer2__ship { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.tdc-drawer2__ship b { color: var(--tdc-blue); }
.tdc-drawer2__ship small { font-size: 12px; color: var(--tdc-muted); }
.tdc-drawer2__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tdc-drawer2__btns a { min-height: 52px; }
.tdc-drawer2__more { display: block !important; width: 100%; margin: 14px 0 0 !important; padding: 6px !important; border: 0 !important; background: none !important; color: var(--tdc-muted) !important; text-decoration: underline; font-size: 14.5px !important; }
.tdc-drawer2__extra { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--tdc-line); }
.tdc-drawer2__extra h3 { margin: 0 0 12px; font-size: 16px; }
/* Dòng sản phẩm nhỏ "mua kèm" */
.tdc-mini { display: flex; align-items: center; gap: 12px; padding: 10px; margin-bottom: 10px; border: 1px solid var(--tdc-line); border-radius: 12px; background: #fff; }
.tdc-mini__img { flex-shrink: 0; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--tdc-ground); }
.tdc-mini__img img { width: 100%; height: 100%; object-fit: contain; }
.tdc-mini__txt { flex: 1; min-width: 0; }
.tdc-mini__txt a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--tdc-ink) !important; font-size: 14px; line-height: 1.4; }
.tdc-mini__txt b, .tdc-mini__txt b .amount { color: var(--tdc-sale); font-size: 14.5px; font-weight: 700; }
.tdc-mini__add { flex-shrink: 0; width: 44px; height: 44px; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; border: 1.5px solid var(--tdc-blue) !important; border-radius: 10px; background: #fff !important; color: var(--tdc-blue) !important; }
.tdc-mini__add:hover { background: var(--tdc-sky) !important; }
.tdc-mini__add.is-loading, .tdc-cart__row.is-loading { opacity: .5; pointer-events: none; }

/* ---------- 2. Trang giỏ hàng ---------- */
.tdc-cartpage { max-width: 1200px; margin: 0 auto; padding: 10px 0 40px; }
.tdc-cart { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: start; }
.tdc-cart__main, .tdc-cart-extra { background: #fff; border: 1px solid var(--tdc-line); border-radius: 16px; padding: 24px 28px; }
.tdc-cart__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--tdc-line); }
.tdc-cart__head h1 { margin: 0; font-size: 26px; font-weight: 800; }
.tdc-cart__head h1 small { font-size: 16px; font-weight: 500; color: var(--tdc-muted); }
.tdc-cart__head a { display: flex; align-items: center; gap: 4px; flex-shrink: 0; white-space: nowrap; color: var(--tdc-blue) !important; font-weight: 600; text-decoration: underline; }
.tdc-cart__row { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--tdc-line); transition: opacity .2s; }
.tdc-cart__row.is-gone { opacity: .3; }
.tdc-cart__img { display: block; width: 104px; height: 104px; border: 1px solid var(--tdc-line); border-radius: 12px; overflow: hidden; background: #fff; }
.tdc-cart__img img { width: 100%; height: 100%; object-fit: contain; }
.tdc-cart__name { display: block; color: var(--tdc-ink) !important; font-size: 16.5px; font-weight: 600; line-height: 1.4; }
.tdc-cart__var { margin-top: 4px; font-size: 14px; color: #3A4A5A; }
.tdc-cart__sku { margin-top: 2px; font-size: 13.5px; color: var(--tdc-muted); }
.tdc-cart__ctl { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.tdc-cart__rm { display: flex !important; align-items: center; gap: 5px; padding: 8px 4px !important; border: 0 !important; background: none !important; color: var(--tdc-muted) !important; font-size: 14.5px !important; }
.tdc-cart__rm:hover { color: var(--tdc-sale) !important; }
.tdc-cart__price { text-align: right; white-space: nowrap; }
.tdc-cart__price > b, .tdc-cart__price > b .amount { font-size: 19px; font-weight: 800; }
.tdc-cart__price small { display: block; margin-top: 4px; font-size: 13px; color: var(--tdc-muted); }
.tdc-cart__price del { color: #98A4B0; }
.tdc-cart__undo { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; padding: 12px 16px; border-radius: 10px; background: var(--tdc-ground); font-size: 14.5px; color: #3A4A5A; }
.tdc-cart__undo[hidden] { display: none; }
.tdc-cart__undo button { padding: 4px !important; border: 0 !important; background: none !important; color: var(--tdc-blue) !important; font-weight: 700; text-decoration: underline; }
.tdc-cart__side { position: sticky; top: 90px; }
.tdc-coupon { border: 1px dashed #B9C7D5; border-radius: 10px; margin-bottom: 4px; }
.tdc-coupon summary { padding: 12px 14px; cursor: pointer; font-weight: 600; font-size: 15px; list-style: none; display: flex; justify-content: space-between; }
.tdc-coupon summary::-webkit-details-marker { display: none; }
.tdc-coupon summary::after { content: "▾"; color: var(--tdc-muted); }
.tdc-coupon[open] summary::after { content: "▴"; }
.tdc-coupon__row { display: flex; gap: 8px; padding: 0 12px 12px; }
.tdc-coupon__row input { flex: 1; height: 44px !important; margin: 0 !important; border-radius: 8px !important; }
.tdc-coupon__row button { height: 44px; padding: 0 16px !important; border: 0 !important; border-radius: 8px; background: var(--tdc-ink) !important; color: #fff !important; font-weight: 600; }
.tdc-cart-extra { margin-top: 24px; }
.tdc-cart-extra h2 { margin: 0 0 14px; font-size: 20px; }
.tdc-cart-extra__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.tdc-cart-empty { max-width: 560px; margin: 30px auto; padding: 40px 28px; border: 1px solid var(--tdc-line); border-radius: 16px; background: #fff; text-align: center; }
.tdc-cart-empty > .tdc-ki { margin: 0 auto 12px; color: #A9B7C6; }
.tdc-cart-empty h1 { margin: 0 0 6px; font-size: 24px; }
.tdc-cart-empty p { color: var(--tdc-muted); }
.tdc-cart-empty__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.tdc-cart-empty__cats a { padding: 9px 14px; border: 1px solid var(--tdc-line); border-radius: 999px; color: var(--tdc-ink) !important; font-size: 14.5px; }

/* Thanh dưới cố định (mobile): tổng tạm tính + nút */
.tdc-cobar { display: none; }

/* ---------- 3. Trang thanh toán ---------- */
/* Header rút gọn */
.tdc-hdr--co { height: 64px; }
.tdc-hdr--co .tdc-hdr__main { height: 64px; }
.tdc-hdr--co .tdc-hdr__wrap { justify-content: space-between; gap: 16px; }
.tdc-hdr__safe { display: flex; align-items: center; gap: 7px; font-size: 14.5px; color: #DCEBF8; }
.tdc-hdr__cophone { display: flex; align-items: center; gap: 8px; color: #fff !important; font-weight: 800; font-size: 18px; }
body.tdc-co-checkout .tdc-hdr-chips, body.tdc-co-ty .tdc-hdr-chips { display: none !important; }

body.tdc-co-checkout #order_review_heading, body.tdc-co-checkout .woocommerce-form-coupon-toggle, body.tdc-co-checkout .woocommerce-form-login-toggle { display: none !important; }
body.tdc-co-checkout form.checkout > .row { align-items: flex-start; }
body.tdc-co-checkout .checkout-sidebar { padding: 0 !important; }
body.tdc-co-checkout form.checkout .large-5 > .col-inner.has-border { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.tdc-co-checkout #order_review { padding: 0; }
.tdc-co { display: grid; gap: 18px; }
.tdc-co-sec { padding: 24px 26px; border: 1px solid var(--tdc-line); border-radius: 16px; background: #fff; }
.tdc-co-h { display: flex; align-items: center; gap: 12px; margin: 0 0 18px !important; font-size: 21px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--tdc-ink) !important; }
.tdc-co-h i { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--tdc-blue); color: #fff; font-style: normal; font-size: 15px; }
.tdc-co-grid { display: flex; flex-wrap: wrap; gap: 0 16px; }
.tdc-co .form-row { flex: 0 0 100%; width: 100% !important; float: none !important; margin: 0 0 16px !important; padding: 0 !important; }
.tdc-co .form-row-first, .tdc-co .form-row-last { flex: 0 0 calc(50% - 8px); width: calc(50% - 8px) !important; max-width: none !important; } /* style.css cũ: max-width 48% */
.tdc-co .form-row label { display: block; margin-bottom: 6px; font-size: 14.5px; font-weight: 600; color: var(--tdc-ink); }
.tdc-co .form-row label .optional { font-weight: 400; color: var(--tdc-muted); }
.tdc-co .tdc-f-addr label .optional { display: none; } /* địa chỉ bắt buộc khi Giao tận nơi (kiểm tra ở server) */
.tdc-co .form-row .required { color: var(--tdc-sale); text-decoration: none; border: 0; }
.tdc-co .form-row input.input-text, .tdc-co .form-row textarea, .tdc-co .form-row select { width: 100%; height: 50px; margin: 0; padding: 0 14px; border: 1px solid #C9D5E1; border-radius: 10px;
	font-size: 16px; background: #fff; box-shadow: none; color: var(--tdc-ink); }
.tdc-co .form-row textarea { height: 104px; padding: 12px 14px; line-height: 1.5; }
.tdc-co .form-row input.input-text:focus, .tdc-co .form-row textarea:focus { border-color: var(--tdc-blue); box-shadow: 0 0 0 3px rgba(11, 111, 184, .15); outline: 0; }
.tdc-co .form-row.woocommerce-invalid input.input-text { border: 1.5px solid var(--tdc-sale) !important; }
.tdc-co .tdc-fmsg { display: block; margin-top: 5px; color: var(--tdc-sale); font-size: 13.5px; }
/* Thẻ chọn: cách nhận hàng + thanh toán */
.tdc-co-ship { display: grid; gap: 12px; margin-bottom: 18px; }
.tdc-co-card { position: relative; display: flex !important; align-items: flex-start; gap: 14px; margin: 0 !important; padding: 16px 18px; border: 1.5px solid var(--tdc-line); border-radius: 12px; background: #fff; cursor: pointer; font-weight: 400 !important; }
.tdc-co-card.is-on { border-color: var(--tdc-blue); background: var(--tdc-sky); box-shadow: inset 0 0 0 1px var(--tdc-blue); }
.tdc-co-card input[type=radio] { flex-shrink: 0; width: 22px; height: 22px; margin: 2px 0 0 !important; accent-color: var(--tdc-blue); }
.tdc-co-card__ico { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #fff; color: var(--tdc-blue); border: 1px solid var(--tdc-line); }
.tdc-co-card__txt { flex: 1; min-width: 0; }
.tdc-co-card__txt b { display: block; font-size: 16px; font-weight: 700; }
.tdc-co-card__txt small { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.5; color: #3A4A5A; }
.tdc-co-card__badge { flex-shrink: 0; font-style: normal; font-weight: 700; font-size: 14px; color: var(--tdc-blue); white-space: nowrap; }
.tdc-co-card.is-static { cursor: default; margin-bottom: 18px !important; }
.tdc-co-noship { margin: 0; color: var(--tdc-muted); }
.tdc-co-addr[hidden] { display: none; }
/* Hóa đơn VAT */
.tdc-co-vat__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tdc-co-vat__head .tdc-co-h { margin: 0 !important; }
.tdc-co-vat__hint { margin: 6px 0 0 44px; font-size: 13.5px; color: var(--tdc-muted); }
.tdc-co-vat__body { display: none; margin-top: 18px; }
.tdc-co-vat.is-on .tdc-co-vat__body { display: flex; }
.tdc-switch { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; cursor: pointer; font-size: 14.5px; font-weight: 600; white-space: nowrap; }
.tdc-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tdc-switch i { position: relative; width: 48px; height: 28px; border-radius: 999px; background: #C3CFDB; transition: background .15s; }
.tdc-switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .15s; }
.tdc-switch input:checked + i { background: var(--tdc-blue); }
.tdc-switch input:checked + i::after { transform: translateX(20px); }
.tdc-switch input:focus-visible + i { outline: 2px solid var(--tdc-blue); outline-offset: 2px; }
/* Cột phải: tóm tắt + nút đặt hàng */
.tdc-co-sum { border-radius: 16px 16px 0 0; border-bottom: 0; padding-bottom: 6px; }
.tdc-co-sum__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.tdc-co-sum__head b { font-size: 18px; }
.tdc-co-sum__head a { color: var(--tdc-blue) !important; font-weight: 600; text-decoration: underline; }
.tdc-co-sum__items { display: grid; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--tdc-line); max-height: 320px; overflow-y: auto; }
.tdc-co-sum__it { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; }
.tdc-co-sum__img { position: relative; flex-shrink: 0; width: 60px; height: 60px; border: 1px solid var(--tdc-line); border-radius: 10px; background: #fff; }
.tdc-co-sum__img img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.tdc-co-sum__img i { position: absolute; top: -7px; left: -7px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: #5B6B7B; color: #fff; font-style: normal; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.tdc-co-sum__nm { flex: 1; min-width: 0; line-height: 1.45; }
.tdc-co-sum__nm small { display: block; color: var(--tdc-muted); font-size: 12.5px; }
.tdc-co-sum__it > b { white-space: nowrap; font-weight: 700; }
body.tdc-co-checkout #payment { margin: 0; padding: 4px 22px 22px; border: 1px solid var(--tdc-line); border-top: 0; border-radius: 0 0 16px 16px; background: #fff !important; }
body.tdc-co-checkout #payment ul.payment_methods, body.tdc-co-checkout #payment .payment_box { display: none !important; } /* chỉ COD, đã hiện ở mục 4 */
body.tdc-co-checkout #payment .form-row.place-order { margin: 0 !important; padding: 0 !important; }
body.tdc-co-checkout .fp-custom-terms-wrap { margin: 6px 0 14px !important; }
body.tdc-co-checkout .fp-custom-terms-wrap label { align-items: flex-start !important; gap: 10px; font-size: 14.5px !important; }
body.tdc-co-checkout .fp-custom-terms-wrap input { width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--tdc-blue); margin: 0 !important; }
body.tdc-co-checkout .woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--tdc-muted); }
body.tdc-co-checkout #place_order { width: 100%; min-height: 56px; margin: 4px 0 0; border-radius: 12px; background: var(--tdc-blue) !important; color: #fff !important; font-size: 18px; font-weight: 800; letter-spacing: .3px; text-transform: none; }
body.tdc-co-checkout #place_order:hover { background: var(--tdc-blue-dark) !important; }
body.tdc-co-checkout #place_order.is-sending { opacity: .75; }
body.tdc-co-checkout .woocommerce-NoticeGroup-checkout, body.tdc-co-checkout .woocommerce-error { border-radius: 12px; }

/* ---------- 4. Trang đặt hàng thành công ---------- */
body.tdc-co-ty .woocommerce-thankyou-order-received, body.tdc-co-ty .woocommerce-order-overview, body.tdc-co-ty .woocommerce-order-details,
body.tdc-co-ty .woocommerce-customer-details, body.tdc-co-ty .woocommerce-order > .row > .large-5 { display: none !important; }
/* Flatsome chia trang thành công 2 cột (7 + 5): ẩn cột có khung tổng quan mặc định, cột chứa nội dung mới rộng hết trang
   (JS trong tdc_co_js làm dự phòng cho trình duyệt chưa hỗ trợ :has) */
body.tdc-co-ty .col:has(.woocommerce-order-overview):not(:has(.tdc-ty)), body.tdc-co-ty .tdc-ty-hide { display: none !important; }
body.tdc-co-ty .col:has(> .col-inner > .tdc-ty), body.tdc-co-ty .col:has(> .tdc-ty), body.tdc-co-ty .col:has(> .tdc-steps), body.tdc-co-ty .tdc-ty-full { flex-basis: 100% !important; max-width: 100% !important; }
.tdc-ty__info dt, .tdc-ty__info dd { text-transform: none !important; letter-spacing: 0 !important; }
.tdc-ty { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 28px; align-items: start; max-width: 1200px; margin: 0 auto 40px; }
.tdc-ty__main { display: grid; gap: 18px; }
.tdc-ty__ok, .tdc-ty__steps { padding: 30px; border: 1px solid var(--tdc-line); border-radius: 16px; background: #fff; }
.tdc-ty__ok { text-align: center; }
.tdc-ty__tick { display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin: 0 auto 14px; border-radius: 50%; background: var(--tdc-ok); color: #fff; }
.tdc-ty__ok h1 { margin: 0 0 6px; font-size: 30px; font-weight: 800; }
.tdc-ty__ok p { margin: 6px 0 0; font-size: 16px; line-height: 1.6; color: #3A4A5A; }
.tdc-ty__no b { font-size: 20px; color: var(--tdc-ink); }
.tdc-ty__copy { display: inline-flex !important; align-items: center; gap: 5px; margin-left: 6px !important; padding: 6px 10px !important; border: 1px solid var(--tdc-line) !important; border-radius: 8px; background: #fff !important; color: var(--tdc-blue) !important; font-size: 13.5px !important; vertical-align: middle; }
.tdc-ty__steps h2 { margin: 0 0 16px; font-size: 21px; }
.tdc-ty__steps ol { margin: 0 !important; padding: 0 !important; list-style: none; }
.tdc-ty__steps li { position: relative; display: flex; gap: 14px; margin: 0 !important; padding-bottom: 22px; }
.tdc-ty__steps li:last-child { padding-bottom: 0; }
.tdc-ty__steps li:not(:last-child)::after { content: ""; position: absolute; left: 19px; top: 42px; bottom: 4px; width: 2px; background: var(--tdc-line); }
.tdc-ty__steps li i { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tdc-sky); color: var(--tdc-blue); }
.tdc-ty__steps li.is-done i { background: var(--tdc-ok); color: #fff; }
.tdc-ty__steps li b { display: block; font-size: 16px; padding-top: 9px; }
.tdc-ty__steps li small { display: block; margin-top: 2px; font-size: 14px; color: var(--tdc-muted); }
.tdc-ty__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tdc-ty__btns a { min-height: 56px; font-size: 16px; }
.tdc-ty__info { display: grid; grid-template-columns: auto 1fr; gap: 6px 10px; margin: 14px 0 0; font-size: 14px; }
.tdc-ty__info dt { font-weight: 700; }
.tdc-ty__info dd { margin: 0; color: #3A4A5A; }

/* ---------- Mobile ---------- */
@media (max-width: 849px) {
	.tdc-steps { gap: 6px; margin: 4px auto 14px !important; }
	.tdc-steps li { font-size: 12.5px; gap: 5px; }
	.tdc-steps li + li::before { width: 14px; margin-right: 1px; }
	.tdc-steps i { width: 24px; height: 24px; font-size: 12px; }
	/* Khung "Đã thêm vào giỏ" → trượt từ dưới lên */
	.tdc-drawer2 { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 18px 18px 0 0; transform: translateY(100%); box-shadow: 0 -8px 30px rgba(0,0,0,.2); }
	.tdc-drawer2.is-open { transform: none; }
	.tdc-drawer2__grip { display: block; width: 44px; height: 5px; margin: 8px auto 0; border-radius: 999px; background: #C3CFDB; }
	.tdc-drawer2__head { padding: 10px 16px 12px; }
	.tdc-drawer2__body { padding: 14px 16px calc(20px + env(safe-area-inset-bottom)); }
	.tdc-drawer2__img { width: 76px; height: 76px; }
	/* Giỏ hàng */
	.tdc-cartpage { padding: 0 0 20px; }
	.tdc-cart { grid-template-columns: 1fr; gap: 14px; }
	.tdc-cart__main, .tdc-cart-extra { padding: 16px; border-radius: 14px; }
	.tdc-cart__head h1 { font-size: 21px; }
	.tdc-cart__head a { font-size: 13.5px; }
	.tdc-cart__row { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 16px 0; }
	.tdc-cart__img { width: 80px; height: 80px; }
	.tdc-cart__name { font-size: 15px; }
	.tdc-cart__price { grid-column: 2; text-align: left; }
	.tdc-cart__price > b, .tdc-cart__price > b .amount { font-size: 17px; color: var(--tdc-sale); }
	.tdc-cart__ctl { justify-content: space-between; gap: 10px; }
	.tdc-cart__side { position: static; }
	.tdc-cart__side .tdc-btn-big, .tdc-cart__side .tdc-sum__total { display: none; }
	.tdc-cart-extra__grid { grid-template-columns: 1fr; }
	.tdc-sum { padding: 16px; border-radius: 14px; }
	/* Thanh dưới cố định */
	.tdc-cobar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: flex; align-items: center; justify-content: space-between; gap: 12px;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--tdc-line); box-shadow: 0 -4px 16px rgba(0,0,0,.08); }
	.tdc-cobar small { display: block; font-size: 12px; color: var(--tdc-muted); }
	.tdc-cobar b, .tdc-cobar b .amount { font-size: 20px; font-weight: 800; color: var(--tdc-sale); }
	.tdc-cobar .tdc-btn-pri { flex-shrink: 0; min-height: 50px; padding: 0 18px; border: 0; font-size: 15.5px; }
	.tdc-cobar button:disabled { opacity: .7; }
	body.tdc-co-cart, body.tdc-co-checkout { padding-bottom: 84px; }
	body.tdc-co-cart .buttonizer-group, body.tdc-co-checkout .buttonizer-group { bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
	body.tdc-co-cart .back-to-top, body.tdc-co-checkout .back-to-top { bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
	/* Thanh toán */
	.tdc-hdr.tdc-hdr--co { height: 56px; }
	.tdc-hdr--co .tdc-hdr__main { height: 56px; }
	.tdc-hdr__safe { display: none; }
	.tdc-hdr__cophone { padding: 8px 12px; border-radius: 10px; background: #fff; color: var(--tdc-blue) !important; font-size: 15px; }
	.tdc-co { gap: 12px; }
	.tdc-co-sec { padding: 18px 16px; border-radius: 14px; }
	.tdc-co-h { font-size: 18px !important; margin-bottom: 14px !important; }
	.tdc-co-h i { width: 28px; height: 28px; font-size: 13px; }
	.tdc-co .form-row-first, .tdc-co .form-row-last { flex-basis: 100%; width: 100% !important; }
	.tdc-co-card { padding: 14px; gap: 10px; }
	.tdc-co-card__ico { display: none; }
	.tdc-co-vat__head { align-items: flex-start; }
	.tdc-co-vat__hint { margin-left: 40px; }
	.tdc-switch span { display: none; }
	body.tdc-co-checkout form.checkout .large-5 { margin-top: 12px; }
	/* Thành công */
	.tdc-ty { grid-template-columns: 1fr; gap: 14px; }
	.tdc-ty__ok, .tdc-ty__steps { padding: 22px 16px; }
	.tdc-ty__ok h1 { font-size: 24px; }
	.tdc-ty__btns { grid-template-columns: 1fr; }
}
/* ===================== TDC GIỎ HÀNG – THANH TOÁN – KẾT THÚC ===================== */
