/*
Theme Name: Modern Deco v1 Child
Theme URI:
Description:
Author:
Author URI:
Template: modern-deco-v1
Version: 
*/

@import url('fonts/style.css');

/* ==========================================================================
   TABLE OF CONTENTS (sections follow file order)
   01. Base / Global
   03. Header + Navigation
   04. Header (Mobile)
   05. Breadcrumbs
   06. Layout / Containers
   07. Shop + Product Grid
   08. Single Product
   09. Sticky Add to Cart
   10. Related Products
   11. Cart + Checkout
   12. Quick Buy (DevVN)
   13. Blog + Post Lists
   14. Sidebar + Widgets
   15. Footer
   16. Social + Floating Tools
   17. Misc
   18. Home Page
   ========================================================================== */

/* ==============================
   01. Base / Global
   ============================== */
b, strong { font-weight: 600 !important;}
#content table { border-right: solid 1px #ccc; border-top: solid 1px #ccc;}
#content table td { border-left: solid 1px #ccc; border-bottom-color: #ccc; padding-left: 1em; color: #111;}
.fas, fa { font-family: Fontawesome;}
div#top-bar a { font-weight: 400; text-transform: unset;}
ol, ul { margin-left: 30px; margin-bottom: 20px}
.entry-divider { display: none !important;}
div#content {padding-bottom: 0px;padding-top: 0; text-align: justify; }
iframe {margin: auto !important;display: block;}
.single div#content { padding-top: 0px;}
body { counter-reset: section;}
.metaslider .nivo-controlNav { position: absolute; bottom: 0px; left: 0px;}
#logo a { color: #FFF; text-transform: uppercase;}
.entry-content p { text-align: justify;}
div.wpcf7-mail-sent-ng, div.wpcf7-aborted { background: white;}
h6 { font-size: 12px;}
h5 { font-size: 14px;}
h4 { font-size: 17px;}
h3 { font-size: 20px;}
h2 { font-size: 22px;}
.is-divider { display: none;}
div#flags { width: auto;}
.blog-share { margin-top: 30px;}

@media screen and (max-width: 959px) {
  body { overflow-x: hidden !important;}
}

/* ==============================
   03. Header + Navigation
   ============================== */
/* header */

/* Hotline header */
ul.hotline-top { position: relative; font-weight: 500; font-size: 20px; color: #000; background-position: 0% 50%;    padding-left: 50px !important;}
ul.hotline-top:before { content: ""; width: 44px; height: 44px; text-align: center; font-size: 23px; line-height: 40px; position: absolute; left: 0px; color: #ffffff; top: 0px; background: url(image/icon-phone.png) no-repeat; background-size: contain; }
.hotline-top li { list-style: none; margin-bottom: 0px; line-height: 23px; font-size: 16px;font-weight: 600;}
.hotline-top li.hotline-phone { font-weight: 600; font-size: 22px; color: red; }

/* menu chính */
div#masthead .flex-col.hide-for-medium { width: 100%;}
div#masthead ul.header-nav li a { font-size: 15px; }
div#masthead ul.header-nav > li.menu-item > a { font-weight: 600; text-align: center; padding: 0px 15px; }
div#masthead ul.header-nav > li.menu-item-has-children > a:before,
div#masthead ul.header-nav > li.menu-item-has-children > a:after,
div#masthead ul.header-nav > li.menu-item > a.nav-top-link:before,
div#masthead ul.header-nav > li.menu-item > a.nav-top-link:after {
    content: none !important;
    display: none !important;
}
.nav-dropdown-has-arrow li.has-dropdown:before,
.nav-dropdown-has-arrow li.has-dropdown:after,
.nav-dropdown-has-arrow li.current-dropdown.has-dropdown:before,
.nav-dropdown-has-arrow li.current-dropdown.has-dropdown:after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
}
div#masthead ul.header-nav > li.menu-item >.nav-dropdown >li a { color: #111; border-bottom: 0px; margin: 0px; padding: 6px 0px; font-weight: 400; text-transform: none;}
div#masthead ul.header-nav ul.nav-dropdown { padding: 18px 22px; border: 1px solid #ededed; background: #ffffff; z-index: 99; box-shadow: 0 12px 30px rgba(0,0,0,0.08); border-radius: 6px;}
div#masthead ul.header-nav .nav-dropdown li.menu-item a:hover { background: transparent; color: #111 !important; text-decoration: underline; text-underline-offset: 3px;}

/* menu chính sổ sang ngang sang ngang */
div#masthead ul.header-nav .nav-dropdown-simple { box-shadow: 0 12px 30px rgba(0,0,0,0.08); border: 1px solid #ededed; border-radius: 6px; }
div#masthead ul.header-nav li.menu-item .nav-dropdown { padding: 18px 22px; border: 1px solid #ededed; }
div#masthead ul.header-nav li.menu-item .nav-dropdown li.menu-item { display: block; width: 100%; position: relative; }
div#masthead ul.header-nav .nav-dropdown-simple li.menu-item~li.menu-item a { border-top: 1px solid #f0f0f0;}
div#masthead ul.header-nav li.menu-item .nav-dropdown-simple .menu-item a { font-weight: 400; text-transform: unset; position: relative; color: #FFF; background: #f8f8f8;}
div#masthead ul.header-nav li.menu-item .nav-dropdown li.menu-item .nav-column { display: none !important;}
div#masthead ul.header-nav li.menu-item .nav-dropdown li.menu-item:hover .nav-column { display: block !important; position: absolute; left: 100%; background: #f8f8f8; top: 0px;}
div#masthead ul.header-nav li.menu-item .nav-dropdown li.menu-item-has-children >a:after { content: "\f105"; font-family: Fontawesome; position: absolute; right: 2px;}

/* menu chính khi có class megamenu */
div#masthead ul.header-nav .megamenu >ul.nav-dropdown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 24px 28px;
    width: min(1100px, 92vw);
}
div#masthead ul.header-nav li.has-dropdown.megamenu:hover >ul.nav-dropdown,
div#masthead ul.header-nav li.current-dropdown.megamenu >ul.nav-dropdown {
    left: 50%;
    transform: translateX(-50%);
}
div#masthead ul.header-nav .megamenu >ul.nav-dropdown >li.menu-item { display: block; padding: 0; }
div#masthead ul.header-nav .megamenu ul.nav-dropdown li.menu-item ul.nav-column {
    display: block !important;
    box-shadow: none;
    position: relative !important;
    left: unset !important;
    padding: 0;
    margin-top: 8px;
}
div#masthead ul.header-nav .megamenu >ul.nav-dropdown >li.menu-item >a { border: 0px !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; color: #222; display: block; margin-bottom: 6px; }
div#masthead ul.header-nav .megamenu >ul.nav-dropdown ul.nav-column li a { border-top: 0px; padding: 6px 0px; font-size: 13px; color: #333; }
div#masthead ul.header-nav .megamenu .nav-dropdown li.menu-item:hover .nav-column { position: unset; background: transparent;}
div#masthead ul.header-nav .megamenu >ul.nav-dropdown >li.menu-item >a:after { content: "";}
div#masthead ul.header-nav .megamenu ul.nav-dropdown li.menu-item-has-children >a:after { content: ""; }
div#masthead ul.header-nav .megamenu ul.nav-dropdown li.menu-item .nav-column {
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
}
div#masthead ul.header-nav .megamenu ul.nav-dropdown li.menu-item:hover .nav-column {
    position: relative;
    left: auto;
    top: auto;
    background: transparent;
}

/* mega dropdown for San pham (add class "mega-products" to menu item) */
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 24px 28px;
    width: min(1100px, 92vw);
}
div#masthead ul.header-nav li.has-dropdown.mega-products:hover > ul.nav-dropdown,
div#masthead ul.header-nav li.current-dropdown.mega-products > ul.nav-dropdown {
    left: 50%;
    transform: translateX(-50%);
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown > li.menu-item > a {
    border: 0 !important;
    border-bottom: 1px solid #d8c9a8 !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 13px;
    color: #6b4f1d;
    display: block;
    padding-bottom: 8px;
    margin-bottom: 10px;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown > li.menu-item > a:hover {
    color: #4a3712 !important;
    text-decoration: none !important;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.nav-dropdown li a,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.nav-column li a,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.sub-menu li a,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.children li a {
    color: #3a3a3a !important;
    font-weight: 400 !important;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.nav-dropdown {
    display: block !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent;
    box-shadow: none;
    border: 0px;
    padding: 0;
    margin-top: 8px;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.nav-column,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.sub-menu,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.children {
    display: block !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent;
    box-shadow: none;
    border: 0px;
    padding: 0;
    margin-top: 8px;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item > ul.nav-dropdown li a {
    padding: 6px 0px;
    font-size: 13px;
    color: #333;
    text-transform: none;
}
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown li.menu-item-has-children > a:after {
    content: "";
}

/* megamenu ot flatsome */
.header-vertical-menu .ux-nav-vertical-menu li.more { list-style: none; margin: 0px; }
.header-vertical-menu .ux-nav-vertical-menu li.more a { color: #000;}
#header .header-vertical-menu .ux-nav-vertical-menu li.menu-item.label-hot >a:after { top: -8px;}

@media screen and (min-width: 960px) {
  #header .header-vertical-menu .ux-nav-vertical-menu { box-shadow: 0 0 4px 0 rgba(0,0,0,.2);}
  #header .header-vertical-menu .ux-nav-vertical-menu li.menu-item a { display: block; padding: 10px 15px 10px 10px; color: #000; line-height: initial;position: relative; font-weight: 400; text-transform: unset; margin: 0px; }
  #header .header-vertical-menu .ux-nav-vertical-menu .sub-menu li.menu-item >a:before { content: "\f0da"; font-family: Fontawesome; margin-right: 5px; font-size: 11px;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.menu-item a i.icon-angle-down { position: absolute; right: 5px; width: auto; min-height: auto; min-width: auto;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.menu-item a:hover { background: #3d8dc9; color: #FFF;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.menu-item .sub-menu { position: absolute; left: 100%; top: 0px; box-shadow: 0 0 4px 0 rgba(0,0,0,.2);background: #FFF; height: 100%; min-width: 260px;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.menu-item:hover >.sub-menu { display: block;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.more a { display: block; padding: 10px 15px 10px 10px; color: #000; line-height: initial; position: relative;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.more a:before { content: "\f0d7"; font-family: Fontawesome; margin-right: 5px;}
  #header .header-vertical-menu .ux-nav-vertical-menu li.less a:before { content: "\f0d8";}	
  #header .header-vertical-menu .ux-nav-vertical-menu .sub-menu { background: #FFF;}
	
}

/* ==============================
   04. Header (Mobile)
   ============================== */
/* menu di động */
.off-canvas-left.dark .mfp-content { background-color: #000;}

@media screen and (max-width: 959px) {
	#header .stuck div#masthead { position: fixed !important; top: 0px; left: 0px; z-index: 999999; background: #FFF; width: 100%; display: block !important;box-shadow: 0px 0px 5px 2px #ccc;}
	#header .stuck div#wide-nav { display: none;}
	#header div#wide-nav .hide-for-medium {display: none;}
	#header div#wide-nav .show-for-medium {display: block !important;}
	.mobile-sidebar .nav-uppercase li.menu-item { position: relative;}
	.mobile-sidebar .nav-uppercase li.menu-item a { color: #FFF !important;font-size: 14px; }
	.mobile-sidebar .nav-uppercase .menu >li.menu-item >a { text-transform: uppercase; font-weight: 600; }
	.mobile-sidebar .nav-vertical >li.menu-item >a { padding: 10px;}
	.mobile-sidebar .nav-uppercase ul.children a { text-transform: none;}
	.mobile-sidebar .nav-vertical >li.menu-item button.toggle { margin: 0px; width: auto;font-size: 10px; display: none;  }
	.mobile-sidebar .nav-uppercase li.menu-item ul.children { padding-bottom: 0; display: block !important; opacity: 1 !important; position: relative !important; left: 0px !important;}
	.mobile-sidebar .nav-uppercase li.menu-item ul.children >li.menu-item { padding: 0px;margin: 0px;}
	.mobile-sidebar .nav-uppercase li.menu-item ul.children li.menu-item { border-top: 1px solid rgba(255,255,255,.2);}
	.mobile-sidebar .nav-uppercase li.menu-item ul.children >li.menu-item >a:before { content: "-"; margin-right: 5px;}
	.mobile-sidebar .nav-uppercase li.menu-item ul.children ul.nav-sidebar-ul a:before { content: "+"; margin-right: 5px;}
	.off-canvas-left .mfp-content { background: #000;}
	.mobile-sidebar .nav-vertical .html.custom { background: #15acd9; font-weight: 600; font-size: 16px; color: #FFF; padding: 10px 20px;}
  #header .header-main .header-button .button { background: #000 !important;}
	.mobile-sidebar .nav-vertical >li.menu-item >a img { filter: brightness(0) invert(1); width: 15px; }
}

/* header di động */
@media screen and (max-width: 959px) {
	#masthead .hide-for-medium { display: none;}
	#masthead .show-for-medium { display: block !important;}
}

/* ==============================
   05. Breadcrumbs
   ============================== */
/* breadcrumbs */
.home .breadcrumb-blog {display: none;}
.breadcrumb-blog { background: #e6e6e6; line-height: 40px; margin-bottom: 20px;}
.breadcrumb-blog .breadcrumbs { max-width: 1200px; margin: auto; text-transform: unset; line-height: 20px;  padding: 10px 15px; font-size: 14px; font-weight: 400; color: #000; }
.breadcrumbs { text-transform: uppercase; color: #222; font-weight: 400; letter-spacing: 0px; padding: 0;}
.breadcrumbs a { position: relative; display: inline-block; text-transform: none; font-weight: 400; font-size: 14px;  color: #000; }
.breadcrumbs a:hover { color: #000; }

/* breadcrumbs danh mục sản phẩm */
.page-title-inner .is-large { background: #e6e6e6; }
.archive .breadcrumbs { padding: 5px 15px; max-width: 1200px; margin: auto; color: #000; text-transform: unset;    font-weight: 400; font-size: 14px; }
.archive .page-title .page-title-inner { padding: 0px; min-height: auto; max-width: 100%; display: block; }
.archive .shop-page-title .is-xsmall { background: #f5f5f5; border-bottom: 1px solid #e6e6e6; }
.shop-page-breadcrumbs { background: whitesmoke; margin-bottom: 20px; padding: 10px 0px;}

/* breadcrumbs sản phẩm */
.single-product .page-title {background: #e6e6e6;line-height: 20px;border-bottom: 0px solid #e6e6e6;padding: 10px 0px;max-width: 100% !important; margin-bottom: 30px; }
.single-product .page-title >.woocommerce-breadcrumb {max-width: 1400px;padding: 0 15px;}
.page-title .page-title-inner { padding: 0px 15px; min-height: auto;}

/* ==============================
   06. Layout / Containers
   ============================== */
/* khung website */
.page-wrapper { padding-top: 0px;}
.khungweb { padding: 0 15px; max-width: 1200px !important;}
.khungweb .khung-noidung >.row { margin: 0px !important; }
.khungweb .khung-noidung { padding: 0px !important; margin-bottom: 20px; background: #FFF; border: 0px !important;}
.khungweb .sidebar { padding: 0px !important; border: 0px;}
.khung-noidung .product-main { padding-bottom: 0px;}
.category-filtering { display: none;}
.khungweb .khung-full { max-width: 100%; flex-basis: 100%; -ms-flex-preferred-size: 100%; border: 0px !important; padding: 0px !important;}
header.entry-header .entry-header-text { padding-bottom: 0px;}
header.entry-header .entry-header-text h1.entry-title { margin-bottom: 0px;font-size: 24px; padding-bottom: 10px; border-bottom: 2px dashed #ccc;}
h1.entry-title.mb { font-size: 24px; padding-bottom: 10px; border-bottom: 2px dashed #ccc; margin-bottom: 15px;}
header.archive-page-header .page-title {
    font-size: 24px;
    margin-bottom: 15px;
}
header.archive-page-header .re_time ul {
    margin: 0px;
    list-style: none;
}
header.archive-page-header .re_time ul li {
    margin: 0px;
    display: inline-block;
    padding: 0 10px;position: relative;
}
header.archive-page-header .re_time ul li~li:before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    width: 2px;
    height: 70%;
    background: #ccc;
    transform: translate(0, -50%);
}
header.archive-page-header .re_time ul li a {
    color: #000;text-transform: uppercase;
}
header.archive-page-header .re_time ul li a:hover {
    color: #000;
}


@media only screen and (min-width: 960px) { 
 .khungweb .khung-noidung { max-width: 73%;}
 .khungweb .sidebar-left { margin-right: 0px; margin-left: auto; }
 .khungweb .sidebar-right { margin-left: 0px; margin-right: auto; }
}
@media only screen and (max-width: 959px) { 
  .khungweb .khung-noidung { max-width: 100% !important; flex-basis: 100% !important; }
  .khungweb .sidebar { max-width: 100% !important; flex-basis: 100% !important; order: 2;display: block !important;}
}

/* tiêu đề braed burm*/
.archive .shop-page-title >.flex-row >.flex-grow { width: 100% !important; max-width: 100% !important; display: flex !important; flex-direction: column;  margin-bottom: 20px;padding-bottom: 10px;border-bottom: 2px dashed #cccc;}
.shop-page-title .shop-page-title { order: 2; margin-top: 20px; }
.shop-page-title h1.shop-page-title { margin: 0px; text-transform: uppercase;}
.shop-page-title .page-title-right p.woocommerce-result-count {width: 50%;margin: 0;height: 39px;line-height: 39px;float: left;}
.shop-page-title .page-title-right form.woocommerce-ordering {float: right;height: 39px;z-index: 9!important;}
.shop-page-title .page-title-right { display: inline-block;width: 100%;margin-bottom: 20px;}

@media screen and (max-width: 767px) { 
  .shop-page-title .page-title-right p.woocommerce-result-count { width: 100% !important; }
  .shop-page-title .page-title-right form.woocommerce-ordering { width: 100% !important; }
}

/* ==============================
   07. Shop + Product Grid
   ============================== */
/* danh mục sản phẩm */
.shop-container { display: flex; flex-direction: column;}
.shop-container .term-description { order: 2; margin-top: 30px;}
.term-description {position: relative;overflow: hidden; margin-bottom: 30px;}
.khungweb .shop-container .row { max-width: 100% !important;}

/* catalog hero header */
.catalog-hero { background: #ffffff; padding: 24px 0 8px; }
.catalog-hero__inner { max-width: 1200px; margin: 0 auto; padding: 0 15px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.catalog-hero__eyebrow { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: #777; margin-bottom: 8px; }
.catalog-hero__title { font-size: 34px; line-height: 1.2; margin: 0 0 12px; color: #111; }
.catalog-hero__desc { font-size: 14px; line-height: 1.7; color: #444; }
.catalog-hero__desc p { margin-bottom: 10px; }
.catalog-hero__media img { width: 100%; height: auto; display: block; border-radius: 4px; }
.catalog-hero--no-media .catalog-hero__inner { grid-template-columns: 1fr; }

@media screen and (max-width: 959px) {
  .catalog-hero__inner { grid-template-columns: 1fr; gap: 20px; }
  .catalog-hero__media { order: -1; }
  .catalog-hero__title { font-size: 28px; }
}

/* ==============================
   CATALOG PRODUCT CARDS (edit here)
   ============================== */
/* card container (catalog grid) */
.products .product .col-inner {
    position: relative;
    background-color: #ffffff;
    border: 1px solid #ededed;
    border-radius: 4px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    padding: 16px 16px 18px;
    transition: box-shadow 0.2s ease;
}
.badge-container.absolute.left.top.z-1 { margin-top: 0px; width: 100%;}
.products .product .col-inner { position: relative;}
.products .product .col-inner:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08); }

/* badge / sale labels (catalog grid) */
.badge-circle .on-sale { background: #111111 !important; color: #ffffff; border: 0px; padding: 4px 6px; position: relative; font-size: 12px; border-radius: 3px; overflow: hidden;}
.badge-circle:first-child { position: absolute; top: 12px; left: 12px;}
.badge-circle:last-child { position: absolute; top: 12px; left: 12px; height: auto;}

/* add-to-cart button (catalog) */
.products .product .col-inner .add-to-cart-button a { background-color: #111111; color: #FFF; border-radius: 3px; font-weight: 500; text-transform: none; font-size: 12px; padding: 0 12px; line-height: 28px; min-height: 20px; border: 0px; margin: 0px; letter-spacing: 0.2px; }
.products .product .col-inner .add-to-cart-button { position: absolute; bottom: 12px; opacity: 0; transform: translateY(6px); transition: opacity 0.2s ease, transform 0.2s ease; left: 12px; }
.products .product .col-inner:hover .add-to-cart-button { opacity: 1; transform: translateY(0); }

/* card container + title/price (catalog + related products) */
.woocommerce .products .product .col-inner, .related .product .col-inner {
    padding: 16px 16px 18px;
    border: 1px solid #ededed;
    border-radius: 4px;
    background: #ffffff;
}
.woocommerce .products .product .col-inner .box-text-products, .related .product .col-inner .box-text-products { padding: 12px 0px 0px; }
h1.product-title.entry-title { font-size: 20px;}
.header-single-product .header-content-center .price-wrapper span.woocommerce-Price-amount:before { content: "Price:"; margin-right: 5px;}
.single-product .product-page-price del span.woocommerce-Price-amount:before, .single-product .product-page-price ins span.woocommerce-Price-amount:before { display: none;}
.woocommerce .products .price,
.woocommerce .products .woocommerce-Price-amount,
.woocommerce .products .amount { color: #111111 !important; font-weight: 500; }
.grid-tools a { background: #0881c8;}
.woocommerce .products .product .title-wrapper .product-title a, .related .product .title-wrapper .product-title a {
    color: #111111;
    font-size: 13.5px;
    line-height: 1.45;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.9em;
}
.woocommerce .products span.price { font-size: 16px; position: relative; line-height: 1.4; margin-top: 8px; display: block; }
.woocommerce .products span.price del span { font-size: 13px; color: #8a8a8a !important; font-weight: 300; }
.woocommerce .products span.price ins span { font-size: 16px; font-weight: 500; }
span.price ins { order: 1; }
span.price ins span { font-size: 12.5px;}
.social-icons { display: block; text-align: center;}
.attribute_pa_trong-luong .select_option_label.select_option span { width: auto;}
.shop-container .products { margin: 0px !important;}

/* ==============================
   08. Single Product
   ============================== */
/* giá tiền ở mô tả ngắn sản phẩm */
.single-product .product-page-price { margin: 10px 0 18px; }
.single-product .product-page-price del {margin-bottom: 6px;width: 100%;flex-basis: 100%;max-width: 100%;display: block;font-size: 12px;color: #9a9a9a;}
.single-product .product-page-price del:before {content: "Giá:"; margin-right: 6px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #b0b0b0;}
.single-product .product-page-price ins {width: 100%;flex-basis: 100%;max-width: 100%;display: block;text-decoration: none;}
.single-product .product-page-price ins:before {content: "Khuyến mại:";font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #b0b0b0; margin-right: 6px;}
.single-product .product-page-price del span.woocommerce-Price-amount { color: #9a9a9a !important; font-weight: 300;}
.single-product .product-page-price ins span.woocommerce-Price-amount { font-size: 24px; font-weight: 500; color: #111; }
.single-product .summary .price { font-size: 24px; font-weight: 500; color: #111; margin: 6px 0 18px; }
.single-product .summary del { color: #9a9a9a; }
.single-product .summary del .woocommerce-Price-amount { font-weight: 300; }

/* mô tả ngắn sản phẩm */
.single-product h1.product-title.entry-title { font-size: 24px; font-weight: 500; color: #111; margin-top: 0px; margin-bottom: 10px; line-height: 1.35; letter-spacing: 0.01em; }
.single-product .woocommerce-product-rating { margin: 6px 0 12px; font-size: 12px; color: #888; }
.single-product .woocommerce-review-link { color: #888; text-decoration: none; }
.single-product .woocommerce-review-link:hover { color: #111; }
.product-short-description ul li:before { content: none; }
.product-short-description ul li { margin-bottom: 8px; list-style: disc; padding-bottom: 0px; margin-left: 0px; }
.product-short-description ul { margin: 0 0 0 18px; padding: 0; list-style: disc;}
.product-short-description p { margin-bottom: 10px; }
.product-short-description img { margin-bottom: 0px !important; }
.product-short-description { margin-top: 8px !important; margin-bottom: 26px; font-size: 14px; line-height: 1.75; color: #333; }
.single-product .product-info form.cart { margin: 8px 0 0;}
.product-vc { margin-bottom: 20px;}
.product-vc a { color: #000; text-decoration: underline; margin-left: 10px; }


/* chi tiết sp */
.product-info { padding-top: 0px;}
@media screen and (min-width: 960px) {
  .single-product .product-info { padding-left: 24px; border-left: 1px solid #eee; }
}
a.phone-cart, a.download-file {
    padding: 6px 16px;
    background: transparent;
    color: #111;
    margin-right: 10px;
    margin-bottom: 10px;
    border-radius: 999px;
    display: inline-block;
    font-weight: 500;
    border: 1px solid #111;
}

/* gallery + thumbnails */
.single-product .product-gallery,
.single-product .woocommerce-product-gallery { background: #fafafa; padding: 16px; border: 1px solid #eee; }
.single-product .woocommerce-product-gallery__image img { border-radius: 6px; }
.single-product .flex-control-thumbs li img,
.single-product .product-thumbnails img { border: 1px solid #eee; border-radius: 4px; opacity: 0.75; }
.single-product .flex-control-thumbs li img.flex-active,
.single-product .product-thumbnails img.active { opacity: 1; border-color: #111; }

.product-footer .woocommerce-tabs {border: 0px; padding: 0px;}
.single-product .tab-panels { padding: 20px 0px 0px; border: 0px;}
.single-product ul.product-tabs { width: 100%; border-bottom: 1px solid #eee; margin-top: 10px !important;}
.single-product ul.product-tabs li { margin-right: 18px; }
.single-product ul.product-tabs li a { border: 0px; font-weight: 500; border-radius: 0px; background: transparent; font-size: 12px; letter-spacing: 0.12em; padding: 6px 0px; text-transform: uppercase; color: #666; }
.single-product ul.product-tabs li.active a { color: #111; border-bottom: 2px solid #111; }
.video-product .title-video { font-size: 20px; color: #000;}
div#reviews {
    margin: 30px 0px;
    background: #ffffff;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 24px;
}
div#reviews h3.woocommerce-Reviews-title { color: #111; font-size: 18px;}
div#reviews div#comments .commentlist {
    margin: 0px;
}
div#reviews div#comments .commentlist .review {
    border-top: 1px solid #D5D5D5;
}
div#reviews div#comments .commentlist .review .review-item { align-items: center !important;}
div#reviews div#comments .commentlist .review .review-item img.avatar { border-radius: 100%; border: 1px solid #D5D5D5; padding: 5px; overflow: hidden;}
div#reviews div#comments .commentlist .review .review-item .comment-text { padding-right: 0px;}
.star-rating span:before { color: #c9a56a;}
div#reviews div#comments .commentlist .review .review-item .comment-text p { margin: 0px;}
div#reviews div#review_form_wrapper { padding: 0px;}
div#reviews div#review_form_wrapper .review-form-inner { border: 1px solid #D5D5D5; border-radius: 8px;}
div#reviews .stars a:hover:after, div#reviews .stars a.active:after { color: #C78D2F;}
div#reviews div#comments { padding-bottom: 10px;}
.video-product { margin-bottom: 15px;}
form.variations_form table { border: 0px;}
div#reviews >.col { max-width: 100%; flex-basis: 100%;}

@media screen and (max-width: 959px) {

}

/* --- Spec teaser inside summary (Japanese modern) --- */
.hbw-spec-teaser {
	margin: 18px 0 22px;
	padding: 16px 0 18px;
	border-top: 1px solid #e6e1d8;
	border-bottom: 1px solid #e6e1d8;
}
.hbw-spec-teaser__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}
.hbw-spec-teaser__eyebrow {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #8a7f6e;
	font-weight: 500;
}
.hbw-spec-teaser__cta {
	background: transparent;
	border: 0;
	padding: 0 0 2px;
	color: #111;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.5;
	cursor: pointer;
	border-bottom: 1px solid #111;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color .25s ease, border-color .25s ease, gap .25s ease;
}
.hbw-spec-teaser__cta:hover,
.hbw-spec-teaser__cta:focus-visible {
	color: #5a4a32;
	border-color: #5a4a32;
	gap: 10px;
	outline: none;
}
.hbw-spec-teaser__cta-arrow { transition: transform .25s ease; }
.hbw-spec-teaser__cta:hover .hbw-spec-teaser__cta-arrow { transform: translateX(2px); }
.hbw-spec-teaser__list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}
.hbw-spec-teaser__row {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 16px;
	padding: 4px 0;
	font-size: 13px;
	line-height: 1.6;
}
.hbw-spec-teaser__row dt {
	position: relative;
	margin: 0;
	padding-left: 14px;
	color: #6b6256;
	font-weight: 400;
}
.hbw-spec-teaser__row dt::before {
	content: "";
	position: absolute;
	left: 0; top: 50%;
	width: 6px; height: 1px;
	background: #b9ad97;
}
.hbw-spec-teaser__row dd {
	margin: 0;
	color: #1a1a1a;
	font-weight: 500;
}

/* --- Side drawer --- */
.hbw-spec-overlay {
	position: fixed;
	inset: 0;
	background: rgba(20, 18, 14, 0);
	z-index: 999998;
	cursor: pointer;
	transition: background .38s ease;
}
body.hbw-spec-open .hbw-spec-overlay { background: rgba(20, 18, 14, 0.42); }
.hbw-spec-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: min(460px, 92vw);
	height: 100vh;
	background: #faf8f5;
	z-index: 999999;
	transform: translateX(100%);
	transition: transform .42s cubic-bezier(.4, 0, .2, 1);
	box-shadow: -16px 0 40px rgba(20, 18, 14, 0.10);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
body.hbw-spec-open .hbw-spec-drawer { transform: translateX(0); }
.hbw-spec-drawer__head {
	position: relative;
	flex-shrink: 0;
	padding: 30px 32px 22px;
	border-bottom: 1px solid #e6e1d8;
}
.hbw-spec-drawer__eyebrow {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #8a7f6e;
	margin-bottom: 8px;
}
.hbw-spec-drawer__title {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #111;
}
.hbw-spec-drawer__close {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: transparent;
	border: 1px solid #d8d2c5;
	color: #111;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.hbw-spec-drawer__close:hover,
.hbw-spec-drawer__close:focus-visible {
	background: #efeae0;
	border-color: #b9ad97;
	outline: none;
	transform: rotate(90deg);
}
.hbw-spec-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 22px 32px 40px;
}
.hbw-spec-drawer__intro {
	margin: 0 0 18px;
	font-size: 13px;
	color: #6b6256;
	font-style: italic;
	letter-spacing: 0.02em;
}
.hbw-spec-drawer__list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.hbw-spec-drawer__row {
	display: grid;
	gap: 6px;
	padding: 16px 0;
	border-bottom: 1px solid #ebe6db;
}
.hbw-spec-drawer__row:first-child { padding-top: 4px; }
.hbw-spec-drawer__row:last-child { border-bottom: 0; }
.hbw-spec-drawer__row dt {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8a7f6e;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 8px;
}
.hbw-spec-drawer__row dd {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	color: #1a1a1a;
}
.hbw-spec-drawer__pill {
	display: inline-block;
	padding: 2px 8px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #5a4a32;
	background: #ede5d4;
	border-radius: 999px;
}
body.hbw-spec-open { overflow: hidden; }

@media screen and (max-width: 549px) {
	.hbw-spec-drawer { width: 100vw; }
	.hbw-spec-drawer__head { padding: 22px 22px 16px; }
	.hbw-spec-drawer__body { padding: 18px 22px 32px; }
	.hbw-spec-teaser__row { grid-template-columns: 110px 1fr; gap: 12px; font-size: 12.5px; }
	.hbw-spec-drawer__title { font-size: 19px; }
}

/* ==============================
   09. Sticky Add to Cart
   ============================== */
/* sticky giỏ hàng */
.sticky-add-to-cart-wrapper .sticky-add-to-cart {
    box-shadow: 1px 1px 10px rgba(0, 0, 0, .15);
}
.sticky-add-to-cart-wrapper .sticky-add-to-cart .sticky-add-to-cart__product {
    justify-content: center;
}
.sticky-add-to-cart-wrapper .sticky-add-to-cart .sticky-add-to-cart__product .product-title-small {
    max-width: 300px;
}
.sticky-add-to-cart-wrapper .sticky-add-to-cart button.single_add_to_cart_button {
    background: #0f766e;
    border-radius: 6px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ==============================
   10. Related Products
   ============================== */
/* sản phẩm liên quan */
.related-products-wrapper { background: #FFF; margin-top: 30px;max-width: 1400px !important;margin-bottom: 20px; border: 0px;}
.related-products-wrapper h3.product-section-title { max-width: 100%; padding: 0px; font-size: 25px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px dashed #ccc;}
.related-products-wrapper >.row { margin: 0px;}

/* ==============================
   11. Cart + Checkout
   ============================== */
/* giỏ hàng */
.single-product div.product form.cart { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; width: 100%; }
.single-product div.product form.cart .quantity { margin: 0 !important; flex: 0 0 auto; }
.woocommerce div.product div.summary .single_add_to_cart_button { background: #e8e3d8 !important; color: #1a1a1a !important; border: 1px solid #d8d2c5 !important; border-radius: 4px; font-weight: 500; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; height: 46px; line-height: 1; padding: 0 24px; flex: 1 1 auto; min-width: 0; display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.woocommerce div.product div.summary .single_add_to_cart_button:hover,
.woocommerce div.product div.summary .single_add_to_cart_button:focus { background: #d8d2c5 !important; border-color: #c1b8a4 !important; color: #1a1a1a !important; }
.woocommerce div.product form.cart .quantity .qty { width: 70px; height: 46px; border: 1px solid #d8d2c5; border-radius: 4px; padding: 0 8px; font-weight: 400; background: #faf8f5; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { width: 100%; }
.woocommerce-checkout .woocommerce-billing-fields { border: 0px; }

/* ---- Cart page (Giỏ hàng) — Japanese-modern ---- */
/* Hide the redundant "Giỏ hàng" page heading (breadcrumb already shows the page name) */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title-inner h1,
body.woocommerce-cart .page-title h1,
body.woocommerce-cart .page-title-inner .is-divider { display: none !important; }
.woocommerce-cart .page-title { background: transparent !important; border-bottom: 0 !important; padding: 0 !important; margin: 0 !important; }

/* Cart table — hairline frame */
.woocommerce-cart .cart-wrapper { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.woocommerce-cart table.shop_table {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: auto !important;
}
.woocommerce-cart table.shop_table thead {
    background: #faf8f5 !important;
    border-bottom: 1px solid #e6e1d8 !important;
}
.woocommerce-cart table.shop_table thead th {
    color: #6b6256 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 14px 10px !important;
    border: 0 !important;
    text-align: left !important;
}
.woocommerce-cart table.shop_table tbody tr {
    border-bottom: 1px solid #ebe6db !important;
}
.woocommerce-cart table.shop_table tbody tr:last-child { border-bottom: 0 !important; }
.woocommerce-cart table.shop_table tbody td {
    padding: 14px 10px !important;
    border: 0 !important;
    color: #1a1a1a !important;
    font-size: 13.5px !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.woocommerce-cart table.shop_table td.product-remove { width: 36px; padding-left: 12px !important; padding-right: 6px !important; }
.woocommerce-cart table.shop_table td.product-thumbnail { width: 76px; padding-left: 0 !important; padding-right: 10px !important; }
.woocommerce-cart table.shop_table .product-thumbnail img,
.woocommerce-cart table.shop_table .product-thumbnail a img {
    width: 64px !important;
    max-width: 64px !important;
    height: auto !important;
    border: 1px solid #ebe6db !important;
    border-radius: 2px;
    background: #fff;
}
.woocommerce-cart table.shop_table .product-name a {
    color: #1a1a1a !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
    transition: color 0.2s ease;
}
.woocommerce-cart table.shop_table .product-name a:hover { color: #5a4a32 !important; }
.woocommerce-cart table.shop_table .product-name .variation,
.woocommerce-cart table.shop_table .product-name dl.variation {
    font-size: 12px !important;
    color: #6b6256 !important;
    margin-top: 4px !important;
}
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}
.woocommerce-cart table.shop_table .product-subtotal { font-weight: 600 !important; }
.woocommerce-cart table.shop_table .product-price .amount,
.woocommerce-cart table.shop_table .product-subtotal .amount,
.woocommerce-cart table.shop_table .woocommerce-Price-amount { color: #1a1a1a !important; }

/* Remove "x" button — soft circle */
.woocommerce-cart table.shop_table .product-remove a.remove,
.woocommerce-cart table.shop_table a.remove {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 26px !important;
    height: 26px !important;
    line-height: 1 !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid #d8d2c5 !important;
    color: #8a7f6e !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover,
.woocommerce-cart table.shop_table a.remove:hover {
    background: #efeae0 !important;
    border-color: #b9ad97 !important;
    color: #1a1a1a !important;
}

/* Product-name column takes the remaining space */
.woocommerce-cart table.shop_table td.product-name { min-width: 160px; width: auto !important; line-height: 1.45; }

/* Quantity stepper — compact, scoped so it doesn't inherit the action-button styles */
.woocommerce-cart table.shop_table td.product-quantity { white-space: nowrap; }
.woocommerce-cart table.shop_table td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center;
    gap: 0;
    margin: 0 !important;
}
.woocommerce-cart table.shop_table td.product-quantity .quantity .plus,
.woocommerce-cart table.shop_table td.product-quantity .quantity .minus,
.woocommerce-cart table.shop_table td.product-quantity .quantity a.plus,
.woocommerce-cart table.shop_table td.product-quantity .quantity a.minus,
.woocommerce-cart table.shop_table td.product-quantity .quantity button.plus,
.woocommerce-cart table.shop_table td.product-quantity .quantity button.minus,
.woocommerce-cart table.shop_table td.product-quantity .quantity input.plus,
.woocommerce-cart table.shop_table td.product-quantity .quantity input.minus {
    width: 34px !important;
    min-width: 34px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #faf8f5 !important;
    border: 1px solid #d8d2c5 !important;
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}
.woocommerce-cart table.shop_table td.product-quantity .quantity .minus { border-right: 0 !important; border-top-left-radius: 4px !important; border-bottom-left-radius: 4px !important; }
.woocommerce-cart table.shop_table td.product-quantity .quantity .plus  { border-left: 0  !important; border-top-right-radius: 4px !important; border-bottom-right-radius: 4px !important; }
.woocommerce-cart table.shop_table td.product-quantity .quantity .plus:hover,
.woocommerce-cart table.shop_table td.product-quantity .quantity .minus:hover {
    background: #efeae0 !important;
    border-color: #b9ad97 !important;
}
.woocommerce-cart table.shop_table td.product-quantity input.qty,
.woocommerce-cart table.shop_table .quantity input.qty {
    width: 52px !important;
    min-width: 52px !important;
    height: 40px !important;
    border: 1px solid #d8d2c5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
    padding: 0 4px !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* Coupon row */
.woocommerce-cart table.shop_table .actions { padding: 18px 14px !important; background: #faf8f5 !important; }
.woocommerce-cart table.shop_table .coupon { display: inline-flex; gap: 8px; }
.woocommerce-cart table.shop_table .coupon input[type="text"] {
    height: 42px !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 0 12px !important;
    min-width: 220px;
    font-size: 13px;
}

/* Action buttons row (Continue shopping + Update cart) */
.woocommerce-cart .cart-action-buttons,
.woocommerce-cart .button-continue-shopping,
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart .actions input[name="update_cart"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 44px !important;
    padding: 0 26px !important;
    margin-right: 10px;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
}
/* Continue shopping — outlined dark (secondary) */
.woocommerce-cart .button-continue-shopping,
.woocommerce-cart a.button-continue-shopping,
.woocommerce-cart .continue-shopping a,
.woocommerce-cart .return-to-shop a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 44px !important;
    padding: 0 26px !important;
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1 !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
.woocommerce-cart .button-continue-shopping:hover,
.woocommerce-cart a.button-continue-shopping:hover,
.woocommerce-cart .continue-shopping a:hover,
.woocommerce-cart .return-to-shop a:hover {
    background: #1a1a1a !important;
    color: #faf9f7 !important;
}

/* Update cart — warm stone (primary tone, drops the red) */
.woocommerce-cart .woocommerce-cart-form button.button,
.woocommerce-cart .woocommerce-cart-form input.button,
.woocommerce-cart .woocommerce-cart-form .actions .button,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form input[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form .actions .button[name="update_cart"] {
    background: #e8e3d8 !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 0 !important;
    height: 44px !important;
    padding: 0 26px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce-cart .woocommerce-cart-form button.button:hover,
.woocommerce-cart .woocommerce-cart-form input.button:hover,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:hover,
.woocommerce-cart .woocommerce-cart-form input[name="update_cart"]:hover {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"][disabled],
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled,
.woocommerce-cart .woocommerce-cart-form input[name="update_cart"][disabled],
.woocommerce-cart .woocommerce-cart-form input[name="update_cart"]:disabled { opacity: 0.55 !important; cursor: default; }
.woocommerce-cart .cart-wrapper .apply-coupon { background: transparent !important; border: 1px solid #1a1a1a !important; color: #1a1a1a !important; }
.woocommerce-cart .cart-wrapper .apply-coupon:hover { background: #1a1a1a !important; color: #faf9f7 !important; }

/* Cart totals (right column) */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    padding: 22px 22px 24px !important;
}
.woocommerce-cart .cart_totals h2 {
    margin: 0 0 16px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}
.woocommerce-cart .cart_totals table {
    border: 0 !important;
    width: 100%;
    background: transparent !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    padding: 14px 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    vertical-align: middle !important;
}
.woocommerce-cart .cart_totals table th {
    color: #6b6256 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    width: 40%;
}
.woocommerce-cart .cart_totals table td { text-align: right; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-bottom: 0 !important;
    padding-top: 16px !important;
    font-weight: 600 !important;
}
.woocommerce-cart .cart_totals .order-total td .amount,
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

/* Proceed to checkout — primary warm stone (same family as ATC) */
.woocommerce-cart .wc-proceed-to-checkout { padding: 18px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .button.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 50px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    background: #e8e3d8 !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart a.checkout-button:hover {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}

/* Empty-cart state */
.woocommerce-cart .cart-empty {
    background: #faf8f5;
    border: 1px solid #e6e1d8;
    padding: 30px 24px;
    text-align: center;
    color: #6b6256;
    font-size: 14px;
}

@media screen and (max-width: 549px) {
    .woocommerce-cart table.shop_table thead { display: none !important; }
    .woocommerce-cart table.shop_table tbody td { padding: 10px 12px !important; }
    .woocommerce-cart table.shop_table .product-thumbnail img { width: 64px !important; max-width: 64px !important; }
    .woocommerce-cart .button-continue-shopping,
    .woocommerce-cart button[name="update_cart"],
    .woocommerce-cart input[name="update_cart"] { width: 100% !important; margin: 0 0 8px !important; }
}

/* ---- Checkout (Thanh toán) — Japanese-modern ---- */
/* Hide the redundant "Thanh toán" page heading (breadcrumb already shows the page name) */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title-inner h1,
body.woocommerce-checkout .page-title h1,
body.woocommerce-checkout .page-title-inner .is-divider { display: none !important; }
.woocommerce-checkout .page-title { background: transparent !important; border-bottom: 0 !important; padding: 0 !important; margin: 0 !important; }

/* Notices (success / error / info) */
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-left: 3px solid #b9ad97 !important;
    border-radius: 2px !important;
    color: #1a1a1a !important;
    padding: 14px 16px !important;
    margin: 0 0 18px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    list-style: none !important;
}
.woocommerce-checkout .woocommerce-error { border-left-color: #c98e6a !important; }
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before { display: none !important; }

/* Section headings — Billing, Shipping, Order */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* Form fields */
.woocommerce-checkout form.checkout .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce-checkout form.checkout .form-row label {
    display: block !important;
    color: #6b6256 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 6px !important;
}
.woocommerce-checkout form.checkout .form-row label .required,
.woocommerce-checkout form.checkout .form-row .required { color: #c98e6a !important; text-decoration: none !important; }
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .form-row select,
.woocommerce-checkout form.checkout .select2-container .select2-selection {
    width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 3px !important;
    color: #1a1a1a !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
}
.woocommerce-checkout form.checkout .form-row textarea {
    height: auto !important;
    min-height: 96px !important;
    padding: 12px 14px !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout form.checkout .form-row input.input-text:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus,
.woocommerce-checkout form.checkout .form-row select:focus,
.woocommerce-checkout form.checkout .select2-container--focus .select2-selection {
    border-color: #1a1a1a !important;
    background: #faf8f5 !important;
    outline: none !important;
}
.woocommerce-checkout form.checkout .form-row input::placeholder,
.woocommerce-checkout form.checkout .form-row textarea::placeholder { color: #b9ad97; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px !important; padding-left: 0 !important; color: #1a1a1a !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px !important; right: 8px !important; }
.woocommerce-checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }

/* Login / coupon toggle bars */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-left: 3px solid #b9ad97 !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
}
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a,
.woocommerce-checkout .woocommerce-form-login-toggle a {
    color: #5a4a32 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #b9ad97 !important;
}
.woocommerce-checkout .woocommerce-info a:hover { color: #1a1a1a !important; border-bottom-color: #1a1a1a !important; }
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    padding: 18px !important;
    margin-bottom: 18px !important;
}

/* Sidebar (Order review) card */
.woocommerce-checkout .col-inner.has-border,
.woocommerce-checkout .col-inner.is-well,
.woocommerce-checkout .checkout-sidebar {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    padding: 22px !important;
    box-shadow: none !important;
}
.woocommerce-checkout .col-inner.has-border .checkout-sidebar,
.woocommerce-checkout .checkout-sidebar.sm-touch-scroll { padding: 0 !important; background: transparent !important; border: 0 !important; }

/* Order review table */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-collapse: collapse !important;
    margin: 0 0 16px !important;
}
.woocommerce-checkout-review-order-table thead th {
    border: 0 !important;
    border-bottom: 1px solid #e6e1d8 !important;
    background: transparent !important;
    color: #6b6256 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 0 0 10px !important;
    text-align: left !important;
}
.woocommerce-checkout-review-order-table thead th.product-total { text-align: right !important; }
.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tbody th {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    padding: 12px 0 !important;
    color: #1a1a1a !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    vertical-align: top !important;
}
.woocommerce-checkout-review-order-table tbody .product-name { font-weight: 500 !important; }
.woocommerce-checkout-review-order-table tbody .product-name .product-quantity,
.woocommerce-checkout-review-order-table tbody .product-quantity {
    color: #6b6256 !important;
    font-weight: 400 !important;
    margin-left: 4px;
}
.woocommerce-checkout-review-order-table tbody .product-total { text-align: right !important; white-space: nowrap; color: #1a1a1a !important; }
.woocommerce-checkout-review-order-table tbody .variation { margin: 4px 0 0 !important; color: #6b6256 !important; font-size: 12px !important; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    padding: 12px 0 !important;
    color: #1a1a1a !important;
    font-size: 13.5px !important;
}
.woocommerce-checkout-review-order-table tfoot th {
    color: #6b6256 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.woocommerce-checkout-review-order-table tfoot td { text-align: right !important; white-space: nowrap; }
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    border-bottom: 0 !important;
    padding-top: 16px !important;
    font-weight: 600 !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total td .amount,
.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

/* Payment methods */
.woocommerce-checkout #payment,
.woocommerce-checkout #payment.woocommerce-checkout-payment {
    background: transparent !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    margin: 8px 0 18px !important;
    padding: 4px 0 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 6px 16px !important;
    list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
    background: transparent !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li:last-of-type { border-bottom: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { margin-right: 10px; vertical-align: middle; accent-color: #1a1a1a; }
.woocommerce-checkout #payment ul.payment_methods li label {
    color: #1a1a1a !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer;
    display: inline !important;
    margin: 0 !important;
    text-transform: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li label img { vertical-align: middle; max-height: 24px; margin-left: 6px; }
.woocommerce-checkout #payment .payment_box {
    background: #fff !important;
    border: 1px solid #ebe6db !important;
    border-radius: 3px !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    padding: 12px 14px !important;
    margin: 8px 0 4px !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment .payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment .form-row { padding: 16px !important; margin: 0 !important; border-top: 1px solid #e6e1d8 !important; background: transparent !important; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 16px !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { padding: 0 16px 12px !important; font-size: 12.5px; color: #6b6256; }

/* Place order button — primary, warm stone */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order,
.woocommerce-checkout .place-order #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 52px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    background: #e8e3d8 !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button#place_order:hover,
.woocommerce-checkout .place-order #place_order:hover {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}

/* Apply-coupon button inside coupon form */
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"],
.woocommerce-checkout form.login button[type="submit"] {
    height: 44px !important;
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 0 22px !important;
    box-shadow: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover,
.woocommerce-checkout form.login button[type="submit"]:hover { background: #1a1a1a !important; color: #faf9f7 !important; }

/* BACS / bank-details info block */
.woocommerce-bacs-bank-details {
    background: #faf8f5;
    border: 1px solid #e6e1d8;
    border-radius: 3px;
    padding: 14px 16px;
    margin-top: 12px;
}
.woocommerce-bacs-bank-details h3.wc-bacs-bank-details-account-name {
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 8px !important;
}
.woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
    line-height: 1.7 !important;
}
.woocommerce-bacs-bank-details ul.wc-bacs-bank-details strong { color: #5a4a32 !important; font-weight: 600 !important; }

/* Order received (Thank you) page borrows the same palette */
.woocommerce-order-received .woocommerce-order h2,
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2 {
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    margin: 24px 0 14px !important;
}
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received ul.order_details {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    padding: 18px 22px !important;
    margin: 0 0 22px !important;
    list-style: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 28px;
}
.woocommerce-order-received ul.order_details li {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #6b6256 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}
.woocommerce-order-received ul.order_details li strong {
    display: block !important;
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-top: 4px;
}
.woocommerce-order-received table.shop_table,
.woocommerce-view-order table.shop_table {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td {
    border: 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    padding: 14px 16px !important;
    color: #1a1a1a !important;
    font-size: 13.5px !important;
}
.woocommerce-order-received table.shop_table thead th {
    color: #6b6256 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    background: #faf8f5 !important;
}
.woocommerce-order-received table.shop_table tfoot tr:last-child th,
.woocommerce-order-received table.shop_table tfoot tr:last-child td { border-bottom: 0 !important; }

@media screen and (max-width: 549px) {
    .woocommerce-checkout .col-inner.has-border,
    .woocommerce-checkout .col-inner.is-well { padding: 16px !important; }
    .woocommerce-checkout #payment ul.payment_methods { padding: 4px 12px !important; }
    .woocommerce-checkout #payment .form-row { padding: 14px 12px !important; }
    .woocommerce-order-received ul.order_details { padding: 14px 16px !important; gap: 12px 20px; }
}


/* ==============================
   12. Quick Buy (DevVN)
   ============================== */
/* mua hàng nhanh — secondary outlined button, matches the cart-row width/height */
.single-product div.product div.summary a.devvn_buy_now,
.single-product div.product div.summary a.devvn_buy_now.devvn_buy_now_style {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    height: 46px;
    margin: 12px 0 0;
    padding: 0 24px;
    background: transparent !important;
    color: #111 !important;
    border: 1px solid #111 !important;
    border-bottom-width: 1px !important;
    border-right-width: 1px !important;
    border-radius: 4px;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
    transition: background .2s ease, color .2s ease;
}
.devvn-popup-title { background: #000 !important;}
.popup-customer-info-group .devvn-order-btn { background: #000 !important; border-bottom: 2px solid #000;    border-right: 2px solid #000;}
.devvn_prod_variable .quantity.buttons_added { float: none !important; border: 0px !important; color: red; font-weight: bold;}
.devvn_prod_variable .quantity.buttons_added .minus { background: transparent; border-radius: 25px 0px 0px 25px;}
.devvn_prod_variable .quantity.buttons_added .qty { border-left: 0px; border-right: 0px;}
.devvn_prod_variable .quantity.buttons_added input { border: 1px solid #000 !important; width: 40px !important; font-size: 14px !IMPORTANT; border-radius: 0px 25px 25px 0px; }
.devvn_prod_variable .quantity.buttons_added:before { content: "Số lượng"; position: absolute; left: 0px; top: 10px; color: #000;}
.devvn_prod_variable .quantity.buttons_added input:hover, .devvn_prod_variable .quantity.buttons_added input:active { background: #4fcaf3 !important; color: #FFF !important;}
a.devvn_buy_now:focus, a.devvn_buy_now:hover { background: #111 !important; color: #fff !important; border-color: #111 !important; }
.devvn_prod_variable .quantity .screen-reader-text { display: none;}

/* ==============================
   13. Blog + Post Lists
   ============================== */
/* List Danh mục tin tức */
#macdinh div#post-list .row { margin: 0px;}
#macdinh .post-item {padding: 0px !important;}
.post-item .post-date {display: none !important;}
#macdinh .post-item .col-inner {background: #FFF;padding-bottom: 15px;margin-bottom: 15px;border-bottom: 1px dashed #000;}
#macdinh .post-item:last-child .col-inner {border: 0px;padding: 0px;margin: 0px;}
#macdinh .post-item .box-blog-post { display: inline-block !important; width: 100%;}
#macdinh .post-item .box-image { padding: 0px !important; display: block !important;}
#macdinh .post-item .box-text { padding: 0px;}
#macdinh .post-item .box-text .post-title { margin-top: 0; color: #000; font-weight: 600; font-size: 20px;}
#macdinh .post-item .box-text .post-title a { margin: 0px;}
.post-item .box-text .is-divider { display: none !important;}
#macdinh .post-item .box-text .post-xemtiep { display: block; text-align: right;}
#macdinh .post-item .box-text .from_the_blog_excerpt { font-size: 16px;}

@media screen and (min-width: 768px) {
	#macdinh .post-item .box-image { width: 30% !important; float: left;}
	#macdinh .post-item .box-image .image-cover { padding-top: 67% !important;}
	#macdinh .post-item .box-text { width: 67% !important; float: right;}
}

/* Danh mục video, grid */
div#grid .box-vertical { display: block !important; border: 0px !important; margin: 0px !important; padding: 0px !important;}
#grid .post-xemtiep { display: none !important;}
#grid >.row { margin: 0px -10px !important; background: #FFF; padding: 10px 0px !important; display: flex !important;}
div#grid .post-item { flex-basis: 100% !important; width: 100% !important; float: left !important; padding: 0 10px 10px; margin-bottom: 20px !important;}
div#grid .post-item .col-inner { padding: 0px !important; box-shadow: 0 1px 3px -2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); border-radius: 5px;}
div#grid .post-item .box-image { display: block !important; width: 100% !important;max-width: 100% !important;border-radius: 5px 5px 0px 0px;}
div#grid .post-item .box-image .image-cover { padding-top: 75% !important;}
div#grid .post-item .box-text { padding: 15px 10px !important; border: 0px;width: 100% !important; max-width: 100% !important; display: block;}
div#grid .post-item .box-text .from_the_blog_excerpt, div#grid .post-item .box-text p { display: none !important;}
div#grid .post-item .box-blog-post .post-title { font-weight: 400; color: #000; margin: 0px; font-size: 17px; min-height: 45px; }
div#grid .post-item .box-blog-post .post-title a { margin: 0px; -webkit-line-clamp: 3; height: 66px; overflow: hidden; display: block;}
div#grid .post-item:hover a { color: #000;}

@media screen and (min-width: 960px) {
  div#grid .post-item { max-width: 33.333% !important; }
}
@media screen and (max-width: 959px) {
  div#grid .post-item { max-width: 50% !important; }
}

/* bài viết liên quan */
div#related_posts h3 span { position: relative; display: block; width: 100%; padding-bottom: 5px; border-bottom: 2px dashed #8c8c8c;}
ul.releted-post { margin: 0 0 18px 0 !important; padding: 0 !important; width: 100%; -js-display: flex; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap;}
ul.releted-post li { overflow: hidden !important; list-style: none !important; break-inside: avoid-column !important; -moz-column-break-inside: avoid !important; -webkit-column-break-inside: avoid !important; -ms-flex-preferred-size: 100%; flex-basis: 100%; margin-bottom: 5px; margin-left: 0px;}
ul.releted-post li a { color: #000; }
ul.releted-post li:hover a { color: #000; }
ul.releted-post li a.img-thumbnai { width: 75px !important; height: 75px !important; overflow: hidden; float: left !important; margin: 0 10px 0 0 !important; padding: 0 !important;}
ul.releted-post li img { display: block !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; background: none !important; border: none !important; float: none !important; border-radius: 3px !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;}

@media screen and (min-width: 800px) {
  ul.releted-post li:nth-child(2n+2) { padding-left: 10px; }
  ul.releted-post li:nth-child(2n+1) { padding-right: 10px; border-right: 1px solid #ccc; }
  ul.releted-post li {max-width: 50%;}
}

@media screen and (max-width: 480px) {
  ul.releted-post { -moz-column-count: auto !important; -moz-column-gap: normal !important; -moz-column-rule: none !important; -webkit-column-count: auto !important; -webkit-column-gap: normal !important; -webkit-column-rule: none !important; column-count: auto !important; column-gap: normal !important; column-rule: none !important;}
}

/* ==============================
   14. Sidebar + Widgets
   ============================== */
/* thanh bên sidebar */
.sidebar .widget { -webkit-box-shadow: none; box-shadow: none; border: 1px solid #e5e5e5; border-radius: 0; background-color: #fff; padding: 12px;}
.sidebar .widget-title { font-weight: 500; display: block; margin: 0 0 8px; color: #111; text-transform: none; font-size: 18px; letter-spacing: 0.04em; padding: 0 0 8px; position: relative; border-bottom: 1px solid #e5e5e5;}
.sidebar .flatsome_recent_posts span.post_comments { display: none !important;}
.sidebar .flatsome_recent_posts a { color: #000; margin: 0px;}
.sidebar .widget_products .star-rating { display: none;}
.sidebar .widget_products .woocommerce-Price-amount { font-size: 14px;}
.sidebar li a { color: #000; font-size: 14px; line-height: inherit !important;}
.widget-lk img { margin-bottom: 5px;}

/* menu sidebar */
.sidebar .menu { border: 1px solid #e5e5e5;}
.sidebar .menu li { border: 0px; position: relative;}
.sidebar .menu li a { display: block; border-bottom: 1px solid #e5e5e5 !important; padding: 10px 12px 10px 20px; position: relative; font-weight: 400; color: #111; font-size: 14px; z-index: 1; line-height: inherit !important;}
.sidebar .menu >li >a { padding-left: 25px;}
.sidebar .menu >li >a:before { content: "\f138"; font-family: Fontawesome; position: absolute; left: 5px;}
.sidebar .menu li a:after { position: absolute; content: ''; top: 0; left: 0; width: 0; height: 100%; background-color: #f5f5f5; transform-origin: left; transition: width 0.25s ease; z-index: -1;}
.sidebar .menu li button.toggle { background: #FFF; position: absolute; margin: 0px; border: 1px solid #ccc; right: 2px; top: 2px; height: 30px; width: 30px; z-index: 9;}
.sidebar .menu .sub-menu { margin: 0px; padding: 0px; border: 0px;}
.sidebar .menu .sub-menu li a { padding-left: 40px;}
.sidebar .menu .sub-menu li a:before { content: "\f0da"; font-family: fontawesome; position: absolute; left: 25px;}
.sidebar .menu .sub-menu .sub-menu a { padding-left: 60px;}
.sidebar .menu .sub-menu .sub-menu a:before { left: 40px;}
.sidebar .menu li a:hover { color: #111 !important;}
.sidebar .menu li a:hover:after { width: 100%;}

/* hotline sidebar */
.gd_support_8 { background: url(image/bg-support08.png)top center no-repeat, #f4f4f4; padding-top: 135px; }
.gd_support_8 .supporter:first-child, .gd_support_8 .supporter:last-child { border-bottom: none;}
.gd_support_8 .supporter { margin: 0 4px; padding: 0; overflow: hidden; position: relative;}
.gd_support_8 .info .name { text-align: center; background: url(image/border3.png) 7px center repeat-x; line-height: 25px;}
.gd_support_8 .info > * { font-size: 14px; color: #000000; font-weight: 600;}
.gd_support_8 .info .name span { display: inline-block; padding: 0 10px; background: #f4f4f4; color: #000000; font-size: 16px; font-weight: 600; line-height: 25px;}
.gd_support_8 .online { position: absolute; right: 15px; bottom: 8px;}
.gd_support_8 .hotline { width: 80%; margin: 0 auto; background: url(image/icon-tel2.png) 3px center no-repeat, #000; border-radius: 20px; margin-bottom: -20px; text-align: center; position: relative; z-index: 1;}
.gd_support_8 .hotline a { font-weight: bold; color: #fff; font-size: 16px; line-height: 38px;}
.gd_support_8 .email { line-height: 50px; text-align: center; background: #000; color: #fff; padding-top: 10px;}

/* ==============================
   15. Footer
   ============================== */
/* footer */
#footer { font-size: 16px;}
#footer .widget-title { color: #000; font-weight: bold; text-transform: uppercase; font-size: 16px; margin-bottom: 15px; display: block;}
#footer .is-divider.small { background: #000; width: 100%; max-width: 100%; height: 2px;}
#footer a { color: #000; }
#footer #footer .widget_nav_menu { margin-bottom: 0px !important; }
#footer .absolute-footer { display: none; }
#footer ul.icon-left li { float: left; }
#footer .menu li { list-style: none; border: 0px; }
#footer .menu li a { display: block; color: #000; font-size: 14px; }
#footer .menu li a:before { content: "\f0da"; font-family: Fontawesome; margin-right: 8px;}
#footer .widget ul.menu li strong { color: red;}
a#top-link { border-color: #d8d2c5; color: #1a1a1a; background: #e8e3d8; display: block !important; visibility: inherit !important; z-index: 999; transition: background .2s ease, color .2s ease, border-color .2s ease; }
a#top-link:hover { background: #d8d2c5; color: #1a1a1a; border-color: #c1b8a4;}
.footer-2 { border-top: 0px; padding-top: 0px; }
#footer .footer-2 >.row { padding-top: 30px; border-top: 0px;}
#footer .footer-1 { position: relative; border-top: 0px; padding-top: 60px; }
#footer a:hover {  color: #f7913e !important;}
.footer-text { background: #fff; color: #000; text-align: center; padding: 10px 5px; font-weight: 600; }

@media screen and (max-width: 959px) {
  a#top-link { bottom: 65px;}
}

/* footer liên hệ */
.contact-footer { color: #000;}
.contact-footer .textwidget { text-align: left; }
.contact-footer h2 { font-size: 18px; color: #000; }
.contact-footer ul { list-style: none; margin: 0px; }
.contact-footer ul li { position: relative; padding-left: 0px; word-break: break-word; margin-bottom: 0px; }

/* bản quyền */
.copyright a { color: #FFF !important; }
.fa-clock:before { content: "\f017"; }
.copyright { margin: 0px; font-size: 12px; background: #000; color: #FFF;padding: 10px; text-align: center; }
.copyright div { max-width: 1370px; margin: auto; }

/* ==============================
   16. Social + Floating Tools
   ============================== */
/* chia sẻ mạng xã hội */
.social-icons.share-icons:before { content: "Share"; bottom: 0px; font-size: 16px; font-weight: bold; margin-right: 20px; color: #000;}
.social-icons.share-icons a { margin-bottom: 0px;}
.social-icons.share-icons { position: relative; background: #e8e8e8; padding: 10px 0px 10px 10px; margin-bottom: 30px; text-align: left; width: 100%;}
.social-icons.share-icons a.icon { font-size: 10px; border-radius: 50% !important; width: 30px !important; height: 30px !important; line-height: 30px;}
a.zalo-share-button { color: #03A5FA !important; line-height: 41px !important; padding-left: 4px !important; }

/* hotline call now */
.animated.infinite { animation-iteration-count: infinite;}
.tada { animation-name: tada;}
.animated { animation-duration: 1s; animation-fill-mode: both; }
.float-icon-hotline { position: fixed; z-index: 999;}
.float-icon-hotline ul { display: block; width: 100%; padding-left: 0; margin-bottom: 0; margin: 0; list-style: none;}
.float-icon-hotline ul li { display: block; width: 45px; height: 45px; position: relative; margin-bottom: 10px; cursor: pointer; padding: 0px; }
.float-icon-hotline ul li a { text-decoration: none;display: block;}
.float-icon-hotline ul li .fa { background-color: #549a04; display: block; width: 45px; height: 45px; text-align: center; line-height: 36px; -moz-box-shadow: 0 0 5px #888; -webkit-box-shadow: 0 0 5px#888; box-shadow: 0 0 5px #888; color: #fff; font-weight: 700; border-radius: 50%; position: relative; z-index: 2; border: 2px solid #fff; font-size: 20px;}
.float-icon-hotline ul li .fa-hotline { background: #70b81e url(image/icon-call.svg) center center no-repeat; }
.float-icon-hotline ul li .fa-zalo { background: #ef0303 url(image/icon-zalo.svg) center center no-repeat; }
.float-icon-hotline ul li .fa-messenger { background: #168efb url(image/icon-messenger.svg) center center no-repeat; }
.float-icon-hotline ul li .fa-facebook { background: #369be5;}
.float-icon-hotline ul li span { display: inline-block; padding: 0; background-color: #ff6a00; color: #fff; border: 2px solid #fff; border-radius: 20px; height: 40px; line-height: 36px; position: absolute; top: 3px; left: 15px;  z-index: 0; width: 0; overflow: hidden; -webkit-transition: all 1s; transition: all 1s; background-color: #ff6a00; -moz-box-shadow: 0 0 5px #888; -webkit-box-shadow: 0 0 5px #888; box-shadow: 0 0 5px #888; font-weight: 400; white-space: nowrap; opacity: 0;}
.float-icon-hotline ul.show-phone .hot-phone span { width: 150px; padding-left: 30px; padding-right: 10px; opacity: 1; text-align: right;}
.float-icon-hotline ul .icon-email span { width: auto; padding-left: 30px; padding-right: 10px; opacity: 1; text-align: right;}

@media only screen and (min-width: 960px) {
  .float-icon-hotline ul li:not(.hot-phone):not(.icon-email):hover span { width: 200px; padding-left: 30px; padding-right: 10px; opacity: 1;}
  .float-icon-hotline { bottom: 20px; left: 25px; }
}

@media only screen and (max-width: 959px) { 
  .float-icon-hotline { bottom: 110px !important ; right: 20px !important; }
}

@keyframes tada {
  0% { transform: scale3d(1,1,1);}
  10%, 20% { transform: scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);}
  30%, 50%, 70%, 90% { transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);}
  40%, 60%, 80% { transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);}
  100% { transform: scale3d(1,1,1);}
}

/* form popup */
a.form-popup-menu { position: fixed; display: block; z-index: 999; color: #FFF; }
a.form-popup-menu span { background: #ff6a00; color: rgb(255, 255, 255) !important; padding: 10px 20px 10px 40px; border-radius: 20px;}
#form-now { max-width: 500px;  background: #18a8e7;  padding: 20px;}
#form-now .form-header {  text-align: center;margin-bottom: 20px;}
#form-now .form-header p { color: #FFF;}
#form-now .form-header h3 {  color: #FFF;  text-transform: uppercase;  margin-bottom: 0px;}
#form-now input[type='email'], #form-now input[type='tel'], #form-now input[type='text'], #form-now textarea {  box-shadow: none;  border: 0px;  background: transparent;  color: #FFF;  border-bottom: 1px solid #FFF;  padding: 0px;}
#form-now textarea { height: 75px !important; min-height: auto;}
#form-now ::placeholder { color: #FFF; background: transparent; }
#form-now .wpcf7-submit {  background-image: -webkit-linear-gradient(bottom, #cc0000, #fb3333) !important; margin: 0px !important;  border-radius: 25px !important;}
#form-now .close-buttom-popup {  top: 0px !important;  color: #FFF !important;  opacity: 1;  mix-blend-mode: unset !important;}

@media screen and (max-width: 959px) { 
	a.form-popup-menu span { display: none;}
}

/* widget mạng xã hội */
.widget_wbt_social_sidebar_widget .content-social { display: inline-block;}
.widget_wbt_social_sidebar_widget .content-social a { position: relative; padding-left: 40px;}
.widget_wbt_social_sidebar_widget .content-social a span { display: none;}
.widget_wbt_social_sidebar_widget .content-social .icon { position: absolute; left: 0px; width: 30px; height: 30px; text-align: center; line-height: 30px; font-size: 15px;border-radius: 100%; }
.widget_wbt_social_sidebar_widget .content-social .icon-facebook { background: #fff; color: #3a589d; }
.widget_wbt_social_sidebar_widget .content-social .icon-youtube { background: #fff; color: #cd222d; }
.widget_wbt_social_sidebar_widget .content-social .icon-twitter { background: #fff; color: #2478ba; }
.widget_wbt_social_sidebar_widget .content-social .icon-instagram { background: #fff; color: #3b6994; }
.widget_wbt_social_sidebar_widget .content-social .icon-pinterest { background: #fff; color: #cb2320; }
.widget_wbt_social_sidebar_widget .content-social .icon-linkedin { background: #fff; color: #0072b7; }
.widget_wbt_social_sidebar_widget .content-social .icon-vk { background: #fff; color: #527498; }
.widget_wbt_social_sidebar_widget .content-social .icon-tiktok { background: #fff; color: #111; }


/* ==============================
   17. Misc
   ============================== */
/* scroll bar */
::-webkit-scrollbar { width: 5px; background-color: #F5F5F5;}
::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); background-color: #F5F5F5;}
::-webkit-scrollbar-thumb { background-color: #000; background-image: -webkit-linear-gradient(45deg,rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent)}

/* ==============================
   18. Home Page
   ============================== */
/* Home: base layout + hero/cta */
.home h1.entry-title { display: none !important;}
.home-page .buttom-click { text-align: center;}
.home-page .buttom-click a.button { display: inline-block; background-color: #2a2a2a; padding: 10px 40px; max-width: 100%; text-transform: uppercase; color: #FFF; border-radius: 2px; font-size: 15px; letter-spacing: 0.1em; font-weight: 500;}
.home .page-header-wrapper { display: none;}
.home-page .col-noidung { padding-bottom: 0px;}
.home-full >.col { max-width: 1400px; margin: auto; flex-basis: 100%;}
.home-section .section-content { max-width: 1200px; margin-left: auto; margin-right: auto;}

/* Home: container frame */
.khung-home { max-width: 1200px; margin-left: auto; margin-right: auto; width: 100%; display: block;background: #FFF;}

/* Home: banners */
.banner-home .img:hover img, .banner-home .box .box-image:hover img { filter: brightness(0.5); }
.banner-home .img-inner:before, .banner-home .box .box-image:before { content: ""; position: absolute; width: 90%; height: 90%; left: 0px; top: 0px; right: 0px; bottom: 0px; background: transparent; z-index: 9; margin: auto; transition: opacity .35s,-webkit-transform .35s; transition: opacity .35s,transform .35s; transition: opacity .35s,transform .35s,-webkit-transform .35s; border-top: 1px solid #fff; border-bottom: 1px solid #fff; -webkit-transform: scale(0, 1);  transform: scale(0, 1); -webkit-transform-origin: 0 0; transform-origin: 0 0;}
.banner-home .img-inner:after, .banner-home .box .box-image:after { content: ""; position: absolute; width: 90%; height: 90%; left: 0px; top: 0px;    right: 0px; bottom: 0px; background: transparent; z-index: 9; margin: auto; transition: opacity .35s,-webkit-transform .35s; transition: opacity .35s,transform .35s; transition: opacity .35s,transform .35s,-webkit-transform .35s; border-right: 1px solid #fff; border-left: 1px solid #fff; -webkit-transform: scale(1, 0); transform: scale(1, 0); -webkit-transform-origin: 0 0; transform-origin: 0 0;}
.banner-home .img:hover .img-inner:before, .banner-home .img:hover .img-inner:after, .banner-home .box:hover .box-image:before, .banner-home .box:hover .box-image:after { opacity: 1; -webkit-transform: scale(1); transform: scale(1);}
.banner-home .col { padding-bottom: 10px;}
.home-image1 { max-width: 1400px; margin-left: auto; margin-right: auto; margin-top: 20px;}

/* Home: full-width sections */
.home-full .section-content { max-width: 1400px; margin-left: auto; margin-right: auto;}

/* Home: section title (style 1) */
.home-page .tieude1 { max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; border-bottom: 1px solid #e6e1d8; padding: 0px; }
.home-page .tieude1 .section-title b { visibility: hidden;}
.home-page .tieude1 .section-title { margin-bottom: 5px; border: 0px;}
.home-page .tieude1 .section-title .section-title-main { border: 0px; padding: 0px; margin: 0px; position: relative; font-size: 19px; color: #1a1a1a; text-transform: uppercase; font-weight: 500; letter-spacing: 0.1em; }

@media screen and (min-width: 960px) {

}
@media screen and (max-width: 959px) { 

}

/* Home: section title (style 2) */
.home-page .tieude {text-align: center; margin-bottom: 30px; max-width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; }
.home-page .tieude h2 { color: #1a1a1a; text-transform: uppercase; margin-bottom: 0px; font-weight: 500; letter-spacing: 0.12em;}
.home-page .tieude p { margin: 0 auto; font-size: 16px;}
.home-page .tieude p:before {
    content: '';
    border-width: 2px;
    border-top-style: solid;
    display: inline-block;
    width: 2rem;
    font-size: inherit;
    margin-bottom: .2857em;
    margin-left: 8px;
    margin-right: 8px;
}
.home-page .tieude p:after {
    content: '';
    border-width: 2px;
    border-top-style: solid;
    display: inline-block;
    width: 2rem;
    font-size: inherit;
    margin-bottom: .2857em;
    margin-left: 8px;
    margin-right: 8px;
}


@media screen and (min-width: 960px) {
  .home-page .tieude h2 { font-size: 35px; }
}
@media screen and (max-width: 959px) { 
  .home-page .tieude h2 { font-size: 25px; }
}

/* Home: category menu bar */
.listgroup {
    margin-bottom: 25px;
    width: 100%;
    border-bottom: 1px solid #e1e1e1;
    position: relative;
}
.listgroup .namegroup {
    background: #f0ece5;
    padding: 5px 15px;
    font-size: 18px;
    position: relative;     text-transform: uppercase;
    font-weight: 500; color: #1a1a1a; letter-spacing: 0.08em;
}
.listgroup .namegroup span {
    padding-left: 20px;
    position: relative;
}
.listgroup .namegroup span:before {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 5px;
    height: 100%;
    background: #8a7f6e;
    transform: rotate(15deg);
}
.listgroup .namegroup span:after {
    content: "\f0d7";
    font-family: 'FontAwesome';
    color: #000;
    margin-left: 10px;
}
.listgroup .menugroup a {
    color: #000;
    font-size: 16px;
    padding: 0 10px; position: relative; text-transform: uppercase;
}
.listgroup .menugroup a~a {
    border-left: 1px solid #e1e1e1;
}

@media screen and (min-width: 960px) {
  .listgroup { flex-direction: unset; align-items: end; justify-content: space-between; display: flex;}
  .listgroup .namegroup { margin-right: 30px  !important;}
  .listgroup .namegroup:after { content: ""; width: 20px; height: 100%; position: absolute; bottom: 0px; right: -15px; border-right: 15px solid transparent; border-bottom: 42px solid #f0ece5;}
}
@media screen and (max-width: 959px) { 
  .listgroup { display: block;}
  .listgroup .namegroup { margin: 0px 0px 10px  !important;}
}

.flickity-slider .img {
    padding-left: 7px !important;
    padding-right: 7px !important;
}

/* =========================================================
   Home: Product Categories (Tabs & 5-Column Grid)
   ========================================================= */

/* 1. Category Title Styling (Must add class 'category-main-title' to the text element in UX Builder) */
.home-productcategories .tabbed-content h4 {
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
    color: #1a1a1a !important;
    text-align: left !important;
    letter-spacing: 0.12em !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
}

/* 2. Tab Navigation Bar Container */
.home-productcategories ul.nav {
    background: #f0ece5 !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 50px !important; /* Fully rounded ends look slimmer */
    display: flex !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    min-height: 36px !important; /* Explicitly limit the height */
}

/* 3. Make each tab stretch evenly */
.home-productcategories ul.nav li.tab {
    flex: 1 !important; 
    margin: 0 !important;
    list-style: none !important;
}

/* 4. Default (Inactive) Tab Styling */
.home-productcategories ul.nav li.tab a {
    display: block !important; 
    width: 100% !important;
    box-sizing: border-box;
    text-transform: unset !important;
    font-weight: 400 !important;
    color: #000 !important;
    padding: 6px 5px !important; /* Reduced from 10px to 6px for a slimmer look */
    font-size: 14px !important; /* Slightly smaller text feels more "Japanese style" */
    line-height: 20px !important;
    border-radius: 50px !important;
    transition: all 0.3s ease;
    text-align: center !important; 
}

/* 5. Hover & Active State */
.home-productcategories ul.nav li.tab:not(.active) a:hover {
    background-color: #e6e1d8 !important;
}
.home-productcategories ul.nav li.tab.active a {
    color: #fff !important;
    background-color: #2a2a2a !important;
    border: none !important;
}

/* =========================================================
   The 5-Column CSS Grid Fix
   ========================================================= */

/* 6. Force the Row into a perfect 5-column Grid */
.home-productcategories .panel .row {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important; /* Space between items */
    width: 100% !important;
    max-width: 100% !important;
    margin: 40px 0 0 0 !important; /* Breathing room below tabs */
}

/* 7. Strip away Flatsome's native flexbox behavior */
.home-productcategories .panel .row > .col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important; 
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   ANTI-FATNESS & CENTERING MAGIC
   ========================================================= */

/* 8. Make images smaller and center them perfectly */
.home-productcategories .panel .row .box-image {
    text-align: center !important;
    margin-bottom: 15px !important; /* Space between image and text */
}

.home-productcategories .panel .row .box-image img {
    max-width: 120px !important; /* DECREASE THIS if they still look too fat */
    height: auto !important;
    margin: 0 auto !important;
    display: inline-block !important;
}

/* 9. Force the text below the images to center */
.home-productcategories .panel .row .box-text,
.home-productcategories .panel .row .box-text * {
    text-align: center !important;
    font-size: 14px !important; /* Smaller, cleaner text like the reference */
    color: #555 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   Mobile Responsiveness
   ========================================================= */

@media (max-width: 849px) { 
  .home-productcategories .panel .row {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 549px) { 
  .home-productcategories .panel .row {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-productcategories ul.nav {
      flex-wrap: wrap !important;
      border-radius: 15px !important;
  }
  .home-productcategories ul.nav li.tab {
      flex: 1 1 30% !important; 
  }
}

/* =========================================================
   Mobile Responsiveness
   ========================================================= */

/* Tablet: 3 Columns */
@media (max-width: 849px) { 
  .home-productcategories .tabbed-content .tab-panels .tab-panel .row {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 20px 12px;
  }
}

/* Mobile: 2 Columns */
@media (max-width: 549px) { 
  .home-productcategories .tabbed-content .tab-panels .tab-panel .row {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 16px 10px;
  }
  
  /* Adjust tabs for mobile so they don't squish too much */
  .home-productcategories .tabbed-content ul.nav {
      flex-wrap: wrap; /* Allows tabs to stack into multiple rows on tiny screens */
      border-radius: 15px;
  }
  .home-productcategories .tabbed-content ul.nav .tab {
      flex: 1 1 30%; /* Forces them to be wider on mobile */
  }
}

/* Home: projects/posts list */
.home-duan { margin-bottom:0px;}
.home-duan .post-item .box-text { padding: 15px 0px 10px;}
.home-duan .post-item .post-title { line-height: initial; font-weight: 400; color: #000;}
.home-duan .post-item .post-title a.plain { margin: 0px; font-size: 16px;}

/* Home: products (best sellers) */
/* Section title (match new products) */
.home-bestselling .product-small .box-text .add-to-cart-button a,
.home-bestselling .product-small .box-text .add-to-cart-button,
.home-bestselling .section-content h2,
.home-bestselling .text h2 {
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
    color: #1a1a1a !important;
    letter-spacing: 0.12em !important;
    text-align: left !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
}

/* Card layout (match new products) */
.home-bestselling .product-small {
    padding: 0px;
}
.home-bestselling .product-small .col-inner {
    height: 100%;
    background: #fff;
    position: relative;
    border: 1px solid #e6e1d8 !important;
    border-radius: 2px;
    overflow: hidden;
    transition: none !important;
}
.home-bestselling .product-small .box {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: none !important;
}
/* Disable hover float/animation */
.home-bestselling .product-small:hover,
.home-bestselling .product-small .col-inner:hover,
.home-bestselling .product-small .box:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Image container */
.home-bestselling .product-small .box-image {
    overflow: hidden;
    background: #faf8f5;
    padding: 12px;
    border-bottom: 1px solid #e6e1d8;
}
.home-bestselling .product-small .box-image .image-cover {
    padding-top: 100% !important;
}
.home-bestselling .product-small .box-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: none !important;
    transition: none !important;
}
.home-bestselling .product-small:hover .box-image img {
    transform: none !important;
}

/* Text layout */
.home-bestselling .product-small .box-text {
    padding: 10px 12px 14px;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left;
}
.home-bestselling .product-small .product-title {
    text-align: left;
    margin: 0px 0px 6px;
    min-height: 2.4em;
}
.home-bestselling .product-small .product-title a {
    margin: 0px;
    color: #000;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
    display: block;
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Price wrapper (match new products) */
.home-bestselling .product-small .price-wrapper {
    margin-top: auto;
    font-size: 15px;
    font-weight: bold;
    text-align: left;
    color: #000;
    display: block;
    width: 100%;
    min-height: 2.8em;
}
.home-bestselling .product-small .price-wrapper .woocommerce-Price-amount {
    font-size: inherit;
    color: #000;
    display: block;
    text-align: left;
}
.home-bestselling .product-small .price,
.home-bestselling .product-small .woocommerce-Price-amount {
    text-align: left !important;
    display: block;
}
.home-bestselling .product-small .price {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 2.8em;
}

/* Stock line */
.home-bestselling .in-stock,
.home-bestselling .out-of-stock {
    font-size: 12px !important;
    margin-top: 4px !important;
}
.home-bestselling .in-stock { color: #2e7d32 !important; }
.home-bestselling .out-of-stock { color: #c62828 !important; }

/* Hide badges and add-to-cart */
.home-bestselling .badge-container,
.home-bestselling .add-to-cart-button {
    display: none !important;
}

/* Home: products (new products) */
.home-newproducts .product-small .box-text .add-to-cart-button a,
.home-newproducts .product-small .box-text .add-to-cart-button,

.home-newproducts .section-content h2,
.home-newproducts .text h2 {
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
    color: #1a1a1a !important;
    letter-spacing: 0.12em !important;
    text-align: left !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
}

.home-newproducts >.row {
    background: #FFF;
    padding: 15px 5px 0px;
}
.home-newproducts >.col {
    padding-bottom: 0px;
}
.home-newproducts .product-small {
    padding: 0px;
}

/* Updated .col-inner with minimal styling and position: relative for the badge */
.home-newproducts .product-small .col-inner {
    height: 100%;
    background: #fff;
    border: 1px solid #e6e1d8;
    border-radius: 2px;
    /* REQUIRED for the "NEW" tag absolute positioning */
    position: relative;
}

.home-newproducts .product-small .box {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Sharp, square corners for image container */
.home-newproducts .product-small .box-image {
    overflow: hidden;
    background: #faf8f5;
}

.home-newproducts .product-small .box-image .image-cover {
    padding-top: 100% !important;
}
.home-newproducts .product-small .box-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-newproducts .product-small .box-image a {
    display: block;
}

/* Box Text - left align */
.home-newproducts .product-small .box-text {
    padding: 10px 0px 4px;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left;
}

/* Product Title - Left align, clean text wrapping */
.home-newproducts .product-small .product-title {
    text-align: left;
    margin: 0px 0px 6px;
    min-height: 18px;
}

.home-newproducts .product-small .product-title a {
    margin: 0px;
    color: #000;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
    display: block;
    width: 100%;

    /* Multiline Truncation to prevent overflow and keep text wrapping
       This approach limits the title to 2 lines and adds an ellipsis.
       This is safer than a long, single-line name. */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Number of lines to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Price Wrapper - Bold, left align, and black color override */
.home-newproducts .product-small .price-wrapper {
    margin-top: auto;
    font-size: 15px;
    font-weight: bold;
    text-align: left;
    /* ADDED: Override global color to black */
    color: #000;
}
.home-newproducts .product-small .price-wrapper .woocommerce-Price-amount {
    font-size: inherit;
    /* ADDED: Ensure amount is also black */
    color: #000;
}

/* Media queries remain unchanged */
.home-newproducts .col-noidung .section-right {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
@media only screen and (min-width: 960px) {
    .home-newproducts .col-noidung .section-right {
        max-width: 74%;
        margin-right: 0px;
        margin-left: auto;
    }
}
@media only screen and (max-width: 959px) {
    .home-newproducts .section-left {
        display: none !important;
    }
    .home-newproducts .section-right {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}

/* ==========================================================
   ADDED: New Product Tag
========================================================== */

/* This CSS creates and positions the red "NEW" tag.
   It relies on 'position: relative' being set on '.product-small .col-inner'.
   Add <span class="product-badge-new">NEW</span> to your HTML inside the image block. */
.home-newproducts .product-small .col-inner .product-badge-new {
    background: #2a2a2a;
    color: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 8px;
    line-height: 1;
    z-index: 10;
}

/* =========================================================
   Trust Signals Row: Centering & Sizing (Updated)
   ========================================================= */

/* 1. Kill Flatsome's text-left classes and force center */
.trust-signals-row .col-inner.text-left,
.trust-signals-row .icon-box.text-left {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 2. Center the wrapper and override Flatsome's 60px inline limit */
.trust-signals-row .icon-box-img {
    margin: 0 auto 12px auto !important; 
    display: flex !important;
    justify-content: center !important;
    width: 100% !important; /* Overrides the inline 60px so your 70px img fits */
}

/* 3. Your custom image styling */
.trust-signals-row .icon-box-img img {
    max-width: 50px !important;
    width: 50px !important;
    height: auto !important;
    opacity: 0.77 !important; 
    display: block !important;
}

/* 4. Target the specific H3 tag you are using and center it */
.trust-signals-row .icon-box-text h3 {
    font-size: 13px !important;
    color: #6b6256 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    margin: 0 auto !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
    width: 100% !important;
}

/* 5. Disable Clicking */
.trust-signals-row .col,
.trust-signals-row .icon-box {
    cursor: default !important;
    pointer-events: none !important;
}

/* =========================================================
   Gallery Slider: Shrink uncropped images
   ========================================================= */

.gallery-slider .section-content h2,
.gallery-slider .text h2,
.home-scene .section-content h2,
.home-scene .text h2 {
    font-size: 20px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
    color: #1a1a1a !important;
    letter-spacing: 0.12em !important;
    text-align: left !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e6e1d8 !important;
}

/* Target only the images inside our specific slider */
.gallery-slider .flickity-slider .img-inner img {
    max-width: 1000px !important; /* Adjust this number to squeeze it smaller or larger */
    width: 100% !important; /* Ensures it shrinks beautifully on mobile */
    height: auto !important; /* Keeps the perfect aspect ratio (no cropping!) */
    margin: 0 auto !important; /* Centers the image in the middle of the screen */
    display: block !important;
}

/* Ensure the wrapper doesn't force a dark background if the image shrinks */
.gallery-slider .img-inner {
    background-color: transparent !important; 
}


/* Make the sliding movement feel more fluid */
.gallery-slider .flickity-viewport,
.home-scene .flickity-viewport {
    transition: height 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.gallery-slider .flickity-slider,
.home-scene .flickity-slider {
    /* This adds a smoother hardware-accelerated feel */
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

/* Banner text: move to bottom-left and improve readability */
.gallery-slider .banner .text-box,
.gallery-slider .banner .banner-layer,
.gallery-slider .banner .box-text,
.home-scene .banner .text-box,
.home-scene .banner .banner-layer,
.home-scene .banner .box-text {
    top: auto !important;
    right: auto !important;
    bottom: 16px !important;
    left: 16px !important;
    transform: none !important;
    text-align: left !important;
}
.gallery-slider .banner .text-box .text,
.gallery-slider .banner .banner-layer .text,
.gallery-slider .banner .box-text,
.home-scene .banner .text-box .text,
.home-scene .banner .banner-layer .text,
.home-scene .banner .box-text {
    background: rgba(0, 0, 0, 0.45);
    color: #fff !important;
    padding: 8px 12px;
    display: inline-block;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}
.gallery-slider .banner .text-box .text *,
.gallery-slider .banner .banner-layer .text *,
.gallery-slider .banner .box-text *,
.home-scene .banner .text-box .text *,
.home-scene .banner .banner-layer .text *,
.home-scene .banner .box-text * {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

.entry-content strong {
    display: block;
    margin-top: 5px; /* Adds a tiny bit of space above each label */
}

/* ==============================
   19. Footer Contact Button
   ============================== */

/* Neutralise Flatsome's orange primary-colour hover on the footer outline button */
footer .button.is-outline,
.flatsome-footer .button.is-outline,
#footer .button.is-outline {
    border-color: #2a2a2a;
    color: #2a2a2a;
    display: block;
    width: fit-content;
    margin: 10px auto 0;
}
footer .button.is-outline:hover,
.flatsome-footer .button.is-outline:hover,
#footer .button.is-outline:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
    color: #fff !important;
}

/* ==============================
   20. Clean Policy / Info Pages
   ============================== */

/* Hero bar */
.pg-clean__hero {
    background: #f5f4f1;
    padding: 36px 0 28px;
    margin-bottom: 0;
}
.pg-clean__hero-inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Page title */
.pg-clean__title {
    font-size: 22px;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin: 0 0 0;
    padding: 0;
    border: none;
    position: relative;
    display: inline-block;
}
.pg-clean__title::after {
    content: '';
    display: block;
    width: 28px;
    height: 2px;
    background: #b0a89a;
    margin-top: 10px;
}

/* Content wrapper */
.pg-clean__wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}
.pg-clean__body {
    font-size: 15px;
    line-height: 1.85;
    color: #2a2a2a;
    text-align: left !important;
}

/* Headings inside content */
.pg-clean__body h2,
.pg-clean__body h3,
.pg-clean__body h4 {
    font-weight: 600;
    color: #1a1a1a;
    margin-top: 32px;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
}
.pg-clean__body h2 { font-size: 17px; text-transform: uppercase; }
.pg-clean__body h3 { font-size: 15px; }

/* Links */
.pg-clean__body a {
    color: #2a2a2a;
    text-decoration: underline;
    text-decoration-color: #bbb;
    text-underline-offset: 3px;
}
.pg-clean__body a:hover {
    color: #1a1a1a;
    text-decoration-color: #555;
}

/* Lists */
.pg-clean__body ul,
.pg-clean__body ol {
    padding-left: 20px;
    margin: 10px 0 18px;
}
.pg-clean__body li { margin-bottom: 6px; }

/* Tables */
.pg-clean__body table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 14px;
}
.pg-clean__body table th,
.pg-clean__body table td {
    padding: 10px 14px;
    border: 1px solid #e0ddd8;
    text-align: left;
    vertical-align: top;
}
.pg-clean__body table th {
    background: #f5f4f1;
    font-weight: 600;
    color: #1a1a1a;
}
.pg-clean__body table tr:nth-child(even) td { background: #faf9f7; }

/* Horizontal rule */
.pg-clean__body hr {
    border: none;
    border-top: 1px solid #e0ddd8;
    margin: 30px 0;
}

@media only screen and (max-width: 48em) {
    .pg-clean__hero { padding: 24px 0 20px; }
    .pg-clean__title { font-size: 18px; }
    .pg-clean__wrap { padding: 28px 16px 48px; }
    .pg-clean__body { font-size: 14px; }
}

/* ==============================
   21. Contact Page (Liên Hệ)
   ============================== */

.pg-contact {
    background: #faf9f7;
    min-height: 60vh;
}

/* Hero */
.pg-contact__hero {
    background: #faf9f7;
    padding: 36px 20px 28px;
    text-align: center;
    border-bottom: 1px solid #e8e4de;
}
.pg-contact__hero-inner {
    max-width: 640px;
    margin: 0 auto;
}
.pg-contact__title {
    font-size: 30px;
    font-weight: 400;
    color: #0d0d0d;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.2;
}

/* Outer wrapper */
.pg-contact__outer {
    max-width: 1040px;
    margin: 0 auto;
    padding: 64px 28px 96px;
}

/* Two-column grid */
.pg-contact__grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 72px;
    align-items: start;
}

/* Section label */
.pg-contact__section-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #151312;
    margin: 0 0 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e8e4de;
    line-height: 1;
}

/* Info column */
.pg-contact__info {
    position: sticky;
    top: 100px;
}

/* Definition list */
.pg-contact__dl {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-contact__dl-row {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #f0ece7;
    align-items: baseline;
}
.pg-contact__dl-row:first-child { padding-top: 0; }
.pg-contact__dl dt {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1e1c1b;
    margin: 0;
    padding: 0;
    line-height: 1.65;
    padding-top: 2px;
}
.pg-contact__dl dd {
    font-size: 18px;
    color: #0d0d0d;
    line-height: 1.8;
    margin: 0;
    padding: 0;
}
.pg-contact__dl dd small {
    display: block;
    font-size: 14px;
    color: #4e4944;
    letter-spacing: 0.04em;
    margin-top: 4px;
    font-weight: 400;
}
.pg-contact__dl dd a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 1px solid #d6cfc8;
    padding-bottom: 1px;
    transition: border-color 0.2s ease;
}
.pg-contact__dl dd a:hover {
    border-color: #1a1a1a;
}

/* Map column */
.pg-contact__map-col {
    min-width: 0;
}
.pg-contact__map-wrap {
    overflow: hidden;
    border: 1px solid #e8e4de;
    background: #f0ece7;
}
.pg-contact__map-wrap iframe {
    display: block;
    filter: grayscale(20%) contrast(0.95);
}

/* Mobile */
@media only screen and (max-width: 768px) {
    .pg-contact__hero { padding: 28px 20px 22px; }
    .pg-contact__title { font-size: 25px; }
    .pg-contact__outer { padding: 40px 20px 56px; }
    .pg-contact__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .pg-contact__info { position: static; }
    .pg-contact__dl-row { grid-template-columns: 76px 1fr; gap: 12px; }
    .pg-contact__map-wrap iframe { height: 260px; }
}

/* ==============================
   22. About Page (Giới Thiệu)
   ============================== */

.pg-about {
    background: #faf9f7;
}

/* Hero */
.pg-about__hero {
    background: #faf9f7;
    padding: 36px 20px 28px;
    text-align: center;
    border-bottom: 1px solid #e8e4de;
}
.pg-about__hero-inner {
    max-width: 720px;
    margin: 0 auto;
}
.pg-about__title {
    font-size: 30px;
    font-weight: 400;
    color: #0d0d0d;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.2;
}

/* Outer wrapper */
.pg-about__outer {
    max-width: 720px;
    margin: 0 auto;
    padding: 56px 28px 96px;
}

/* Brand intro paragraph */
.pg-about__intro {
    font-size: 19px;
    line-height: 1.95;
    color: #151515;
    padding-bottom: 48px;
    border-bottom: 1px solid #e8e4de;
}
.pg-about__intro em {
    font-style: italic;
    color: #0d0d0d;
}

/* Sections */
.pg-about__section {
    padding: 44px 0;
    border-bottom: 1px solid #e8e4de;
}
.pg-about__section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Section heading */
.pg-about__section-heading {
    display: flex;
    align-items: baseline;
    gap: 14px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0d0d0d;
    margin: 0 0 30px;
    padding: 0;
    border: none;
}
.pg-about__section-num {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: #504a44;
    flex-shrink: 0;
}

/* Body text */
.pg-about__text {
    font-size: 18px;
    line-height: 1.88;
    color: #151515;
}
.pg-about__text p { margin-bottom: 14px; }
.pg-about__text p:last-child { margin-bottom: 0; }
.pg-about__text strong { color: #0d0d0d; font-weight: 600; }

/* Definition list (business identity) */
.pg-about__dl {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-about__dl-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #f0ece7;
    align-items: baseline;
}
.pg-about__dl-row:first-child { padding-top: 0; }
.pg-about__dl-row:last-child { border-bottom: none; padding-bottom: 0; }
.pg-about__dl dt {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1e1c1b;
    margin: 0;
    padding: 0;
    line-height: 1.65;
    padding-top: 2px;
}
.pg-about__dl dd {
    font-size: 18px;
    color: #0d0d0d;
    line-height: 1.78;
    margin: 0;
    padding: 0;
}
.pg-about__dl dd a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 1px solid #d6cfc8;
    padding-bottom: 1px;
    transition: border-color 0.2s ease;
}
.pg-about__dl dd a:hover { border-color: #1a1a1a; }

/* Policy / interaction list */
.pg-about__policy-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pg-about__policy-list li {
    font-size: 18px;
    line-height: 1.85;
    color: #151515;
    padding: 16px 0 16px 22px;
    border-bottom: 1px solid #f0ece7;
    position: relative;
}
.pg-about__policy-list li:first-child { padding-top: 0; }
.pg-about__policy-list li:last-child { border-bottom: none; padding-bottom: 0; }
.pg-about__policy-list li::before {
    content: '—';
    position: absolute;
    left: 0;
    top: 16px;
    font-size: 14px;
    color: #504a44;
    line-height: 1.85;
}
.pg-about__policy-list li:first-child::before { top: 0; }
.pg-about__policy-list strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #0d0d0d;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.pg-about__policy-list a {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 1px solid #d6cfc8;
    padding-bottom: 1px;
    transition: border-color 0.2s ease;
}
.pg-about__policy-list a:hover { border-color: #1a1a1a; }

/* Closing statement */
.pg-about__closing {
    font-size: 18px;
    color: #2d2a28;
    margin-top: 32px;
    margin-bottom: 0;
    line-height: 1.85;
    font-style: italic;
}

/* Mobile */
@media only screen and (max-width: 48em) {
    .pg-about__hero { padding: 28px 20px 22px; }
    .pg-about__title { font-size: 25px; }
    .pg-about__outer { padding: 40px 20px 60px; }
    .pg-about__intro { font-size: 16px; padding-bottom: 36px; }
    .pg-about__section { padding: 36px 0; }
    .pg-about__dl-row { grid-template-columns: 90px 1fr; gap: 12px; }
    .pg-about__text,
    .pg-about__policy-list li { font-size: 16px; }
}

/* ==============================
   23. Track Order Page (Theo Dõi Đơn)
   ============================== */

.pg-track {
    background: #faf9f7;
    min-height: 60vh;
}

/* Hero */
.pg-track__hero {
    background: #faf9f7;
    padding: 36px 20px 28px;
    text-align: center;
    border-bottom: 1px solid #e8e4de;
}
.pg-track__hero-inner {
    max-width: 640px;
    margin: 0 auto;
}
.pg-track__title {
    font-size: 30px;
    font-weight: 400;
    color: #0d0d0d;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.2;
}

/* Outer wrapper */
.pg-track__outer {
    max-width: 640px;
    margin: 0 auto;
    padding: 56px 28px 96px;
}

/* Body wrapper */
.pg-track__body {
    font-size: 18px;
    line-height: 1.85;
    color: #151515;
}

/* ---- Form ---- */
.tcuh-form {
    margin: 0;
}
.tcuh-form__field {
    margin-bottom: 22px;
}
.tcuh-form__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #1e1c1b;
    margin-bottom: 9px;
}
.tcuh-form input[type="text"],
.tcuh-form input[type="email"],
.tcuh-form input[type="tel"] {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d8d4ce;
    border-radius: 0;
    font-size: 17px;
    color: #0d0d0d;
    padding: 12px 16px;
    outline: none;
    -webkit-appearance: none;
    transition: border-color 0.2s ease;
}
.tcuh-form input:focus {
    border-color: #504a44;
}
.tcuh-form input[type="submit"] {
    display: block;
    width: 100%;
    background: #0d0d0d;
    color: #faf9f7;
    border: 1px solid #0d0d0d;
    border-radius: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 15px 40px;
    cursor: pointer;
    margin-top: 8px;
    transition: background 0.2s ease, color 0.2s ease;
}
.tcuh-form input[type="submit"]:hover {
    background: #faf9f7;
    color: #0d0d0d;
}

/* ---- Result block ---- */
.tcuh-result {
    border-top: 1px solid #e8e4de;
    padding-top: 40px;
    margin-top: 40px;
}
.tcuh-result__title {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #1e1c1b;
    margin: 0 0 28px;
    padding: 0;
    border: none;
}

/* ---- Meta list ---- */
.tcuh-meta {
    list-style: none;
    margin: 0 0 36px;
    padding: 0;
}
.tcuh-meta li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid #f0ece7;
}
.tcuh-meta li:first-child { padding-top: 0; }
.tcuh-meta li:last-child  { border-bottom: none; }
.tcuh-meta__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #1e1c1b;
    flex-shrink: 0;
}
.tcuh-meta__value {
    font-size: 17px;
    color: #151515;
    text-align: right;
}

/* ---- Status badge ---- */
.tcuh-status {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid currentColor;
}
.tcuh-status--pending         { color: #888; }
.tcuh-status--processing      { color: #0073aa; }
.tcuh-status--dang-giao-hang  { color: #c47a00; }
.tcuh-status--completed       { color: #2e7d32; }
.tcuh-status--cancelled       { color: #c62828; }
.tcuh-status--refunded        { color: #7b2d8b; }
.tcuh-status--failed          { color: #0d0d0d; }

/* ---- Items heading ---- */
.tcuh-items__heading {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #1e1c1b;
    margin: 0 0 16px;
    padding: 0;
}

/* ---- Products table ---- */
.tcuh-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}
.tcuh-table th {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #1e1c1b;
    padding: 11px 0;
    border-bottom: 1px solid #d8d4ce;
    text-align: left;
    background: transparent;
}
.tcuh-table td {
    padding: 14px 0;
    border-bottom: 1px solid #f0ece7;
    color: #151515;
    vertical-align: top;
}
.tcuh-table tr:last-child td { border-bottom: none; }

/* ---- Error ---- */
.tcuh-error {
    font-size: 16px;
    color: #151515;
    border-left: 2px solid #c62828;
    padding: 12px 16px;
    background: #fdf6f6;
    margin: 0;
}

/* Mobile */
@media only screen and (max-width: 48em) {
    .pg-track__hero  { padding: 28px 20px 22px; }
    .pg-track__title { font-size: 25px; }
    .pg-track__outer { padding: 40px 20px 60px; }
    .tcuh-form input[type="text"],
    .tcuh-form input[type="email"],
    .tcuh-form input[type="tel"] { font-size: 16px; padding: 11px 14px; }
    .tcuh-meta__value { font-size: 15px; }
    .tcuh-table { font-size: 14px; }
}

/* ==============================
   24. Product Page — Minimal Restyle
   ============================== */

/* Breadcrumb bar */
.single-product .page-title {
    background: #faf9f7 !important;
    border-bottom: 1px solid #e8e4de !important;
    margin-bottom: 0 !important;
}

/* Main product background */
.khungweb .khung-noidung {
    background: #faf9f7 !important;
}

/* ═══════════════════════════════════════════════════════
   GALLERY  —  main slider full-width + bottom horizontal thumbnail strip
   ═══════════════════════════════════════════════════════ */

/* Outer container: plain block so gallery and thumb strip stack vertically */
.single-product .product-gallery-outer {
    display: block !important;
    width: 100% !important;
}

/* ── Main gallery wrapper ───────────────────────────── */

.single-product .woocommerce-product-gallery {
    background: #faf9f7 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    /* flex column so slider (flex:1) fills the aspect-ratio height */
    display: flex !important;
    flex-direction: column;
    aspect-ratio: 1 / 1;
    margin-bottom: 0 !important;
}

.single-product .product-gallery-slider {
    position: relative;
    width: 100%;
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
}
/* Flickity viewport fills the slider absolutely */
.single-product .product-gallery-slider .flickity-viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    cursor: default !important;
}
.single-product .product-gallery-slider .flickity-slider                         { height: 100%; }
.single-product .product-gallery-slider .woocommerce-product-gallery__image      { width: 100% !important; height: 100%; }
.single-product .product-gallery-slider .woocommerce-product-gallery__image > a  { display: block !important; width: 100% !important; height: 100% !important; }
.single-product .product-gallery-slider .woocommerce-product-gallery__image img  { width: 100% !important; height: 100% !important; object-fit: contain !important; display: block !important; border-radius: 0 !important; }

/* Prev/next arrows — fade in on hover, CSS chevron replaces SVG */
.single-product .product-gallery-slider .flickity-prev-next-button {
    width: 40px;
    height: 40px;
    background: rgba(20,20,20,0.50) !important;
    border: none !important;
    border-radius: 50%;
    box-shadow: none;
    opacity: 0;
    transition: opacity 0.22s ease, background 0.16s ease;
}
.single-product .product-gallery-slider:hover .flickity-prev-next-button            { opacity: 1; }
.single-product .product-gallery-slider .flickity-prev-next-button:hover            { background: rgba(20,20,20,0.80) !important; }
.single-product .product-gallery-slider .flickity-prev-next-button .flickity-button-icon { display: none !important; }
.single-product .product-gallery-slider .flickity-prev-next-button::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 10px; height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    border-radius: 1px;
}
.single-product .product-gallery-slider .flickity-prev-next-button.previous::before { transform: translate(-30%,-50%) rotate(-135deg); }
.single-product .product-gallery-slider .flickity-prev-next-button.next::before     { transform: translate(-70%,-50%) rotate(45deg); }
.single-product .product-gallery-slider .flickity-prev-next-button.previous { left: 12px; }
.single-product .product-gallery-slider .flickity-prev-next-button.next     { right: 12px; }

/* Hide zoom/lightbox tool overlays */
.single-product .woocommerce-product-gallery .image-tools { display: none !important; }

/* ── Bottom thumbnail strip — native horizontal scroll slider ── */

.single-product .product-thumbnails-bottom {
    margin-top: 10px;
    width: 100%;
}

/* The scroller: flex row with horizontal overflow + slim scrollbar */
.single-product .product-thumbnails-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 8px;                 /* gives the scrollbar its own space */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #c9c3ba #ece8e1;
    cursor: grab;
}
.single-product .product-thumbnails-scroll.is-dragging { cursor: grabbing; scroll-behavior: auto; }

/* Slim scrollbar (WebKit/Chromium) */
.single-product .product-thumbnails-scroll::-webkit-scrollbar              { height: 6px; }
.single-product .product-thumbnails-scroll::-webkit-scrollbar-track        { background: #ece8e1; border-radius: 3px; }
.single-product .product-thumbnails-scroll::-webkit-scrollbar-thumb        { background: #c9c3ba; border-radius: 3px; }
.single-product .product-thumbnails-scroll::-webkit-scrollbar-thumb:hover  { background: #b3aca1; }

/* Each tile: 5 visible at a time (5 tiles + 4 gaps), stretches with container */
.single-product .product-thumbnails-scroll .col {
    flex: 0 0 calc((100% - 32px) / 5) !important;
    max-width: calc((100% - 32px) / 5) !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
/* Tile frame */
.single-product .product-thumbnails-scroll .col a {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border: 2px solid #e4e0d9 !important;
    border-radius: 3px !important;
    cursor: pointer;
    transition: border-color 0.2s ease;
    -webkit-user-drag: none;
}
.single-product .product-thumbnails-scroll .col a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border: none !important;
    border-radius: 0 !important;
    opacity: 0.72;
    transform: none !important;
    transition: opacity 0.2s ease;
    -webkit-user-drag: none;
    user-select: none;
}
.single-product .product-thumbnails-scroll .col a:hover img           { opacity: 0.90; }
.single-product .product-thumbnails-scroll .col.is-nav-selected a     { border-color: #1a1a1a !important; }
.single-product .product-thumbnails-scroll .col.is-nav-selected a img { opacity: 1 !important; }

/* ---- Summary column ---- */
@media screen and (min-width: 960px) {
    .single-product .product-info {
        padding-left: 36px !important;
        border-left-color: #e8e4de !important;
        /* Sticky so info scrolls into view as the user reads, gallery stays visible */
        position: sticky;
        top: 80px;
        align-self: flex-start;
    }
}

/* Title */
.single-product h1.product-title.entry-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    letter-spacing: 0.02em !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
}

/* Rating stars — warm stone */
.star-rating span:before,
.wc-block-components-product-rating .wc-block-components-review-list-item__rating .wc-block-components-review-list-item__rating-star { color: #a09488 !important; }

/* Price */
.single-product .summary .price { margin: 4px 0 20px !important; }
.single-product .product-page-price ins span.woocommerce-Price-amount,
.single-product .summary .price .woocommerce-Price-amount {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}
.single-product .product-page-price del span.woocommerce-Price-amount,
.single-product .summary del .woocommerce-Price-amount { color: #b8b0a8 !important; }
.single-product .product-page-price del:before { color: #b0a89a !important; }
.single-product .product-page-price ins:before  { color: #b0a89a !important; }

/* Short description */
.product-short-description {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #2a2a2a !important;
    border-top: 1px solid #e8e4de !important;
    padding-top: 18px !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
}

/* ---- Variations ---- */
.variations_form .variations { width: 100%; border: 0 !important; }
.variations_form .variations tr { border: 0 !important; }
.variations_form .variations td.label {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #2e2b28 !important;
    padding: 0 16px 0 0 !important;
    vertical-align: middle !important;
    width: auto !important;
    white-space: nowrap;
}
.variations_form .variations td.value { padding: 0 0 16px 0 !important; }
.variations_form .variations td.label label { margin: 0 !important; }
.variations_form .variations select {
    border: 1px solid #d8d4ce !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    padding: 10px 36px 10px 14px !important;
    height: auto !important;
    box-shadow: none !important;
    width: 100% !important;
    -webkit-appearance: none !important;
    transition: border-color 0.2s ease !important;
}
.variations_form .variations select:focus { border-color: #504a44 !important; outline: none !important; }
.reset_variations {
    font-size: 11px !important;
    color: #9a9490 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #d8d4ce !important;
    letter-spacing: 0.06em !important;
}
.reset_variations:hover { color: #1a1a1a !important; border-bottom-color: #1a1a1a !important; }
.woocommerce-variation-price { margin: 4px 0 18px !important; }

/* ---- Quantity ---- */
.woocommerce div.product form.cart .quantity { margin-right: 8px !important; }
.woocommerce div.product form.cart .quantity .qty {
    width: 60px !important;
    height: 48px !important;
    border: 1px solid #d8d4ce !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    color: #1a1a1a !important;
    padding: 0 8px !important;
    background: #fff !important;
}

/* ---- Add to Cart — warm light stone ---- */
.woocommerce div.product div.summary .single_add_to_cart_button,
.single-product .single_add_to_cart_button {
    background: #e8e3d8 !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 32px !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce div.product div.summary .single_add_to_cart_button:hover,
.woocommerce div.product div.summary .single_add_to_cart_button:focus {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}

/* ---- Mini-cart dropdown (header popup) — Japanese-modern, soft ---- */
#masthead li.cart-item.has-dropdown > ul.nav-dropdown,
#masthead li.cart-item ul.nav-dropdown {
    background: #faf8f5 !important;
    border: 1px solid #e6e1d8 !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 40px rgba(20, 18, 14, 0.08) !important;
    padding: 8px !important;
    width: 340px !important;
    color: #1a1a1a !important;
}
#masthead li.cart-item ul.nav-dropdown > li.html.widget_shopping_cart { padding: 0 !important; border: 0 !important; }
#masthead .widget_shopping_cart_content { padding: 12px 14px 14px !important; }

/* Item list */
.woocommerce-mini-cart.cart_list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    max-height: 320px;
    overflow-y: auto;
}
.woocommerce-mini-cart .mini_cart_item {
    list-style: none !important;
    padding: 12px 32px 12px 0 !important;
    padding-left: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #ebe6db !important;
    position: relative;
    background: transparent !important;
}
.woocommerce-mini-cart .mini_cart_item:last-child { border-bottom: 0 !important; }
.woocommerce-mini-cart .mini_cart_item > a:not(.remove) {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    padding: 0 !important;
    color: #1a1a1a !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}
#masthead .widget_shopping_cart_content .mini_cart_item a,
#masthead .widget_shopping_cart_content .mini_cart_item a:link,
#masthead .widget_shopping_cart_content .mini_cart_item a:visited { color: #1a1a1a !important; }
#masthead .widget_shopping_cart_content .mini_cart_item a:not(.remove):hover { color: #5a4a32 !important; }
.woocommerce-mini-cart .mini_cart_item img {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 56px !important;
    max-width: 56px !important;
    height: auto !important;
    float: none !important;
    flex: 0 0 56px;
    margin: 0 !important;
    border: 1px solid #ebe6db !important;
    border-radius: 2px;
    background: #fff;
}
.woocommerce-mini-cart .mini_cart_item .quantity {
    display: block;
    clear: both;
    color: #6b6256 !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
    font-weight: 400 !important;
    margin: 6px 0 0 68px !important;
}
.woocommerce-mini-cart .mini_cart_item .quantity .woocommerce-Price-amount {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}
.woocommerce-mini-cart .mini_cart_item a.remove,
.woocommerce-mini-cart .mini_cart_item a.remove_from_cart_button {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 20px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid #d8d2c5 !important;
    color: #8a7f6e !important;
    font-size: 14px !important;
    text-align: center !important;
    font-weight: 400 !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    opacity: 1 !important;
}
.woocommerce-mini-cart .mini_cart_item a.remove:hover,
.woocommerce-mini-cart .mini_cart_item a.remove_from_cart_button:hover {
    background: #efeae0 !important;
    border-color: #b9ad97 !important;
    color: #1a1a1a !important;
}

/* Footer (total + buttons) */
.ux-mini-cart-footer {
    padding-top: 14px !important;
    margin-top: 4px !important;
    border-top: 1px solid #e6e1d8 !important;
}
.woocommerce-mini-cart__total {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    padding: 4px 0 14px !important;
    margin: 0 !important;
    border-bottom: 0 !important;
    font-size: 13px !important;
    color: #6b6256 !important;
    letter-spacing: 0.02em !important;
}
.woocommerce-mini-cart__total strong {
    font-weight: 500 !important;
    color: #6b6256 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    font-size: 13px !important;
}
.woocommerce-mini-cart__total .woocommerce-Price-amount,
.woocommerce-mini-cart__total .amount {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    letter-spacing: 0 !important;
}

/* Mini-cart buttons — match the product page palette */
.woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-mini-cart__buttons .button,
.widget_shopping_cart .buttons a.button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 44px !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    box-shadow: none !important;
}
/* Secondary — Xem giỏ hàng */
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout),
.widget_shopping_cart .buttons a.button.wc-forward:not(.checkout) {
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
}
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover,
.widget_shopping_cart .buttons a.button.wc-forward:not(.checkout):hover {
    background: #1a1a1a !important;
    color: #faf9f7 !important;
}
/* Primary — Thanh toán */
.woocommerce-mini-cart__buttons .button.checkout,
.widget_shopping_cart .buttons a.button.checkout {
    background: #e8e3d8 !important;
    border: 1px solid #d8d2c5 !important;
    color: #1a1a1a !important;
}
.woocommerce-mini-cart__buttons .button.checkout:hover,
.widget_shopping_cart .buttons a.button.checkout:hover {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}

/* Empty state */
.woocommerce-mini-cart__empty-message {
    color: #6b6256 !important;
    font-size: 13px !important;
    text-align: center;
    margin: 16px 0 !important;
}

/* ---- Quick-buy button — outline style ---- */
.single-product div.product div.summary a.devvn_buy_now,
.single-product div.product div.summary a.devvn_buy_now.devvn_buy_now_style {
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    border-bottom: 1px solid #1a1a1a !important;
    border-right: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 13px 24px !important;
    text-align: center !important;
    margin-top: 10px !important;
    width: 100% !important;
    display: block !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    box-sizing: border-box !important;
}
a.devvn_buy_now:hover, a.devvn_buy_now:focus {
    background: #1a1a1a !important;
    color: #faf9f7 !important;
    border-color: #1a1a1a !important;
}

/* Phone / download pill buttons */
a.phone-cart, a.download-file {
    border-radius: 0 !important;
    border: 1px solid #d8d4ce !important;
    color: #3a3632 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    background: transparent !important;
    padding: 7px 16px !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
}
a.phone-cart:hover, a.download-file:hover {
    border-color: #1a1a1a !important;
    color: #1a1a1a !important;
}

/* Product meta (SKU, categories) */
.single-product .product_meta {
    font-size: 12px !important;
    color: #9a9490 !important;
    border-top: 1px solid #e8e4de !important;
    margin-top: 20px !important;
    padding-top: 14px !important;
}
.single-product .product_meta a { color: #3a3632 !important; }
.single-product .product_meta a:hover { color: #1a1a1a !important; }

/* ---- Tabs ---- */
.single-product ul.product-tabs {
    border-bottom: 1px solid #e8e4de !important;
    margin-top: 8px !important;
}
.single-product ul.product-tabs li { margin-right: 24px !important; }
.single-product ul.product-tabs li a {
    color: #9a9490 !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    transition: color 0.2s ease !important;
}
.single-product ul.product-tabs li a:hover { color: #1a1a1a !important; }
.single-product ul.product-tabs li.active a {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #1a1a1a !important;
}
.single-product .tab-panels { padding: 24px 0 0 !important; border: 0 !important; }

/* Additional information tab table (specs/dimensions) */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
    padding: 13px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #f0ece7 !important;
    font-size: 14px !important;
    vertical-align: top;
}
.woocommerce-product-attributes th {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
    color: #2e2b28 !important;
    width: 140px;
    padding-right: 20px !important;
}
.woocommerce-product-attributes td { color: #1a1a1a !important; }
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td { border-bottom: 0 !important; }

/* ---- Reviews ---- */
div#reviews {
    border-radius: 0 !important;
    border-color: #e8e4de !important;
    background: #faf9f7 !important;
}
div#reviews h3.woocommerce-Reviews-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
}
div#reviews div#comments .commentlist .review { border-top-color: #e8e4de !important; }
div#reviews div#comments .commentlist .review .review-item img.avatar {
    border-radius: 0 !important;
    border-color: #e8e4de !important;
}
div#reviews div#review_form_wrapper .review-form-inner {
    border-radius: 0 !important;
    border-color: #e8e4de !important;
}
div#reviews .stars a:hover:after,
div#reviews .stars a.active:after { color: #a09488 !important; }

/* ---- Related products ---- */
.related-products-wrapper h3.product-section-title {
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    color: #1a1a1a !important;
    border-bottom: 1px solid #e8e4de !important;
}

/* ---- Sticky add-to-cart bar ---- */
.sticky-add-to-cart-wrapper .sticky-add-to-cart {
    box-shadow: none !important;
    border-top: 1px solid #e8e4de !important;
    background: #faf9f7 !important;
}
.sticky-add-to-cart-wrapper .sticky-add-to-cart button.single_add_to_cart_button {
    background: #e8e3d8 !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d2c5 !important;
    border-radius: 4px !important;
    letter-spacing: 0.08em !important;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.sticky-add-to-cart-wrapper .sticky-add-to-cart button.single_add_to_cart_button:hover,
.sticky-add-to-cart-wrapper .sticky-add-to-cart button.single_add_to_cart_button:focus {
    background: #d8d2c5 !important;
    border-color: #c1b8a4 !important;
    color: #1a1a1a !important;
}

/* Mobile */
@media (max-width: 768px) {
    .single-product h1.product-title.entry-title { font-size: 19px !important; }
    .woocommerce div.product div.summary .single_add_to_cart_button { padding: 0 20px !important; }
}

/* ==============================
   25. Header — Minimal Restyle
   ============================== */

/* Warm background on the whole header */
#header,
#header .header-bg,
#header .header-main,
#header .header-top {
    background-color: #faf9f7 !important;
}

/* Clean single-pixel bottom border instead of nothing or heavy shadow */
#header .header-main {
    border-bottom: 1px solid #e8e4de !important;
    box-shadow: none !important;
}

/* ---- Nav link weight: lighter, more refined ---- */
div#masthead ul.header-nav > li.menu-item > a,
div#masthead ul.header-nav li a {
    font-weight: 400 !important;
}

/* ---- Dropdowns: sharp corners, thin warm border, no blur shadow ---- */
div#masthead ul.header-nav ul.nav-dropdown,
div#masthead ul.header-nav .nav-dropdown-simple {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid #e8e4de !important;
    background: #faf9f7 !important;
}

/* Megamenu and product mega-dropdown */
div#masthead ul.header-nav .megamenu > ul.nav-dropdown,
div#masthead ul.header-nav li.menu-item.mega-products > ul.nav-dropdown {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid #e8e4de !important;
    background: #faf9f7 !important;
}

/* Dropdown item dividers — warm tone */
div#masthead ul.header-nav .nav-dropdown-simple li.menu-item ~ li.menu-item a {
    border-top-color: #e8e4de !important;
}

/* ---- Search field ---- */
#header .search-form input,
#header input.search-field,
#header .header-search input[type="search"],
#header .header-search input[type="text"] {
    border-radius: 0 !important;
    border: 1px solid #d8d4ce !important;
    background: #fff !important;
    box-shadow: none !important;
}
#header .search-form input:focus,
#header input.search-field:focus {
    border-color: #504a44 !important;
    outline: none !important;
}

/* ---- Sticky header (mobile) — thin border instead of blur shadow ---- */
@media (max-width: 959px) {
    #header .stuck div#masthead {
        background: #faf9f7 !important;
        box-shadow: none !important;
        border-bottom: 1px solid #e8e4de !important;
    }
}
