/* =========================================================
   GIANG THUY - WOOCOMMERCE UNIFIED V4
   1 plugin duy nhất. Scope theo body class WooCommerce chuẩn.
   ========================================================= */
:root{
  --gt4-navy:#071f34;
  --gt4-teal:#009b8f;
  --gt4-green:#16a56f;
  --gt4-line:#dfe9e8;
  --gt4-soft:#f5faf9;
  --gt4-muted:#5d7180;
  --gt4-amber:#f59e0b;
}

/* ---------- Reset wrapper WooCommerce, không đụng trang thường ---------- */
body.woocommerce-shop #primary,
body.post-type-archive-product #primary,
body.tax-product_cat #primary,
body.tax-product_tag #primary,
body.single-product #primary,
body.woocommerce-shop .content-area,
body.post-type-archive-product .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.single-product .content-area,
body.woocommerce-shop main.site-main,
body.post-type-archive-product main.site-main,
body.tax-product_cat main.site-main,
body.tax-product_tag main.site-main,
body.single-product main.site-main{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.woocommerce-shop #secondary,
body.post-type-archive-product #secondary,
body.tax-product_cat #secondary,
body.tax-product_tag #secondary,
body.single-product #secondary,
body.woocommerce-shop .widget-area,
body.post-type-archive-product .widget-area,
body.tax-product_cat .widget-area,
body.tax-product_tag .widget-area,
body.single-product .widget-area{
  display:none!important;
}

/* =========================================================
   SHOP / ARCHIVE — cùng nhịp rộng với Giới thiệu / Dịch vụ
   ========================================================= */
body.woocommerce-shop .wc-shell,
body.post-type-archive-product .wc-shell,
body.tax-product_cat .wc-shell,
body.tax-product_tag .wc-shell,
body.woocommerce-shop .site-main > .woocommerce,
body.post-type-archive-product .site-main > .woocommerce,
body.tax-product_cat .site-main > .woocommerce,
body.tax-product_tag .site-main > .woocommerce,
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce{
  width:min(1200px,calc(100% - 48px))!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce{
  padding-top:48px!important;
  padding-bottom:72px!important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count{
  float:left!important;
  margin:8px 0 28px!important;
  color:#3d5360!important;
  font-size:14px!important;
}
body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering{
  float:right!important;
  margin:0 0 28px!important;
}
body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select{
  min-width:220px!important;
  height:42px!important;
  padding:0 36px 0 13px!important;
  border:1px solid var(--gt4-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#324a58!important;
  font-size:14px!important;
}

/* Force 4 cột bất kể theme gắn columns-3/6 */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  clear:both!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after{
  display:none!important;
  content:none!important;
}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.woocommerce-shop ul.products.columns-3 li.product,
body.woocommerce-shop ul.products.columns-4 li.product,
body.woocommerce-shop ul.products.columns-5 li.product,
body.woocommerce-shop ul.products.columns-6 li.product{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:13px 13px 15px!important;
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
  border:1px solid var(--gt4-line)!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(7,39,53,.055)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
body.woocommerce-shop ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 30px rgba(7,39,53,.09)!important;
}
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img{
  width:100%!important;
  height:210px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 0 12px!important;
  padding:6px!important;
  border-radius:12px!important;
  background:var(--gt4-soft)!important;
  box-sizing:border-box!important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product h2,
body.post-type-archive-product ul.products li.product h2{
  margin:0 2px 10px!important;
  padding:0!important;
  color:var(--gt4-navy)!important;
  font-size:15px!important;
  line-height:1.38!important;
  font-weight:800!important;
  min-height:4.15em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price{
  margin:0 2px 10px!important;
  color:var(--gt4-teal)!important;
  font-size:15px!important;
  font-weight:800!important;
}
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button{
  width:100%!important;
  min-height:40px!important;
  margin:auto 0 0!important;
  padding:10px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:var(--gt4-teal)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  text-align:center!important;
}

/* =========================================================
   SINGLE PRODUCT — compact, aligned, không full màn hình
   ========================================================= */
body.single-product .wc-shell,
body.single-product .site-main > .woocommerce,
body.single-product .woocommerce{
  width:min(1160px,calc(100% - 48px))!important;
  max-width:1160px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce{
  padding-top:38px!important;
  padding-bottom:68px!important;
}
body.single-product .woocommerce div.product{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
  gap:28px 44px!important;
  align-items:start!important;
  margin:0!important;
}
body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after{
  display:none!important;
  content:none!important;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery,
body.single-product .woocommerce div.product .images,
body.single-product .woocommerce div.product .summary,
body.single-product .woocommerce div.product .entry-summary{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery,
body.single-product .woocommerce div.product .images{
  border:1px solid var(--gt4-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(7,39,53,.06)!important;
  overflow:hidden!important;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery img,
body.single-product .woocommerce div.product .images img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:540px!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.single-product .woocommerce div.product .summary,
body.single-product .woocommerce div.product .entry-summary{
  padding:8px 0 0!important;
}
body.single-product .woocommerce div.product .product_title{
  margin:0 0 16px!important;
  color:var(--gt4-navy)!important;
  font-size:clamp(28px,2.35vw,36px)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  font-weight:800!important;
}
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price{
  margin:8px 0 20px!important;
  color:var(--gt4-teal)!important;
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
body.single-product .woocommerce-product-details__short-description{
  color:var(--gt4-muted)!important;
  font-size:15px!important;
  line-height:1.7!important;
}
body.single-product .woocommerce div.product form.cart{
  margin:18px 0 22px!important;
}
body.single-product .woocommerce div.product form.cart .qty{
  height:42px!important;
}
body.single-product .woocommerce div.product form.cart .button{
  min-height:42px!important;
  border-radius:8px!important;
  background:var(--gt4-teal)!important;
}
body.single-product .woocommerce div.product .product_meta{
  margin-top:22px!important;
  color:#60727d!important;
  font-size:14px!important;
  line-height:1.7!important;
}

/* Tabs + description + related full hàng */
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .related,
body.single-product .woocommerce div.product .up-sells{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs{
  margin:18px 0 0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel > h2:first-child{
  display:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  margin:0 0 24px!important;
  padding:0!important;
  border-bottom:1px solid var(--gt4-line)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before{
  border:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:0!important;
  background:#f1f7f6!important;
  margin:0 8px 0 0!important;
  padding:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:10px 18px!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--gt4-teal)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:#fff!important;
}

/* Related products 4 cột, vừa phải */
body.single-product .related ul.products,
body.single-product .up-sells ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
}
body.single-product .related ul.products li.product,
body.single-product .up-sells ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
}

/* =========================================================
   LUXPOWER ARTICLE — giữ style hiện tại nhưng scale xuống
   ========================================================= */
.gtlux-product{
  --gt-navy:#061d33;
  --gt-teal:#008f87;
  --gt-green:#16a56f;
  --gt-soft:#f3f8f7;
  --gt-line:#dce7e8;
  --gt-muted:#5b6e7a;
  --gt-amber:#f59e0b;
  color:#132735;
  font-size:15px;
  line-height:1.65;
  width:100%;
  max-width:none;
  overflow:hidden;
}
.gtlux-product *{box-sizing:border-box}
.gtlux-product img{display:block;max-width:100%;height:auto}
.gtlux-product a{text-decoration:none}
.gtlux-frame{width:min(1020px,100%);margin:0 auto;padding:0 22px}
.gtlux-hero{margin:0 0 28px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#061d33 0%,#073f46 64%,#087566 100%);color:#fff;box-shadow:0 18px 45px rgba(4,20,35,.12)}
.gtlux-hero-inner{padding:40px 42px 0}
.gtlux-kicker{display:inline-flex;align-items:center;gap:8px;color:#83ebd5;font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.gtlux-hero h2{margin:10px 0 14px;color:#fff;font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;letter-spacing:-.04em;max-width:820px}
.gtlux-hero h2 strong{color:#38d7ac}
.gtlux-hero p{max-width:760px;margin:0;color:#cfe1e5;font-size:1rem}
.gtlux-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 28px}
.gtlux-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:8px;font-weight:800}
.gtlux-btn-primary{background:#27d19f;color:#05291f!important}
.gtlux-btn-outline{border:1px solid rgba(255,255,255,.38);color:#fff!important}
.gtlux-hero-media{padding:0 18px 18px}
.gtlux-hero-media img{width:100%;border-radius:13px;border:1px solid rgba(255,255,255,.2);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.gtlux-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gt-line);border:1px solid var(--gt-line);border-radius:15px;overflow:hidden;margin:0 0 30px}
.gtlux-strip article{padding:16px 17px;background:#fff}
.gtlux-strip b{display:block;color:var(--gt-navy);font-size:.96rem}
.gtlux-strip span{color:var(--gt-muted);font-size:.82rem}
.gtlux-section{padding:38px 0}
.gtlux-section-alt{background:var(--gt-soft);border-radius:20px;margin:10px 0;padding:42px 0}
.gtlux-eyebrow{margin-bottom:7px;color:var(--gt-teal);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.gtlux-product h3.gtlux-title{margin:0 0 12px;color:var(--gt-navy);font-size:clamp(1.65rem,2.3vw,2.25rem);line-height:1.14;letter-spacing:-.03em}
.gtlux-lead{max-width:820px;margin:0;color:#536977;font-size:.98rem}
.gtlux-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.gtlux-card{padding:18px;border:1px solid var(--gt-line);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(4,20,35,.04)}
.gtlux-card-icon{font-size:1.5rem;margin-bottom:7px}
.gtlux-card h4{margin:0 0 5px;color:var(--gt-navy);font-size:1rem}
.gtlux-card p{margin:0;color:var(--gt-muted);font-size:.88rem}
.gtlux-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:center}
.gtlux-split-reverse .gtlux-copy{order:2}.gtlux-split-reverse .gtlux-media{order:1}
.gtlux-media img{width:100%;border:1px solid var(--gt-line);border-radius:15px;box-shadow:0 12px 28px rgba(4,20,35,.07)}
.gtlux-caption{margin-top:7px;color:#72828b;font-size:.76rem;text-align:center}
.gtlux-checks{list-style:none!important;margin:17px 0 0!important;padding:0!important}
.gtlux-checks li{position:relative;margin:7px 0!important;padding:0 0 0 24px!important}
.gtlux-checks li::before{content:'✓';position:absolute;left:0;top:0;color:var(--gt-green);font-weight:900}
.gtlux-note{margin-top:17px;padding:13px 15px;border-left:4px solid var(--gt-amber);border-radius:8px;background:#fff8e9;color:#704f18}
.gtlux-version-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:21px}
.gtlux-version{padding:22px;border-radius:15px;background:var(--gt-navy);color:#dcebf0}
.gtlux-version h4{margin:5px 0 9px;color:#fff;font-size:1.22rem}
.gtlux-version small{color:#71dbc7;font-weight:850;letter-spacing:.08em}
.gtlux-version ul{margin:0;padding-left:18px}
.gtlux-table-wrap{overflow:auto;margin-top:16px;border:1px solid var(--gt-line);border-radius:12px;background:#fff}
.gtlux-table{width:100%;min-width:620px;border-collapse:collapse}
.gtlux-table th,.gtlux-table td{padding:10px 12px;border-bottom:1px solid var(--gt-line);text-align:left}
.gtlux-table th{background:#f5f9f8;color:var(--gt-navy)}
.gtlux-faq details{padding:13px 0;border-bottom:1px solid var(--gt-line)}
.gtlux-faq summary{color:var(--gt-navy);font-weight:850;cursor:pointer}
.gtlux-contact{margin:16px 0 0;padding:26px;border-radius:17px;background:linear-gradient(135deg,#063d36,#0b5b63);color:#fff}
.gtlux-contact h3{margin:0 0 8px;color:#fff;font-size:1.55rem}
.gtlux-contact p{margin:5px 0;color:#d3e8e8}
.gtlux-contact-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}
.gtlux-contact-links a{display:inline-flex;padding:9px 14px;border-radius:8px;background:#fff;color:#07372f!important;font-weight:850}
.gtlux-disclaimer{margin-top:16px;color:#75838c;font-size:.78rem}

@media(max-width:1100px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.single-product .woocommerce div.product{grid-template-columns:1fr 1fr!important;gap:28px!important}
}
@media(max-width:820px){
  body.woocommerce-shop .wc-shell,
  body.post-type-archive-product .wc-shell,
  body.tax-product_cat .wc-shell,
  body.tax-product_tag .wc-shell,
  body.single-product .wc-shell,
  body.woocommerce-shop .woocommerce,
  body.post-type-archive-product .woocommerce,
  body.tax-product_cat .woocommerce,
  body.tax-product_tag .woocommerce,
  body.single-product .woocommerce{width:calc(100% - 28px)!important}
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  body.single-product .woocommerce div.product{grid-template-columns:1fr!important;gap:24px!important}
  body.single-product .woocommerce div.product .product_title{font-size:30px!important}
  body.single-product .related ul.products,
  body.single-product .up-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gtlux-strip{grid-template-columns:1fr 1fr}
  .gtlux-grid3{grid-template-columns:1fr}
  .gtlux-split{grid-template-columns:1fr;gap:22px}
  .gtlux-split-reverse .gtlux-copy,.gtlux-split-reverse .gtlux-media{order:initial}
  .gtlux-version-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  body.woocommerce-shop .wc-shell,
  body.post-type-archive-product .wc-shell,
  body.tax-product_cat .wc-shell,
  body.tax-product_tag .wc-shell,
  body.single-product .wc-shell,
  body.woocommerce-shop .woocommerce,
  body.post-type-archive-product .woocommerce,
  body.tax-product_cat .woocommerce,
  body.tax-product_tag .woocommerce,
  body.single-product .woocommerce{width:calc(100% - 20px)!important}
  body.woocommerce-shop .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count,
  body.tax-product_cat .woocommerce-result-count,
  body.tax-product_tag .woocommerce-result-count,
  body.woocommerce-shop .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering,
  body.tax-product_tag .woocommerce-ordering{float:none!important;width:100%!important}
  body.woocommerce-shop .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering select,
  body.tax-product_cat .woocommerce-ordering select,
  body.tax-product_tag .woocommerce-ordering select{width:100%!important}
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{grid-template-columns:1fr!important}
  body.woocommerce-shop ul.products li.product img,
  body.post-type-archive-product ul.products li.product img{height:240px!important}
  body.single-product .woocommerce div.product .product_title{font-size:27px!important}
  body.single-product .related ul.products,
  body.single-product .up-sells ul.products{grid-template-columns:1fr!important}
  .gtlux-frame{padding:0 14px}
  .gtlux-hero{border-radius:16px}
  .gtlux-hero-inner{padding:28px 19px 0}
  .gtlux-hero h2{font-size:2rem}
  .gtlux-hero-media{padding:0 12px 12px}
  .gtlux-strip{grid-template-columns:1fr}
  .gtlux-section,.gtlux-section-alt{padding:31px 0}
  .gtlux-section-alt{border-radius:15px}
  .gtlux-contact{padding:22px 18px}
}
