/*
 * Giao diện Woo v22.25.473
 * Theme-container boundary and synchronized overflow guard.
 *
 * Layouts stay inside the current Flatsome/UX Builder content column. This
 * file deliberately contains no viewport breakout, no negative margins and
 * no 100vw/content-width JavaScript.
 */

:root{
  --ttgdw-ui-primary:var(--wp-sync-theme-primary,#0d6efd);
  --ttgdw-ui-primary-dark:color-mix(in srgb,var(--wp-sync-theme-primary,#0d6efd) 76%,#000);
  --ttgdw-ui-accent:#ff5a00;
  --ttgdw-ui-danger:#ff3b55;
  --ttgdw-ui-bg:#f5f7fb;
  --ttgdw-ui-card:#fff;
  --ttgdw-ui-soft:#eef6ff;
  --ttgdw-ui-border:#dfe7f2;
  --ttgdw-ui-border-strong:#b9c8da;
  --ttgdw-ui-text:#0f172a;
  --ttgdw-ui-muted:#64748b;
  --ttgdw-ui-radius:14px;
  --ttgdw-ui-radius-sm:10px;
  --ttgdw-ui-shadow:0 8px 26px rgba(15,23,42,.055);
  --ttgdw-ui-shadow-soft:0 3px 12px rgba(15,23,42,.04);
}

html body .wp-sync-template,
html body .wp-sync-cc-template,
html body .ttgdw-theme-shop-shell{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:clip!important;
}

/* Keep the theme's own .container max-width. Only normalize its children. */
html body .ttgdw-theme-container,
html body .ttgdw-theme-container > .row,
html body .ttgdw-theme-col,
html body .ttgdw-theme-shell__inner{
  box-sizing:border-box!important;
  min-width:0!important;
}
html body .ttgdw-theme-container{margin-left:auto!important;margin-right:auto!important}
html body .ttgdw-theme-col,
html body .ttgdw-theme-shell__inner{width:100%!important;max-width:100%!important}

/* A product-detail shortcode may be placed in a full-width UX Builder section.
   Giving it the native .container class makes its content align exactly with
   Flatsome's header/footer container instead of expanding to the viewport. */
html body .ttgdw-product-layout-container{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Avoid double horizontal padding when the shortcode already lives in a
   Flatsome/UX Builder container. */
html body .container .ttgdw-product-layout-container{
  max-width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
}


/* The page main remains full-width; the nested Flatsome .container controls content width. */
html body.wp-sync-cc-template-active :is(#main,.main,.content-area,.site-content){
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Shortcodes fill only their current parent/theme column. */
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
){
  box-sizing:border-box!important;
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:clip!important;
  overflow-wrap:break-word!important;
  isolation:isolate;
  container-type:inline-size;
  container-name:ttgdw-layout;
}

/* Preserve every preset's own max-width instead of overriding it. */
html body .wp-sync-detail-v1987 .wp-sync-detail-v1987__wrap,
html body .wp-sync-pdetail-v2002 .wpsd2-wrap,
html body .wp-sync-pdetail-v2013 .wpsd3-wrap,
html body .wp-sync-pdetail-v2020 .wpsd4-wrap,
html body .wp-sync-shop-v2021 .wpss1-wrap,
html body .wp-sync-shop-v2022 .wpss2-wrap,
html body .wp-sync-shop-v2030 .wpss3-wrap,
html body .wp-sync-shop-v2030-list .wpss4-wrap,
html body .wp-sync-news-v2032 .wpsn1-wrap,
html body .wp-sync-news-v2032 .wpsn2-wrap,
html body .wp-sync-news-page-v2033 .wpsnp-wrap,
html body .wp-sync-news-page-v2033 .wpsnp2-wrap,
html body .wp-sync-news-page-v2033 .wpsnp3-wrap,
html body .wp-sync-cc{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Never replace a preset max-width with 100%. These caps are also required
   when a shortcode is placed directly in a full-width UX Builder section. */
html body .wp-sync-detail-v1987 .wp-sync-detail-v1987__wrap{max-width:min(100%,var(--wpsd-max,1180px))!important}
html body .wp-sync-pdetail-v2002 .wpsd2-wrap{max-width:min(100%,var(--wpsd2-max,1200px))!important}
html body .wp-sync-pdetail-v2013 .wpsd3-wrap{max-width:min(100%,var(--wpsd3-max,1180px))!important}
html body .wp-sync-pdetail-v2020 .wpsd4-wrap{max-width:min(100%,var(--wpsd4-max,1180px))!important}

html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
){
  --wps-ui-primary:var(--ttgdw-ui-primary);
  --wps-ui-primary-dark:var(--ttgdw-ui-primary-dark);
  --wps-ui-accent:var(--ttgdw-ui-accent);
  --wps-ui-danger:var(--ttgdw-ui-danger);
  --wps-ui-bg:var(--ttgdw-ui-bg);
  --wps-ui-card:var(--ttgdw-ui-card);
  --wps-ui-soft:var(--ttgdw-ui-soft);
  --wps-ui-border:var(--ttgdw-ui-border);
  --wps-ui-border-strong:var(--ttgdw-ui-border-strong);
  --wps-ui-text:var(--ttgdw-ui-text);
  --wps-ui-muted:var(--ttgdw-ui-muted);
  --wps-ui-radius:var(--ttgdw-ui-radius);
  --wps-ui-radius-sm:var(--ttgdw-ui-radius-sm);
  --wps-ui-shadow:var(--ttgdw-ui-shadow);
  --wps-ui-shadow-soft:var(--ttgdw-ui-shadow-soft);
}

/* Every grid/flex item may shrink before it crosses its card border. */
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) *,
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) *::before,
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) *::after{
  box-sizing:border-box!important;
}

html body .wp-sync-detail-v1987 :is(.wp-sync-detail-v1987__hero,.wp-sync-detail-v1987__main,.wp-sync-detail-v1987__sidebar,.wp-sync-detail-card),
html body .wp-sync-pdetail-v2002 :is(.wpsd2-hero,.wpsd2-hero-left,.wpsd2-hero-right,.wpsd2-flow,.wpsd2-flow-left,.wpsd2-flow-right,.wpsd2-body,.wpsd2-body-main,.wpsd2-body-side,.wpsd2-card),
html body .wp-sync-pdetail-v2013 :is(.wpsd3-top,.wpsd3-col,.wpsd3-col-media,.wpsd3-col-summary,.wpsd3-col-side,.wpsd3-body,.wpsd3-main,.wpsd3-aside,.wpsd3-card,.wp-sync-detail-card),
html body .wp-sync-pdetail-v2020 :is(.wpsd4-hero,.wpsd4-hero__gallery,.wpsd4-hero__summary,.wpsd4-main,.wpsd4-main__content,.wpsd4-main__sidebar,.wpsd4-card,.wpsd4-buy-panel),
html body .wp-sync-shop-v2021 :is(.wpss1-layout,.wpss1-main,.wpss1-grid,.wpss1-product-card),
html body .wp-sync-shop-v2022 :is(.wpss2-layout,.wpss2-main,.wpss2-sidebar,.wpss2-grid,.wpss2-card),
html body .wp-sync-shop-v2030 :is(.wpss3-grid,.wpss3-card),
html body .wp-sync-shop-v2030-list :is(.wpss4-list,.wpss4-row,.wpss4-info,.wpss4-buy),
html body .wp-sync-news-v2032 :is(.wpsn1-hero,.wpsn1-layout,.wpsn1-left,.wpsn1-content,.wpsn1-right,.wpsn2-hero,.wpsn2-layout,.wpsn2-main,.wpsn2-sidebar),
html body .wp-sync-news-page-v2033 :is(.wpsnp-top,.wpsnp-side-grid,.wpsnp-section-grid,.wpsnp2-portal,.wpsnp2-grid,.wpsnp3-deal-row,.wpsnp3-mix),
html body .wp-sync-cc :is(.wpscc-shell,.wpscc-cart-grid,.wpscc-checkout-grid,.wpscc-cart-main,.wpscc-cart-side,.wpscc-checkout-main,.wpscc-checkout-side,.woocommerce,.woocommerce-cart-form,.cart-collaterals){
  min-width:0!important;
  max-width:100%!important;
}

/* Rich content, media and form controls remain inside the current card. */
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-shop-v2021,
  .wp-sync-shop-v2022,
  .wp-sync-shop-v2030,
  .wp-sync-shop-v2030-list,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) :is(img,picture,video,iframe,canvas,svg,form,fieldset,input,select,textarea,button){
  max-width:100%!important;
}
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,label,a,strong,span){
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal;
}
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) :is(pre,code){
  max-width:100%!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
html body :is(
  .wp-sync-detail-v1987,
  .wp-sync-pdetail-v2002,
  .wp-sync-pdetail-v2013,
  .wp-sync-pdetail-v2020,
  .wp-sync-news-v2032,
  .wp-sync-news-page-v2033,
  .wp-sync-cc
) :is(td,th){min-width:0!important;overflow-wrap:anywhere!important}

/* Product sliders scroll only inside their own card, never outside the layout. */
html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products .wp-sync-products{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products :is(.wp-sync-products.is-slider,.wp-sync-products.is-row){
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:auto!important;
}
html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products .wp-sync-product-card{
  min-width:0!important;
  max-width:100%!important;
}
html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products :is(.wp-sync-product-card__title,.wp-sync-product-card__meta,.wp-sync-product-card__price,.wp-sync-product-card__price *){
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* detail_03 used percentages totaling 100% plus gaps; fractions keep gaps inside. */
html body .wp-sync-pdetail-v2013 .wpsd3-top{
  grid-template-columns:minmax(0,1.18fr) minmax(0,.96fr) minmax(240px,.82fr)!important;
}

@media (max-width:1180px){
  html body .wp-sync-pdetail-v2013 .wpsd3-top{
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important;
  }
  html body .wp-sync-pdetail-v2013 .wpsd3-col-side{
    grid-column:1/-1!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (max-width:920px){
  html body .wp-sync-pdetail-v2013 :is(.wpsd3-top,.wpsd3-body,.wpsd3-col-side),
  html body .wp-sync-pdetail-v2002 :is(.wpsd2-hero,.wpsd2-body,.wpsd2-flow),
  html body .wp-sync-pdetail-v2020 :is(.wpsd4-hero,.wpsd4-main),
  html body .wp-sync-news-v2032 :is(.wpsn1-layout,.wpsn2-layout),
  html body .wp-sync-news-page-v2033 :is(.wpsnp-top,.wpsnp2-portal,.wpsnp3-deal-row,.wpsnp3-mix),
  html body .wp-sync-cc :is(.wpscc-cart-grid,.wpscc-checkout-grid){
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body :is(.wp-sync-pdetail-v2002 .wpsd2-hero-right,.wp-sync-pdetail-v2002 .wpsd2-body-side,.wp-sync-pdetail-v2013 .wpsd3-aside,.wp-sync-pdetail-v2020 .wpsd4-main__sidebar,.wp-sync-news-v2032 .wpsn1-left,.wp-sync-news-v2032 .wpsn1-right,.wp-sync-news-v2032 .wpsn2-sidebar,.wp-sync-cc .wpscc-cart-side,.wp-sync-cc .wpscc-checkout-side){
    position:static!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  html body :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products :is(.wp-sync-products.is-slider,.wp-sync-products.is-row) > .wp-sync-product-card{
    flex:0 0 calc((100% - 12px)/2)!important;
    min-width:0!important;
  }
}

@media (max-width:760px){
  html body :is(.wp-sync-shop-v2021 .wpss1-grid,.wp-sync-shop-v2022 .wpss2-grid,.wp-sync-shop-v2030 .wpss3-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  html body .wp-sync-shop-v2030-list .wpss4-row{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:10px!important;
  }
  html body .wp-sync-shop-v2030-list .wpss4-buy{
    grid-column:1/-1!important;
    width:100%!important;
    text-align:left!important;
  }
  html body :is(.wp-sync-news-v2032 .wpsn1-related-grid,.wp-sync-news-v2032 .wpsn2-related-grid,.wp-sync-news-v2032 .wpsn-services,.wp-sync-news-page-v2033 .wpsnp-services,.wp-sync-news-page-v2033 .wpsnp-products-list){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:420px){
  html body .wp-sync-shop-v2030-list .wpss4-row{grid-template-columns:82px minmax(0,1fr)!important}
  html body :is(.wp-sync-pdetail-v2002 .wpsd2-general,.wp-sync-pdetail-v2002 .wpsd2-highlight-specs){grid-template-columns:minmax(0,1fr)!important}
}

@media (max-width:350px){
  html body :is(.wp-sync-shop-v2021 .wpss1-grid,.wp-sync-shop-v2022 .wpss2-grid,.wp-sync-shop-v2030 .wpss3-grid),
  html body .wp-sync-shop-v2030-list .wpss4-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* Container queries handle shortcodes placed in a narrow UX Builder column. */
@container ttgdw-layout (max-width:1100px){
  .wp-sync-pdetail-v2013 .wpsd3-top{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important}
  .wp-sync-pdetail-v2013 .wpsd3-col-side{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@container ttgdw-layout (max-width:900px){
  .wp-sync-pdetail-v2013 :is(.wpsd3-top,.wpsd3-body,.wpsd3-col-side),
  .wp-sync-pdetail-v2002 :is(.wpsd2-hero,.wpsd2-body,.wpsd2-flow),
  .wp-sync-pdetail-v2020 :is(.wpsd4-hero,.wpsd4-main),
  .wp-sync-news-v2032 :is(.wpsn1-layout,.wpsn2-layout),
  .wp-sync-news-page-v2033 :is(.wpsnp-top,.wpsnp2-portal,.wpsnp3-deal-row,.wpsnp3-mix),
  .wp-sync-cc :is(.wpscc-cart-grid,.wpscc-checkout-grid){grid-template-columns:minmax(0,1fr)!important}
  :is(.wp-sync-detail-v1987,.wp-sync-pdetail-v2002,.wp-sync-pdetail-v2013,.wp-sync-pdetail-v2020) .is-related-products :is(.wp-sync-products.is-slider,.wp-sync-products.is-row) > .wp-sync-product-card{flex:0 0 calc((100% - 12px)/2)!important;min-width:0!important}
}
@container ttgdw-layout (max-width:620px){
  :is(.wp-sync-shop-v2021 .wpss1-grid,.wp-sync-shop-v2022 .wpss2-grid,.wp-sync-shop-v2030 .wpss3-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .wp-sync-pdetail-v2013 .wpsd3-reviews-row .wp-sync-review-form__form,
  .wp-sync-pdetail-v2002 .wp-sync-review-form__form{grid-template-columns:minmax(0,1fr)!important}
}
