/* TPS: product page Shopee layout */

/* Collapse Flatsome html_after_header visual gap (script-only block between nav + breadcrumb).
   Do NOT remove the block or its scripts — FLOAT/ACCOUNT/CART/VAR PILLS/PDP SHOPEE live there. */
.header-block.block-html-after-header {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

body.single-product {
  --tps-pdp-width: 1240px;
  background-color: #ebebeb !important;
}
body.single-product .page-wrapper,
body.single-product #wrapper,
body.single-product #main,
body.single-product .content-area,
body.single-product #content,
body.single-product .product-container,
body.single-product .product-footer {
  background-color: transparent !important;
}
body.single-product html {
  background-color: #ebebeb !important;
}

/* Hide top-right product sidebar (upsell + leftover after featured move) */
body.single-product #product-sidebar,
body.single-product.tps-pdp-shopee #product-sidebar {
  display: none !important;
}

/* Buy block: white rounded card, capped/centered (not full-bleed) */
body.single-product .product-main > .row.content-row.mb-0,
body.single-product .product-main > .row.content-row {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 16px 16px 12px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 14px !important;
  max-width: var(--tps-pdp-width) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-gallery.large-5 {
  max-width: 41.666% !important;
  flex: 0 0 41.666% !important;
  width: 41.666% !important;
}
body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-info.summary {
  max-width: 58.333% !important;
  flex: 1 1 58.333% !important;
  width: 58.333% !important;
  border: none !important;
  box-shadow: none !important;
}
body.single-product .product-info.summary.col-divided {
  border-left: none !important;
}

/* Soften divider inside summary card if any */
body.single-product .product-main .is-divider {
  background-color: #F3F4F6 !important;
}

/* Description + featured row (Shopee) — same width as buy card */
body.single-product .tps-pdp-desc-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 0 auto 14px !important;
  max-width: var(--tps-pdp-width) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.single-product .tps-pdp-desc-main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Wider featured column for square Shopee tiles */
body.single-product .tps-pdp-desc-aside {
  flex: 0 0 210px !important;
  width: 210px !important;
  max-width: 24% !important;
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .tps-pdp-desc-main .woocommerce-tabs,
body.single-product .tps-pdp-desc-main .wc-tabs-wrapper,
body.single-product .tps-pdp-desc-main .tabbed-content {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px 16px 18px !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .tps-pdp-featured-card,
body.single-product .tps-pdp-desc-aside #woocommerce_products-4 {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px 8px 8px !important;
  margin: 0 !important;
  position: relative !important;
  top: auto !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .tps-pdp-featured-card .widget-title,
body.single-product .tps-pdp-desc-aside .widget-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #111827 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  text-align: center !important;
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
body.single-product .tps-pdp-featured-card .widget-title .is-divider,
body.single-product .tps-pdp-desc-aside .widget-title .is-divider {
  display: none !important;
}
/* Shopee-style featured product cards (mockup: image + title + KM/strike) */
body.single-product .tps-pdp-featured-card ul.product_list_widget,
body.single-product .tps-pdp-desc-aside ul.product_list_widget {
  margin: 0 !important;
  padding: 2px 2px 4px !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-content: start !important;
}
body.single-product .tps-pdp-featured-card ul.product_list_widget > li[hidden],
body.single-product .tps-pdp-desc-aside ul.product_list_widget > li[hidden] {
  display: none !important;
}
body.single-product .tps-pdp-featured-card ul.product_list_widget li,
body.single-product .tps-pdp-desc-aside ul.product_list_widget li {
  display: block !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: hidden !important;
  min-width: 0 !important;
  /* soft gray backdrop restored — clipped by radius so bottom corners stay flush */
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.10) !important;
}
body.single-product .tps-pdp-featured-card ul.product_list_widget li:hover,
body.single-product .tps-pdp-desc-aside ul.product_list_widget li:hover {
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14) !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-link,
body.single-product .tps-pdp-desc-aside .tps-feat-link {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: inherit !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 6px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-media,
body.single-product .tps-pdp-desc-aside .tps-feat-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
  display: block !important;
  border-radius: 10px !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-media img,
body.single-product .tps-pdp-desc-aside .tps-feat-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
  float: none !important;
  max-width: none !important;
  border-radius: 0 !important;
  flex: none !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-badge,
body.single-product .tps-pdp-desc-aside .tps-feat-badge {
  position: absolute !important;
  top: 6px !important;
  left: 6px !important;
  z-index: 2 !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(160deg, #ff7a7a 0%, #ef4444 38%, #dc2626 72%, #b91c1c 100%) !important;
  color: #fff !important;
  font-family: "Montserrat", "Be Vietnam Pro", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22%2523000%22%20d%3D%22M50.00%2C7.20%20L50.96%2C7.28%20L51.91%2C7.51%20L52.84%2C7.86%20L53.75%2C8.31%20L54.64%2C8.82%20L55.51%2C9.34%20L56.36%2C9.83%20L57.21%2C10.28%20L58.06%2C10.65%20L58.91%2C10.96%20L59.77%2C11.21%20L60.64%2C11.44%20L61.51%2C11.66%20L62.40%2C11.85%20L63.31%2C11.97%20L64.25%2C12.03%20L65.23%2C12.04%20L66.23%2C12.02%20L67.25%2C12.02%20L68.27%2C12.06%20L69.27%2C12.18%20L70.22%2C12.42%20L71.12%2C12.78%20L71.94%2C13.28%20L72.67%2C13.92%20L73.33%2C14.66%20L73.91%2C15.49%20L74.44%2C16.36%20L74.94%2C17.25%20L75.43%2C18.12%20L75.93%2C18.94%20L76.47%2C19.71%20L77.04%2C20.42%20L77.65%2C21.08%20L78.28%2C21.72%20L78.92%2C22.35%20L79.58%2C22.96%20L80.29%2C23.53%20L81.06%2C24.07%20L81.88%2C24.57%20L82.75%2C25.06%20L83.64%2C25.56%20L84.51%2C26.09%20L85.34%2C26.67%20L86.08%2C27.33%20L86.72%2C28.06%20L87.22%2C28.88%20L87.58%2C29.78%20L87.82%2C30.73%20L87.94%2C31.73%20L87.98%2C32.75%20L87.98%2C33.77%20L87.96%2C34.77%20L87.97%2C35.75%20L88.03%2C36.69%20L88.15%2C37.60%20L88.34%2C38.49%20L88.56%2C39.36%20L88.79%2C40.23%20L89.04%2C41.09%20L89.35%2C41.94%20L89.72%2C42.79%20L90.17%2C43.64%20L90.66%2C44.49%20L91.18%2C45.36%20L91.69%2C46.25%20L92.14%2C47.16%20L92.49%2C48.09%20L92.72%2C49.04%20L92.80%2C50.00%20L92.72%2C50.96%20L92.49%2C51.91%20L92.14%2C52.84%20L91.69%2C53.75%20L91.18%2C54.64%20L90.66%2C55.51%20L90.17%2C56.36%20L89.72%2C57.21%20L89.35%2C58.06%20L89.04%2C58.91%20L88.79%2C59.77%20L88.56%2C60.64%20L88.34%2C61.51%20L88.15%2C62.40%20L88.03%2C63.31%20L87.97%2C64.25%20L87.96%2C65.23%20L87.98%2C66.23%20L87.98%2C67.25%20L87.94%2C68.27%20L87.82%2C69.27%20L87.58%2C70.22%20L87.22%2C71.12%20L86.72%2C71.94%20L86.08%2C72.67%20L85.34%2C73.33%20L84.51%2C73.91%20L83.64%2C74.44%20L82.75%2C74.94%20L81.88%2C75.43%20L81.06%2C75.93%20L80.29%2C76.47%20L79.58%2C77.04%20L78.92%2C77.65%20L78.28%2C78.28%20L77.65%2C78.92%20L77.04%2C79.58%20L76.47%2C80.29%20L75.93%2C81.06%20L75.43%2C81.88%20L74.94%2C82.75%20L74.44%2C83.64%20L73.91%2C84.51%20L73.33%2C85.34%20L72.67%2C86.08%20L71.94%2C86.72%20L71.12%2C87.22%20L70.22%2C87.58%20L69.27%2C87.82%20L68.27%2C87.94%20L67.25%2C87.98%20L66.23%2C87.98%20L65.23%2C87.96%20L64.25%2C87.97%20L63.31%2C88.03%20L62.40%2C88.15%20L61.51%2C88.34%20L60.64%2C88.56%20L59.77%2C88.79%20L58.91%2C89.04%20L58.06%2C89.35%20L57.21%2C89.72%20L56.36%2C90.17%20L55.51%2C90.66%20L54.64%2C91.18%20L53.75%2C91.69%20L52.84%2C92.14%20L51.91%2C92.49%20L50.96%2C92.72%20L50.00%2C92.80%20L49.04%2C92.72%20L48.09%2C92.49%20L47.16%2C92.14%20L46.25%2C91.69%20L45.36%2C91.18%20L44.49%2C90.66%20L43.64%2C90.17%20L42.79%2C89.72%20L41.94%2C89.35%20L41.09%2C89.04%20L40.23%2C88.79%20L39.36%2C88.56%20L38.49%2C88.34%20L37.60%2C88.15%20L36.69%2C88.03%20L35.75%2C87.97%20L34.77%2C87.96%20L33.77%2C87.98%20L32.75%2C87.98%20L31.73%2C87.94%20L30.73%2C87.82%20L29.78%2C87.58%20L28.88%2C87.22%20L28.06%2C86.72%20L27.33%2C86.08%20L26.67%2C85.34%20L26.09%2C84.51%20L25.56%2C83.64%20L25.06%2C82.75%20L24.57%2C81.88%20L24.07%2C81.06%20L23.53%2C80.29%20L22.96%2C79.58%20L22.35%2C78.92%20L21.72%2C78.28%20L21.08%2C77.65%20L20.42%2C77.04%20L19.71%2C76.47%20L18.94%2C75.93%20L18.12%2C75.43%20L17.25%2C74.94%20L16.36%2C74.44%20L15.49%2C73.91%20L14.66%2C73.33%20L13.92%2C72.67%20L13.28%2C71.94%20L12.78%2C71.12%20L12.42%2C70.22%20L12.18%2C69.27%20L12.06%2C68.27%20L12.02%2C67.25%20L12.02%2C66.23%20L12.04%2C65.23%20L12.03%2C64.25%20L11.97%2C63.31%20L11.85%2C62.40%20L11.66%2C61.51%20L11.44%2C60.64%20L11.21%2C59.77%20L10.96%2C58.91%20L10.65%2C58.06%20L10.28%2C57.21%20L9.83%2C56.36%20L9.34%2C55.51%20L8.82%2C54.64%20L8.31%2C53.75%20L7.86%2C52.84%20L7.51%2C51.91%20L7.28%2C50.96%20L7.20%2C50.00%20L7.28%2C49.04%20L7.51%2C48.09%20L7.86%2C47.16%20L8.31%2C46.25%20L8.82%2C45.36%20L9.34%2C44.49%20L9.83%2C43.64%20L10.28%2C42.79%20L10.65%2C41.94%20L10.96%2C41.09%20L11.21%2C40.23%20L11.44%2C39.36%20L11.66%2C38.49%20L11.85%2C37.60%20L11.97%2C36.69%20L12.03%2C35.75%20L12.04%2C34.77%20L12.02%2C33.77%20L12.02%2C32.75%20L12.06%2C31.73%20L12.18%2C30.73%20L12.42%2C29.78%20L12.78%2C28.88%20L13.28%2C28.06%20L13.92%2C27.33%20L14.66%2C26.67%20L15.49%2C26.09%20L16.36%2C25.56%20L17.25%2C25.06%20L18.12%2C24.57%20L18.94%2C24.07%20L19.71%2C23.53%20L20.42%2C22.96%20L21.08%2C22.35%20L21.72%2C21.72%20L22.35%2C21.08%20L22.96%2C20.42%20L23.53%2C19.71%20L24.07%2C18.94%20L24.57%2C18.12%20L25.06%2C17.25%20L25.56%2C16.36%20L26.09%2C15.49%20L26.67%2C14.66%20L27.33%2C13.92%20L28.06%2C13.28%20L28.88%2C12.78%20L29.78%2C12.42%20L30.73%2C12.18%20L31.73%2C12.06%20L32.75%2C12.02%20L33.77%2C12.02%20L34.77%2C12.04%20L35.75%2C12.03%20L36.69%2C11.97%20L37.60%2C11.85%20L38.49%2C11.66%20L39.36%2C11.44%20L40.23%2C11.21%20L41.09%2C10.96%20L41.94%2C10.65%20L42.79%2C10.28%20L43.64%2C9.83%20L44.49%2C9.34%20L45.36%2C8.82%20L46.25%2C8.31%20L47.16%2C7.86%20L48.09%2C7.51%20L49.04%2C7.28%20Z%22/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22%2523000%22%20d%3D%22M50.00%2C7.20%20L50.96%2C7.28%20L51.91%2C7.51%20L52.84%2C7.86%20L53.75%2C8.31%20L54.64%2C8.82%20L55.51%2C9.34%20L56.36%2C9.83%20L57.21%2C10.28%20L58.06%2C10.65%20L58.91%2C10.96%20L59.77%2C11.21%20L60.64%2C11.44%20L61.51%2C11.66%20L62.40%2C11.85%20L63.31%2C11.97%20L64.25%2C12.03%20L65.23%2C12.04%20L66.23%2C12.02%20L67.25%2C12.02%20L68.27%2C12.06%20L69.27%2C12.18%20L70.22%2C12.42%20L71.12%2C12.78%20L71.94%2C13.28%20L72.67%2C13.92%20L73.33%2C14.66%20L73.91%2C15.49%20L74.44%2C16.36%20L74.94%2C17.25%20L75.43%2C18.12%20L75.93%2C18.94%20L76.47%2C19.71%20L77.04%2C20.42%20L77.65%2C21.08%20L78.28%2C21.72%20L78.92%2C22.35%20L79.58%2C22.96%20L80.29%2C23.53%20L81.06%2C24.07%20L81.88%2C24.57%20L82.75%2C25.06%20L83.64%2C25.56%20L84.51%2C26.09%20L85.34%2C26.67%20L86.08%2C27.33%20L86.72%2C28.06%20L87.22%2C28.88%20L87.58%2C29.78%20L87.82%2C30.73%20L87.94%2C31.73%20L87.98%2C32.75%20L87.98%2C33.77%20L87.96%2C34.77%20L87.97%2C35.75%20L88.03%2C36.69%20L88.15%2C37.60%20L88.34%2C38.49%20L88.56%2C39.36%20L88.79%2C40.23%20L89.04%2C41.09%20L89.35%2C41.94%20L89.72%2C42.79%20L90.17%2C43.64%20L90.66%2C44.49%20L91.18%2C45.36%20L91.69%2C46.25%20L92.14%2C47.16%20L92.49%2C48.09%20L92.72%2C49.04%20L92.80%2C50.00%20L92.72%2C50.96%20L92.49%2C51.91%20L92.14%2C52.84%20L91.69%2C53.75%20L91.18%2C54.64%20L90.66%2C55.51%20L90.17%2C56.36%20L89.72%2C57.21%20L89.35%2C58.06%20L89.04%2C58.91%20L88.79%2C59.77%20L88.56%2C60.64%20L88.34%2C61.51%20L88.15%2C62.40%20L88.03%2C63.31%20L87.97%2C64.25%20L87.96%2C65.23%20L87.98%2C66.23%20L87.98%2C67.25%20L87.94%2C68.27%20L87.82%2C69.27%20L87.58%2C70.22%20L87.22%2C71.12%20L86.72%2C71.94%20L86.08%2C72.67%20L85.34%2C73.33%20L84.51%2C73.91%20L83.64%2C74.44%20L82.75%2C74.94%20L81.88%2C75.43%20L81.06%2C75.93%20L80.29%2C76.47%20L79.58%2C77.04%20L78.92%2C77.65%20L78.28%2C78.28%20L77.65%2C78.92%20L77.04%2C79.58%20L76.47%2C80.29%20L75.93%2C81.06%20L75.43%2C81.88%20L74.94%2C82.75%20L74.44%2C83.64%20L73.91%2C84.51%20L73.33%2C85.34%20L72.67%2C86.08%20L71.94%2C86.72%20L71.12%2C87.22%20L70.22%2C87.58%20L69.27%2C87.82%20L68.27%2C87.94%20L67.25%2C87.98%20L66.23%2C87.98%20L65.23%2C87.96%20L64.25%2C87.97%20L63.31%2C88.03%20L62.40%2C88.15%20L61.51%2C88.34%20L60.64%2C88.56%20L59.77%2C88.79%20L58.91%2C89.04%20L58.06%2C89.35%20L57.21%2C89.72%20L56.36%2C90.17%20L55.51%2C90.66%20L54.64%2C91.18%20L53.75%2C91.69%20L52.84%2C92.14%20L51.91%2C92.49%20L50.96%2C92.72%20L50.00%2C92.80%20L49.04%2C92.72%20L48.09%2C92.49%20L47.16%2C92.14%20L46.25%2C91.69%20L45.36%2C91.18%20L44.49%2C90.66%20L43.64%2C90.17%20L42.79%2C89.72%20L41.94%2C89.35%20L41.09%2C89.04%20L40.23%2C88.79%20L39.36%2C88.56%20L38.49%2C88.34%20L37.60%2C88.15%20L36.69%2C88.03%20L35.75%2C87.97%20L34.77%2C87.96%20L33.77%2C87.98%20L32.75%2C87.98%20L31.73%2C87.94%20L30.73%2C87.82%20L29.78%2C87.58%20L28.88%2C87.22%20L28.06%2C86.72%20L27.33%2C86.08%20L26.67%2C85.34%20L26.09%2C84.51%20L25.56%2C83.64%20L25.06%2C82.75%20L24.57%2C81.88%20L24.07%2C81.06%20L23.53%2C80.29%20L22.96%2C79.58%20L22.35%2C78.92%20L21.72%2C78.28%20L21.08%2C77.65%20L20.42%2C77.04%20L19.71%2C76.47%20L18.94%2C75.93%20L18.12%2C75.43%20L17.25%2C74.94%20L16.36%2C74.44%20L15.49%2C73.91%20L14.66%2C73.33%20L13.92%2C72.67%20L13.28%2C71.94%20L12.78%2C71.12%20L12.42%2C70.22%20L12.18%2C69.27%20L12.06%2C68.27%20L12.02%2C67.25%20L12.02%2C66.23%20L12.04%2C65.23%20L12.03%2C64.25%20L11.97%2C63.31%20L11.85%2C62.40%20L11.66%2C61.51%20L11.44%2C60.64%20L11.21%2C59.77%20L10.96%2C58.91%20L10.65%2C58.06%20L10.28%2C57.21%20L9.83%2C56.36%20L9.34%2C55.51%20L8.82%2C54.64%20L8.31%2C53.75%20L7.86%2C52.84%20L7.51%2C51.91%20L7.28%2C50.96%20L7.20%2C50.00%20L7.28%2C49.04%20L7.51%2C48.09%20L7.86%2C47.16%20L8.31%2C46.25%20L8.82%2C45.36%20L9.34%2C44.49%20L9.83%2C43.64%20L10.28%2C42.79%20L10.65%2C41.94%20L10.96%2C41.09%20L11.21%2C40.23%20L11.44%2C39.36%20L11.66%2C38.49%20L11.85%2C37.60%20L11.97%2C36.69%20L12.03%2C35.75%20L12.04%2C34.77%20L12.02%2C33.77%20L12.02%2C32.75%20L12.06%2C31.73%20L12.18%2C30.73%20L12.42%2C29.78%20L12.78%2C28.88%20L13.28%2C28.06%20L13.92%2C27.33%20L14.66%2C26.67%20L15.49%2C26.09%20L16.36%2C25.56%20L17.25%2C25.06%20L18.12%2C24.57%20L18.94%2C24.07%20L19.71%2C23.53%20L20.42%2C22.96%20L21.08%2C22.35%20L21.72%2C21.72%20L22.35%2C21.08%20L22.96%2C20.42%20L23.53%2C19.71%20L24.07%2C18.94%20L24.57%2C18.12%20L25.06%2C17.25%20L25.56%2C16.36%20L26.09%2C15.49%20L26.67%2C14.66%20L27.33%2C13.92%20L28.06%2C13.28%20L28.88%2C12.78%20L29.78%2C12.42%20L30.73%2C12.18%20L31.73%2C12.06%20L32.75%2C12.02%20L33.77%2C12.02%20L34.77%2C12.04%20L35.75%2C12.03%20L36.69%2C11.97%20L37.60%2C11.85%20L38.49%2C11.66%20L39.36%2C11.44%20L40.23%2C11.21%20L41.09%2C10.96%20L41.94%2C10.65%20L42.79%2C10.28%20L43.64%2C9.83%20L44.49%2C9.34%20L45.36%2C8.82%20L46.25%2C8.31%20L47.16%2C7.86%20L48.09%2C7.51%20L49.04%2C7.28%20Z%22/%3E%3C/svg%3E");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  pointer-events: none !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-body,
body.single-product .tps-pdp-desc-aside .tps-feat-body {
  /* light gray footer — bottom corners match card radius */
  background: #f3f4f6 !important;
  margin: 6px -6px -6px !important;
  padding: 8px 8px 10px !important;
  border-radius: 0 0 12px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-title,
body.single-product .tps-pdp-desc-aside .tps-feat-title {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #111827 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 2px !important;
  min-height: calc(1.3em * 2) !important;
  text-align: center !important;
  width: 100% !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price.price,
body.single-product .tps-pdp-desc-aside .tps-feat-price.price,
body.single-product .tps-pdp-featured-card ul.product_list_widget .tps-feat-price,
body.single-product .tps-pdp-desc-aside ul.product_list_widget .tps-feat-price {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 8px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: center !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price > ins,
body.single-product .tps-pdp-desc-aside .tps-feat-price > ins {
  order: 1 !important;
  text-decoration: none !important;
  background: transparent !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price > del,
body.single-product .tps-pdp-desc-aside .tps-feat-price > del {
  order: 2 !important;
  opacity: 1 !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price .screen-reader-text,
body.single-product .tps-pdp-desc-aside .tps-feat-price .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price .amount,
body.single-product .tps-pdp-desc-aside .tps-feat-price .amount {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price del,
body.single-product .tps-pdp-desc-aside .tps-feat-price del,
body.single-product .tps-pdp-featured-card .tps-feat-price del .amount,
body.single-product .tps-pdp-desc-aside .tps-feat-price del .amount,
body.single-product .tps-pdp-featured-card .tps-feat-price del bdi,
body.single-product .tps-pdp-desc-aside .tps-feat-price del bdi,
body.single-product .tps-pdp-featured-card .tps-feat-price del span,
body.single-product .tps-pdp-desc-aside .tps-feat-price del span,
body.single-product .tps-pdp-featured-card .tps-feat-price del .woocommerce-Price-currencySymbol,
body.single-product .tps-pdp-desc-aside .tps-feat-price del .woocommerce-Price-currencySymbol {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #9ca3af !important;
}
body.single-product .tps-pdp-featured-card .tps-feat-price ins,
body.single-product .tps-pdp-desc-aside .tps-feat-price ins,
body.single-product .tps-pdp-featured-card .tps-feat-price ins .amount,
body.single-product .tps-pdp-desc-aside .tps-feat-price ins .amount,
body.single-product .tps-pdp-featured-card .tps-feat-price ins bdi,
body.single-product .tps-pdp-desc-aside .tps-feat-price ins bdi,
body.single-product .tps-pdp-featured-card .tps-feat-price ins span,
body.single-product .tps-pdp-desc-aside .tps-feat-price ins span {
  color: #008b4b !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Footer column: same width as buy card */
body.single-product .product-footer > .container {
  max-width: var(--tps-pdp-width) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Related: white card — same horizontal width as buy + desc row */
body.single-product .related.related-products-wrapper,
body.single-product .related.product-section {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 16px 16px 8px !important;
  margin: 0 auto 24px !important;
  max-width: var(--tps-pdp-width) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.single-product .related .product-section-title-related,
body.single-product .related h3 {
  margin-top: 0 !important;
}

/* Page title / breadcrumbs — strip moved to shared tps-breadcrumb.css (MU 1.0.26).
   Keep only PDP spacing under the crumb strip. */
body.single-product .product-container {
  padding-top: 6px !important;
  padding-bottom: 8px !important;
}
body.single-product .product-main {
  padding-top: 6px !important;
}



/* TPS PDP: gallery flush left inside buy card */
body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-gallery.large-5,
body.single-product .product-main > .row.content-row .product-gallery {
  padding-left: 0 !important;
  padding-right: 12px !important;
}
body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-info.summary,
body.single-product .product-main > .row.content-row .product-info.summary {
  padding-left: 12px !important;
  padding-right: 0 !important;
}
body.single-product .product-main > .row.content-row .product-gallery .product-images,
body.single-product .product-main > .row.content-row .product-gallery .woocommerce-product-gallery {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* TPS PDP: qty + add + buy_now one flex row — CTA row ~12% shorter than buy column */
body.single-product .product-info form.cart,
body.single-product .product-info form.cart .sticky-add-to-cart-wrapper,
body.single-product .product-info form.cart .sticky-add-to-cart,
body.single-product .product-info form.cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
/* Mildly shorten overall CTA row (qty + ATC + Buy); keep left-aligned with buy column */
body.single-product .product-info form.cart {
  width: 88% !important;
  max-width: 88% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
/* Variable products: form.cart also wraps table.variations + single_variation_wrap.
   Row+nowrap squeezed phân loại tiles to ~2-wide column. Stack form children; keep
   qty+ATC+Buy flex row on .woocommerce-variation-add-to-cart only. */
body.single-product .product-info form.cart.variations_form {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 10px !important;
}
body.single-product .product-info form.cart.variations_form > table.variations,
body.single-product .product-info form.cart.variations_form > .single_variation_wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
body.single-product .product-info form.cart.variations_form .woocommerce-variation-add-to-cart {
  width: 88% !important;
  max-width: 88% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
body.single-product .product-info form.cart .sticky-add-to-cart-wrapper,
body.single-product .product-info form.cart .sticky-add-to-cart,
body.single-product .product-info form.cart .woocommerce-variation-add-to-cart {
  width: 100% !important;
  max-width: 100% !important;
}
body.single-product .product-info form.cart .sticky-add-to-cart__product {
  /* keep hidden until sticky mode; don't take flex space when display:none */
  flex: 0 0 auto !important;
}
body.single-product .product-info form.cart .quantity,
body.single-product .product-info form.cart .quantity.buttons_added {
  display: inline-flex !important;
  align-items: stretch !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #F3F4F6 !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}
body.single-product .product-info form.cart .quantity .minus,
body.single-product .product-info form.cart .quantity .plus,
body.single-product .product-info form.cart .quantity .button.is-form {
  width: 34px !important;
  min-width: 34px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #F3F4F6 !important;
  background-image: none !important;
  color: #374151 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.single-product .product-info form.cart .quantity .minus {
  border-right: 1px solid #E5E7EB !important;
}
body.single-product .product-info form.cart .quantity .plus {
  border-left: 1px solid #E5E7EB !important;
}
body.single-product .product-info form.cart .quantity input.qty,
body.single-product .product-info form.cart .quantity input[type="number"] {
  width: 40px !important;
  min-width: 40px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  -moz-appearance: textfield !important;
}
body.single-product .product-info form.cart .quantity input.qty::-webkit-outer-spin-button,
body.single-product .product-info form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* Shared CTA row sizing — qty + ATC (Shopee) + Buy (BHX) */
body.single-product .product-info form.cart .single_add_to_cart_button,
body.single-product .product-info form.cart .buy_now_button,
body.single-product .product-info form.cart button.buy_now_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* Even L/R padding — beat theme .button { padding: 0 1.2em } */
  padding: 0 12px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  flex: 1 1 0 !important;
  min-width: 140px !important;
  max-width: 100% !important;
  width: auto !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* —— Add to cart: Shopee outline (pale pink + orange) —— */
body.single-product .product-info form.cart .single_add_to_cart_button,
body.single-product .product-info form.cart button.single_add_to_cart_button.button.alt {
  background: #fff5f1 !important;
  background-image: none !important;
  background-color: #fff5f1 !important;
  color: #ee4d2d !important;
  border: 1px solid #ee4d2d !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button:hover,
body.single-product .product-info form.cart .single_add_to_cart_button:focus,
body.single-product .product-info form.cart button.single_add_to_cart_button.button.alt:hover,
body.single-product .product-info form.cart button.single_add_to_cart_button.button.alt:focus,
body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product form.cart button.alt.single_add_to_cart_button:hover {
  background: #ffefe8 !important;
  background-color: #ffefe8 !important;
  background-image: none !important;
  color: #d73211 !important;
  border: 1px solid #d73211 !important;
  border-color: #d73211 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button:active,
body.single-product .product-info form.cart button.single_add_to_cart_button.button.alt:active,
body.single-product form.cart .single_add_to_cart_button:active {
  background: #ffe6db !important;
  background-color: #ffe6db !important;
  background-image: none !important;
  color: #c22a0c !important;
  border: 1px solid #c22a0c !important;
  transform: scale(0.98) !important;
}
/* ATC content group: icon + label as one centered unit */
body.single-product .product-info form.cart .single_add_to_cart_button .tps-atc-inner,
body.single-product .product-info form.cart .single_add_to_cart_button .tps-shopee-cart-inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  max-width: 100% !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button .tps-atc-icon,
body.single-product .product-info form.cart .single_add_to_cart_button .tps-shopee-cart-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button .tps-atc-icon svg,
body.single-product .product-info form.cart .single_add_to_cart_button .tps-shopee-cart-icon svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  /* Optical vertical balance — bag handles sit high in viewBox */
  transform: translateY(0.5px) !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button .tps-atc-label {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* —— Buy / Mua ngay: soft horizontal green ramp + subtle diagonal shine ——
   Idle = linear L→R on #008b4b family (NOT BHX radial). Single shine via ::before only
   (~80% soft diagonal, 4.2s, FOUC-safe). DevVN owns ::after — keep it.
   Press ripple on .tps-bhx-ripple. NEVER opacity:0 on the button itself. */
body.single-product .product-info form.cart .buy_now_button,
body.single-product .product-info form.cart button.buy_now_button {
  background-color: #008b4b !important;
  background-image: linear-gradient(90deg, #00753f 0%, #008b4b 48%, #3aad5c 100%) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  transition: background 0.25s ease, background-image 0.25s ease, background-color 0.25s ease, box-shadow 0.18s ease, transform 0.1s ease !important;
  isolation: isolate !important;
  z-index: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Soft diagonal shine sweep (~80% width), left → right, infinite */
@keyframes tps-buy-shine-sweep {
  0% {
    transform: translateX(-120%) skewX(-18deg);
    opacity: 0;
  }
  12% {
    opacity: 0.30;
  }
  50% {
    opacity: 0.26;
  }
  88% {
    opacity: 0.20;
  }
  100% {
    transform: translateX(340%) skewX(-18deg);
    opacity: 0;
  }
}
body.single-product .product-info form.cart .buy_now_button::before,
body.single-product .product-info form.cart button.buy_now_button::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -20% !important;
  left: 0 !important;
  width: 80% !important;
  height: 140% !important;
  background: linear-gradient(
    105deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.05) 18%,
    rgba(255, 255, 255, 0.18) 36%,
    rgba(255, 255, 255, 0.34) 50%,
    rgba(255, 255, 255, 0.18) 64%,
    rgba(255, 255, 255, 0.05) 82%,
    rgba(255, 255, 255, 0) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  /* FOUC guard: stay invisible/off-screen until 0% keyframe + animation apply */
  opacity: 0 !important;
  transform: translateX(-120%) skewX(-18deg) !important;
  animation: tps-buy-shine-sweep 4.2s ease-in-out infinite both !important;
  will-change: transform, opacity;
}

/* Legacy second shine trail — remove if leftover in DOM (single ::before shine only) */
body.single-product .product-info form.cart .buy_now_button .tps-buy-shine-trail,
body.single-product .product-info form.cart button.buy_now_button .tps-buy-shine-trail {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  animation: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Obsolete JS sweep layer — hide if leftover in DOM */
body.single-product .product-info form.cart .buy_now_button .tps-bhx-grad,
body.single-product .product-info form.cart button.buy_now_button .tps-bhx-grad {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  animation: none !important;
}
body.single-product .product-info form.cart .buy_now_button:hover,
body.single-product .product-info form.cart button.buy_now_button:hover,
body.single-product .product-info form.cart .buy_now_button:focus,
body.single-product .product-info form.cart button.buy_now_button:focus {
  background-color: #007240 !important;
  background-image: linear-gradient(90deg, #005f34 0%, #007240 48%, #2d9450 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 100, 55, 0.22) !important;
  filter: none !important;
}
body.single-product .product-info form.cart .buy_now_button:hover::before,
body.single-product .product-info form.cart button.buy_now_button:hover::before,
body.single-product .product-info form.cart .buy_now_button:focus::before,
body.single-product .product-info form.cart button.buy_now_button:focus::before {
  animation-duration: 3.4s !important;
}
body.single-product .product-info form.cart .buy_now_button:active,
body.single-product .product-info form.cart button.buy_now_button:active {
  background-color: #005c32 !important;
  background-image: linear-gradient(90deg, #004a28 0%, #005c32 48%, #247844 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14) !important;
  transform: translateY(1px) scale(0.985) !important;
}
body.single-product .product-info form.cart .buy_now_button .tps-bhx-buy-label,
body.single-product .product-info form.cart button.buy_now_button .tps-bhx-buy-label {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.single-product .product-info form.cart .buy_now_button > *:not(.tps-bhx-ripple):not(.tps-bhx-grad):not(.tps-buy-shine-trail),
body.single-product .product-info form.cart button.buy_now_button > *:not(.tps-bhx-ripple):not(.tps-bhx-grad):not(.tps-buy-shine-trail) {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
}
body.single-product .product-info form.cart .buy_now_button .tps-bhx-ripple,
body.single-product .product-info form.cart button.buy_now_button .tps-bhx-ripple {
  position: absolute !important;
  left: var(--tps-ripple-x, 50%) !important;
  top: var(--tps-ripple-y, 50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.28) !important;
  transform: translate(-50%, -50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
  z-index: 3 !important;
}
body.single-product .product-info form.cart .buy_now_button.tps-bhx-rippling .tps-bhx-ripple,
body.single-product .product-info form.cart button.buy_now_button.tps-bhx-rippling .tps-bhx-ripple {
  width: 220% !important;
  height: 220% !important;
  opacity: 0 !important;
  transition: width .45s ease-out, height .45s ease-out, opacity .5s ease-out !important;
}



/* TPS PDP: modern thumbs nav — hidden scrollbar, edge fade, circle arrows */
body.single-product .tps-thumbs-wrap {
  position: relative !important;
  width: 100% !important;
  margin-top: 8px !important;
}
body.single-product .tps-thumbs-wrap::before,
body.single-product .tps-thumbs-wrap::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 28px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transition: opacity .2s ease !important;
}
body.single-product .tps-thumbs-wrap::before {
  left: 0 !important;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%) !important;
}
body.single-product .tps-thumbs-wrap::after {
  right: 0 !important;
  background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%) !important;
}
body.single-product .tps-thumbs-wrap.is-left::before,
body.single-product .tps-thumbs-wrap.is-right::after {
  opacity: 1 !important;
}
body.single-product .tps-thumbs-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
  width: 28px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.30) !important;
  color: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  cursor: pointer !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  transition: background .15s ease, color .15s ease, opacity .15s ease !important;
}
body.single-product .tps-thumbs-wrap.is-overflow .tps-thumbs-nav {
  display: inline-flex !important;
}
body.single-product .tps-thumbs-nav:hover {
  background: rgba(0, 0, 0, 0.45) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
}
body.single-product .tps-thumbs-nav:active {
  transform: translateY(-50%) !important;
  background: rgba(0, 0, 0, 0.55) !important;
}
body.single-product .tps-thumbs-nav:disabled {
  opacity: 0.25 !important;
  pointer-events: none !important;
  box-shadow: none !important;
}
body.single-product .tps-thumbs-nav--prev {
  left: 0 !important;
  border-radius: 8px !important;
}
body.single-product .tps-thumbs-nav--next {
  right: 0 !important;
  border-radius: 8px !important;
}
body.single-product .product-gallery .product-thumbnails,
body.single-product .product-thumbnails.thumbnails {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
body.single-product .product-gallery .product-thumbnails::-webkit-scrollbar,
body.single-product .product-thumbnails.thumbnails::-webkit-scrollbar {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}
body.single-product .product-gallery .product-thumbnails .flickity-viewport,
body.single-product .product-gallery .product-thumbnails .flickity-slider,
body.single-product .product-thumbnails .flickity-viewport,
body.single-product .product-thumbnails .flickity-slider {
  display: contents !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
  position: static !important;
  left: auto !important;
}
body.single-product .product-gallery .product-thumbnails .flickity-button,
body.single-product .product-thumbnails .flickity-button {
  display: none !important;
}
body.single-product .product-gallery .product-thumbnails .col,
body.single-product .product-thumbnails.small-columns-4 .col,
body.single-product .product-thumbnails.small-columns-5 .col,
body.single-product .product-thumbnails .col {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  /* Always 1/5 of row width (4 gaps of 8px) — same cell size for any image count */
  flex: 0 0 calc((100% - 32px) / 5) !important;
  width: calc((100% - 32px) / 5) !important;
  max-width: calc((100% - 32px) / 5) !important;
  min-width: calc((100% - 32px) / 5) !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}
body.single-product .product-gallery .product-thumbnails .col a,
body.single-product .product-thumbnails .col a {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
  border: 1px solid #e5e7eb !important;
  box-sizing: border-box !important;
}
body.single-product .product-gallery .product-thumbnails .col.is-selected a,
body.single-product .product-gallery .product-thumbnails .col.is-nav-selected a,
body.single-product .product-thumbnails .col.is-selected a,
body.single-product .product-thumbnails .col.is-nav-selected a {
  border-color: #008b4b !important;
}
body.single-product .product-gallery .product-thumbnails .col a,
body.single-product .product-thumbnails .col a,
body.single-product .product-gallery .product-thumbnails .col:hover img,
body.single-product .product-thumbnails .col:hover img {
  opacity: 1 !important;
}
body.single-product .product-gallery .product-thumbnails .col img,
body.single-product .product-thumbnails .col img,
body.single-product .product-gallery .product-thumbnails .col:not(.is-selected) img,
body.single-product .product-gallery .product-thumbnails .col:not(.is-nav-selected) img,
body.single-product .product-thumbnails .col:not(.is-selected) img,
body.single-product .product-thumbnails .col:not(.is-nav-selected) img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
  padding: 2px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  filter: none !important;
}

@media (max-width: 849px) {
  /* TPS PDP mobile CTA/gallery — full-width OK on small screens */
  body.single-product .product-info form.cart {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.single-product .product-info form.cart.variations_form .woocommerce-variation-add-to-cart {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.single-product .product-info form.cart,
  body.single-product .product-info form.cart .sticky-add-to-cart,
  body.single-product .product-info form.cart .woocommerce-variation-add-to-cart {
    gap: 8px !important;
  }
  body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-gallery.large-5,
  body.single-product .product-main > .row.content-row .product-gallery,
  body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-info.summary {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-gallery.large-5,
  body.single-product.tps-pdp-shopee .product-main > .row.content-row .product-info.summary {
    max-width: 100% !important;
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  body.single-product .tps-pdp-desc-row {
    flex-direction: column !important;
  }
  body.single-product .tps-pdp-desc-aside {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.single-product .tps-pdp-featured-card,
  body.single-product .tps-pdp-desc-aside #woocommerce_products-4 {
    position: static !important;
    top: auto !important;
    height: auto !important;
  }
  body.single-product .tps-pdp-featured-card ul.product_list_widget,
  body.single-product .tps-pdp-desc-aside ul.product_list_widget {
    overflow: visible !important;
  }
}

/* TPS PDP: Shopee-style gallery lightbox (shop green) */
body.tps-lb-open { overflow: hidden !important; }
.tps-pdp-lb {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.tps-pdp-lb.is-open { display: flex !important; }
.tps-pdp-lb__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.55);
}
.tps-pdp-lb__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  width: min(920px, 94vw);
  max-height: min(600px, 88vh);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
}
.tps-pdp-lb__close {
  display: none !important;
}
.tps-pdp-lb__main {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  padding: 12px 14px;
  box-sizing: border-box;
  overflow: hidden;
}
.tps-pdp-lb__frame {
  position: relative;
  width: min(100%, calc(100vh - 160px), 560px) !important;
  height: min(100%, calc(100vh - 160px), 560px) !important;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  border: 2px solid #008b4b;
  border-radius: 10px;
  box-sizing: border-box;
  background: #fff;
  overflow: hidden;
  padding: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.tps-pdp-lb__track {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}
.tps-pdp-lb__track.is-sliding {
  transition: transform 0.36s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.tps-pdp-lb__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.tps-pdp-lb__slide--prev { transform: translate3d(-100%, 0, 0); }
.tps-pdp-lb__slide--cur { transform: translate3d(0, 0, 0); }
.tps-pdp-lb__slide--next { transform: translate3d(100%, 0, 0); }
.tps-pdp-lb__slide img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain;
  object-position: center;
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
  border-radius: 0;
}
/* Soft side strips: only appear when hovering that edge */
.tps-pdp-lb__nav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 48px;
  height: auto;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: #fff;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: auto;
  transition: opacity .18s ease, background .18s ease;
}
.tps-pdp-lb__nav--prev { left: 0; }
.tps-pdp-lb__nav--next { right: 0; }
/* Only the hovered edge shows — not both when hovering main */
.tps-pdp-lb__nav:hover,
.tps-pdp-lb__nav:focus-visible {
  opacity: 1;
}
.tps-pdp-lb__nav--prev:hover,
.tps-pdp-lb__nav--prev:focus-visible {
  background: linear-gradient(90deg, rgba(55, 65, 81, 0.22) 0%, rgba(55, 65, 81, 0.08) 48%, rgba(55, 65, 81, 0) 100%);
}
.tps-pdp-lb__nav--next:hover,
.tps-pdp-lb__nav--next:focus-visible {
  background: linear-gradient(270deg, rgba(55, 65, 81, 0.22) 0%, rgba(55, 65, 81, 0.08) 48%, rgba(55, 65, 81, 0) 100%);
}
.tps-pdp-lb__nav::before {
  content: "";
  width: 12px;
  height: 12px;
  border-style: solid;
  border-color: rgba(75, 85, 99, 0.85);
  border-width: 0 2.5px 2.5px 0;
  display: block;
  box-sizing: border-box;
  opacity: 0.9;
  filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.35));
}
.tps-pdp-lb__nav--prev::before {
  transform: rotate(135deg);
  margin-left: 2px;
}
.tps-pdp-lb__nav--next::before {
  transform: rotate(-45deg);
  margin-right: 2px;
}
.tps-pdp-lb__side {
  flex: 0 0 320px;
  width: 320px;
  max-width: 36%;
  border-left: 1px solid #f0f0f0;
  padding: 22px 14px 14px;
  box-sizing: border-box;
  overflow: auto;
  background: #fff;
}
.tps-pdp-lb__title {
  margin: 10px 12px 22px 0;
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.45;
  color: #111827;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tps-pdp-lb__grid {
  display: grid;
  grid-template-columns: repeat(3, 90px);
  justify-content: start;
  gap: 10px;
  margin-top: 14px;
}
.tps-pdp-lb__thumb {
  position: relative;
  width: 90px;
  height: 90px;
  aspect-ratio: 1 / 1;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  background: #f9fafb;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.tps-pdp-lb__thumb:hover {
  border-color: #86efac;
}
.tps-pdp-lb__thumb.is-active {
  border: 2px solid #008b4b;
  box-shadow: 0 0 0 1px rgba(0, 139, 75, 0.15);
}
.tps-pdp-lb__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 3px;
  box-sizing: border-box;
}

/* Lightbox center drag + multi-slide track */
.tps-pdp-lb__frame {
  touch-action: none;
  cursor: grab;
  -webkit-user-drag: none;
  user-select: none;
  overflow: hidden;
}
.tps-pdp-lb__frame.is-dragging { cursor: grabbing; }
.tps-pdp-lb__frame.is-dragging .tps-pdp-lb__track {
  transition: none !important;
}

@media (max-width: 849px) {
  .tps-pdp-lb { padding: 8px; }
  .tps-pdp-lb__dialog {
    flex-direction: column;
    width: 100%;
    max-height: min(92vh, 860px);
    height: auto;
  }
  .tps-pdp-lb__main {
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 8px;
  }
  .tps-pdp-lb__frame {
    width: min(92vw, 46vh) !important;
    height: min(92vw, 46vh) !important;
  }
  .tps-pdp-lb__frame img {
    width: 100% !important;
    height: 100% !important;
  }
  .tps-pdp-lb__nav {
    width: 40px;
  }
  .tps-pdp-lb__side {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    border-left: 0;
    border-top: 1px solid #f0f0f0;
    max-height: 40%;
  }
}

/* TPS PDP: zoom button hover green */
body.single-product .product-gallery .zoom-button,
body.single-product .image-tools .zoom-button.button {
  background: rgba(17, 24, 39, 0.55) !important;
  border-color: transparent !important;
  color: #fff !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}
body.single-product .product-gallery .zoom-button:hover,
body.single-product .product-gallery .zoom-button:focus,
body.single-product .image-tools .zoom-button.button:hover,
body.single-product .image-tools .zoom-button.button:focus {
  background: #008b4b !important;
  border-color: #008b4b !important;
  color: #fff !important;
}
body.single-product .product-gallery .zoom-button:hover i,
body.single-product .product-gallery .zoom-button:hover .icon-expand,
body.single-product .image-tools .zoom-button:hover i {
  color: #fff !important;
}

/* TPS PDP: hide Photoswipe zoom caption / filename */
.pswp__caption,
.pswp__caption__center,
.pswp .pswp__caption,
body .pswp__ui .pswp__caption {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* TPS PDP: remove gray description shell + red tab borders */

body.single-product .tps-pdp-desc-main .tab-panels {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.single-product .tps-pdp-desc-main .woocommerce-tabs,
body.single-product .tps-pdp-desc-main .wc-tabs-wrapper,
body.single-product .tps-pdp-desc-main .tabbed-content,
body.single-product .tps-pdp-desc-main .tab-panels,
body.single-product .tps-pdp-desc-main .woocommerce-Tabs-panel,
body.single-product .tps-pdp-desc-main .panel,
body.single-product .tps-pdp-desc-main #tab-description,
body.single-product .tps-pdp-desc-main #tab-reviews {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.single-product .tps-pdp-desc-main .woocommerce-tabs::before,
body.single-product .tps-pdp-desc-main .woocommerce-tabs::after,
body.single-product .tps-pdp-desc-main .wc-tabs-wrapper::before,
body.single-product .tps-pdp-desc-main .wc-tabs-wrapper::after,
body.single-product .tps-pdp-desc-main .tabbed-content::before,
body.single-product .tps-pdp-desc-main .tabbed-content::after,
body.single-product .tps-pdp-desc-main .woocommerce-Tabs-panel::before,
body.single-product .tps-pdp-desc-main .woocommerce-Tabs-panel::after {
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs,
body.single-product .tps-pdp-desc-main .tabs,
body.single-product .tps-pdp-desc-main .product-tabs {
  border: 0 !important;
  box-shadow: none !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs::before,
body.single-product .tps-pdp-desc-main .wc-tabs::after,
body.single-product .tps-pdp-desc-main .tabs::before,
body.single-product .tps-pdp-desc-main .tabs::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs > li,
body.single-product .tps-pdp-desc-main .tabs > li,
body.single-product .tps-pdp-desc-main #tab-title-description,
body.single-product .tps-pdp-desc-main #tab-title-reviews {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs > li::before,
body.single-product .tps-pdp-desc-main .wc-tabs > li::after,
body.single-product .tps-pdp-desc-main .tabs > li::before,
body.single-product .tps-pdp-desc-main .tabs > li::after,
body.single-product .tps-pdp-desc-main #tab-title-description::before,
body.single-product .tps-pdp-desc-main #tab-title-description::after,
body.single-product .tps-pdp-desc-main #tab-title-reviews::before,
body.single-product .tps-pdp-desc-main #tab-title-reviews::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs > li > a,
body.single-product .tps-pdp-desc-main .tabs > li > a,
body.single-product .tps-pdp-desc-main #tab-title-description > a,
body.single-product .tps-pdp-desc-main #tab-title-reviews > a {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.single-product .tps-pdp-desc-main .wc-tabs > li > a::before,
body.single-product .tps-pdp-desc-main .wc-tabs > li > a::after,
body.single-product .tps-pdp-desc-main .tabs > li > a::before,
body.single-product .tps-pdp-desc-main .tabs > li > a::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: none !important;
}

/* TPS PDP: description Xem thêm / Thu gọn (Long Châu style) */
body.single-product #tab-description.tps-desc-collapsible,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsible {
  position: relative !important;
}
body.single-product #tab-description.tps-desc-collapsed .tps-desc-inner,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsed .tps-desc-inner {
  max-height: min(80vh, 720px) !important;
  overflow: hidden !important;
}
body.single-product #tab-description.tps-desc-collapsed .tps-desc-fade,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsed .tps-desc-fade {
  display: block !important;
}
body.single-product #tab-description.tps-desc-collapsed .tps-desc-inner,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsed .tps-desc-inner {
  position: relative !important;
}
body.single-product .tps-desc-fade {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 56px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.88) 45%, #fff 100%);
  z-index: 2;
}
/* When fade is a panel sibling (legacy), JS may still place it; prefer overlay on inner via JS move */
body.single-product .tps-desc-toggle {
  display: none;
  position: relative;
  z-index: 5;
  margin: 4px auto 28px;
  padding: 6px 8px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-family: "Montserrat", "Be Vietnam Pro", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  cursor: pointer;
  transition: opacity .15s ease, color .15s ease;
}
body.single-product .tps-desc-toggle:hover {
  background: transparent !important;
  color: #000 !important;
  opacity: 0.78;
}
body.single-product .tps-desc-toggle-ico {
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}
body.single-product #tab-description.tps-desc-collapsible .tps-desc-toggle,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsible .tps-desc-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
body.single-product #tab-description.tps-desc-collapsible,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-collapsible {
  text-align: center;
}
body.single-product #tab-description .tps-desc-inner,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner {
  text-align: left;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
body.single-product #tab-description .tps-desc-inner p,
body.single-product #tab-description .tps-desc-inner li,
body.single-product #tab-description .tps-desc-inner td,
body.single-product #tab-description .tps-desc-inner th,
body.single-product #tab-description .tps-desc-inner span,
body.single-product #tab-description .tps-desc-inner div,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner p,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner li,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner td,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner th,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner span,
body.single-product .woocommerce-Tabs-panel--description .tps-desc-inner div {
  font-size: 15px !important;
  line-height: 1.65 !important;
}
body.single-product #tab-description.tps-desc-expanded .tps-desc-inner,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-expanded .tps-desc-inner {
  max-height: none !important;
  overflow: visible !important;
}
body.single-product #tab-description.tps-desc-expanded .tps-desc-fade,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-expanded .tps-desc-fade {
  display: none !important;
}
body.single-product #tab-description.tps-desc-expanded .tps-desc-toggle,
body.single-product .woocommerce-Tabs-panel--description.tps-desc-expanded .tps-desc-toggle {
  margin-top: 20px !important;
}

/* TPS PDP: Brovi/product story full-width, equal left/right */
body.single-product #tab-description .tps-product-story,
body.single-product .woocommerce-Tabs-panel--description .tps-product-story {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* TPS PDP: cam kết + FAQ under Xem thêm (fills equal-height whitespace) */
body.single-product .tps-pdp-desc-main {
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .tps-pdp-desc-main .woocommerce-tabs,
body.single-product .tps-pdp-desc-main .tabbed-content,
body.single-product .tps-pdp-desc-main .product-page-sections {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
body.single-product .tps-pdp-desc-main .woocommerce-tabs .tabs,
body.single-product .tps-pdp-desc-main .wc-tabs {
  flex: 0 0 auto !important;
}
body.single-product .tps-pdp-desc-main .woocommerce-Tabs-panel,
body.single-product .tps-pdp-desc-main #tab-description {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
body.single-product .tps-desc-footer {
  position: relative !important;
  z-index: 5 !important;
  margin-top: auto !important;
  flex: 0 0 auto !important;
  text-align: left !important;
  border-top: 1px dashed #d1e7dc !important;
  background: #f7fbf8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  padding-top: 4px !important;
}
body.single-product .tps-desc-trust {
  margin: 0 !important;
  padding: 12px 14px 14px !important;
  text-align: left !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
body.single-product .tps-desc-trust-title {
  margin: 0 0 8px !important;
  font-family: "Be Vietnam Pro", "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #008b4b !important;
  opacity: 1 !important;
  letter-spacing: 0.01em !important;
}
body.single-product .tps-desc-trust-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5px 12px !important;
}
body.single-product .tps-desc-trust-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #1f2937 !important;
  opacity: 1 !important;
  text-align: left !important;
}
body.single-product .tps-desc-trust-list li > span:last-child {
  color: #1f2937 !important;
  opacity: 1 !important;
}
body.single-product .tps-desc-trust-list strong {
  color: #111827 !important;
  font-weight: 600 !important;
}
body.single-product .tps-desc-trust-list a {
  color: #008b4b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
body.single-product .tps-desc-trust-list a:hover {
  text-decoration: underline !important;
}
body.single-product .tps-desc-trust-ico {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  border-radius: 50% !important;
  background: #008b4b !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-align: center !important;
  opacity: 1 !important;
}
body.single-product .tps-desc-faq {
  margin: 10px 0 0 !important;
  padding: 12px 14px 12px !important;
  border-top: 1px solid #e8f3ec !important;
  text-align: left !important;
}
body.single-product .tps-desc-faq-title {
  margin: 0 0 8px !important;
  font-family: "Be Vietnam Pro", "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #008b4b !important;
}
body.single-product .tps-desc-faq-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
body.single-product .tps-desc-faq-item {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
  text-align: left !important;
}
body.single-product .tps-desc-faq-item summary {
  list-style: none !important;
  cursor: pointer !important;
  padding: 9px 30px 9px 12px !important;
  position: relative !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: #1f2937 !important;
  user-select: none !important;
}
body.single-product .tps-desc-faq-item summary::-webkit-details-marker {
  display: none !important;
}
body.single-product .tps-desc-faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #008b4b !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
body.single-product .tps-desc-faq-item[open] summary::after {
  content: "−" !important;
}
body.single-product .tps-desc-faq-item summary:hover {
  background: #f9fafb !important;
}
body.single-product .tps-desc-faq-a {
  padding: 0 10px 9px !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #4b5563 !important;
  text-align: left !important;
}
body.single-product .tps-desc-faq-a a {
  color: #008b4b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.single-product .tps-desc-faq-a a:hover {
  text-decoration: underline !important;
}
@media (max-width: 849px) {
  body.single-product .tps-desc-trust-list {
    grid-template-columns: 1fr !important;
  }
  body.single-product .tps-desc-fade {
    bottom: 0 !important;
  }
}

body.single-product .tps-pdp-featured-card .tps-feat-media,
body.single-product .tps-pdp-desc-aside .tps-feat-media,
body.single-product .tps-pdp-featured-card .tps-feat-media::before,
body.single-product .tps-pdp-desc-aside .tps-feat-media::before {
  background: #fff !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* TPS PDP: hide ATC success notice on single-product only
   Keep .woocommerce-error / .woocommerce-info (stock, validation).
   Cart / checkout notices stay visible (not scoped to body.single-product). */
body.single-product .woocommerce-message,
body.single-product .woocommerce-message.message-wrapper,
body.single-product .message-wrapper > .woocommerce-message,
body.single-product .woocommerce-notices-wrapper > .woocommerce-message,
body.single-product .message-container.success-color,
body.single-product .message-wrapper.success-color,
body.single-product .wc-block-components-notice-banner.is-success {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.single-product .woocommerce-notices-wrapper:has(.woocommerce-message):not(:has(.woocommerce-error)):not(:has(.woocommerce-info)),
body.single-product .woocommerce-notices-wrapper:has(.message-container.success-color):not(:has(.woocommerce-error)):not(:has(.woocommerce-info)) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}


/* TPS: hide WooCommerce "XEM GIỎ HÀNG →" (a.added_to_cart.wc-forward) after AJAX ATC
   Sitewide — PDP + product loops (homepage/shop). Mini-cart open stays via Flatsome/JS.
   High specificity beats .product-small .box-image .tps-hover-bar a { display:inline-flex }. */
a.added_to_cart,
.added_to_cart.wc-forward,
.product-small a.added_to_cart,
.box-image a.added_to_cart,
.product-small .box-image a.added_to_cart,
.product-small .box-image .tps-hover-bar a.added_to_cart,
.tps-hover-bar a.added_to_cart,
body.single-product a.added_to_cart,
body.single-product .added_to_cart.wc-forward,
.mfp-content a.added_to_cart,
.product-quick-view-container a.added_to_cart,
.product-lightbox a.added_to_cart {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* TPS PDP + Quick View: AJAX ATC loading + toast + smooth mini-cart pop */
body.single-product .product-info form.cart .single_add_to_cart_button.tps-atc-loading,
body.single-product form.cart .single_add_to_cart_button.tps-atc-loading,
.mfp-content form.cart .single_add_to_cart_button.tps-atc-loading,
.product-quick-view-container form.cart .single_add_to_cart_button.tps-atc-loading,
.product-lightbox form.cart .single_add_to_cart_button.tps-atc-loading,
.product-lightbox-inner form.cart .single_add_to_cart_button.tps-atc-loading {
  opacity: 0.78 !important;
  pointer-events: none !important;
  cursor: wait !important;
}
body.single-product .product-info form.cart .single_add_to_cart_button.tps-atc-loading .tps-atc-label,
.mfp-content form.cart .single_add_to_cart_button.tps-atc-loading .tps-atc-label,
.product-quick-view-container form.cart .single_add_to_cart_button.tps-atc-loading .tps-atc-label {
  letter-spacing: 0;
}

/* Hide success notices inside Quick View (errors/info stay) */
.mfp-content .woocommerce-message,
.product-quick-view-container .woocommerce-message,
.product-lightbox .woocommerce-message,
.mfp-content .message-container.success-color,
.product-quick-view-container .message-container.success-color {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Smooth open for header mini-cart when opened via AJAX ATC.
   Does not override normal hover cart (only when .tps-cart-pop is present). */
.header .cart-item.has-dropdown.tps-cart-pop > .nav-dropdown {
  transition:
    opacity 0.26s ease,
    transform 0.26s cubic-bezier(0.22, 0.61, 0.36, 1),
    visibility 0.26s ease !important;
  transform: translateY(10px);
  transform-origin: top right;
  will-change: opacity, transform;
}
.header .cart-item.has-dropdown.tps-cart-pop.current-dropdown > .nav-dropdown,
.header .cart-item.has-dropdown.tps-cart-pop.cart-active > .nav-dropdown,
.header .cart-item.has-dropdown.tps-cart-pop:hover > .nav-dropdown {
  opacity: 1 !important;
  transform: translateY(0);
  visibility: visible;
  max-height: none;
}

.tps-atc-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(12px);
  z-index: 100000;
  max-width: min(92vw, 360px);
  padding: 10px 16px;
  border-radius: 8px;
  background: rgba(33, 33, 33, 0.92);
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.tps-atc-toast.is-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
