/* ThietBiSpaHP V8.5 — GeneratePress/WooCommerce wide content module.
   Only loaded on single posts, single products, shop/product taxonomies,
   blog archives and search. Cart/Checkout/My Account are intentionally excluded. */

/* ---------- Shared shell ---------- */
body.tbhp-wide-layout #page{
  width:100%!important;
  max-width:none!important;
}
body.tbhp-wide-layout .site-content,
body.tbhp-wide-layout .grid-container.site-content{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.tbhp-wide-layout #primary,
body.tbhp-wide-layout .content-area,
body.tbhp-wide-layout .site-main{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.tbhp-wide-layout article,
body.tbhp-wide-layout .inside-article{
  min-width:0!important;
}
body.tbhp-wide-layout img,
body.tbhp-wide-layout iframe,
body.tbhp-wide-layout video,
body.tbhp-wide-layout table{
  max-width:100%;
}

/* ---------- Single posts ---------- */
body.single-post.tbhp-wide-post .site-content{
  padding-top:30px!important;
  padding-bottom:68px!important;
}
body.single-post.tbhp-wide-post article.post{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.single-post.tbhp-wide-post .inside-article{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(28px,3.2vw,48px)!important;
  border-radius:26px!important;
}
body.single-post.tbhp-wide-post .entry-header,
body.single-post.tbhp-wide-post .post-image,
body.single-post.tbhp-wide-post .entry-content,
body.single-post.tbhp-wide-post .entry-footer,
body.single-post.tbhp-wide-post .comments-area,
body.single-post.tbhp-wide-post .post-navigation{
  width:min(1280px,100%)!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.single-post.tbhp-wide-post .entry-header{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
}
body.single-post.tbhp-wide-post .entry-title{
  max-width:1120px!important;
}
body.single-post.tbhp-wide-post .entry-content{
  font-size:17px!important;
  line-height:1.82!important;
}
body.single-post.tbhp-wide-post .entry-content>p,
body.single-post.tbhp-wide-post .entry-content>ul,
body.single-post.tbhp-wide-post .entry-content>ol,
body.single-post.tbhp-wide-post .entry-content>blockquote{
  max-width:none!important;
}
body.single-post.tbhp-wide-post .entry-content .wp-block-table,
body.single-post.tbhp-wide-post .entry-content .wp-block-image,
body.single-post.tbhp-wide-post .entry-content figure,
body.single-post.tbhp-wide-post .entry-content table{
  width:100%;
  max-width:100%!important;
}
body.single-post.tbhp-wide-post #ez-toc-container,
body.single-post.tbhp-wide-post .ez-toc-container,
body.single-post.tbhp-wide-post .lwptoc,
body.single-post.tbhp-wide-post .toc_container{
  width:100%!important;
  max-width:100%!important;
}
body.single-post.tbhp-wide-post .kk-star-ratings{
  max-width:100%!important;
}
body.single-post.tbhp-wide-post .entry-content>.tbhp-repair-page,
body.single-post.tbhp-wide-post .entry-content>.tbhp-aboutpage{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.single-post.tbhp-wide-post .entry-content .rp-wrap{
  width:min(1260px,calc(100% - 24px))!important;
  max-width:1260px!important;
}

/* ---------- Woo shop + product category/tag ---------- */
body.tbhp-wide-product-archive .site-content{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  padding-top:28px!important;
  padding-bottom:68px!important;
}
body.tbhp-wide-product-archive .woocommerce,
body.tbhp-wide-product-archive .site-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.tbhp-wide-product-archive .woocommerce-products-header,
body.tbhp-wide-product-archive .tbhp-shop-hero,
body.tbhp-wide-product-archive .tbhp-shop-cats,
body.tbhp-wide-product-archive .woocommerce-notices-wrapper{
  width:100%!important;
  max-width:none!important;
}
body.tbhp-wide-product-archive .woocommerce-products-header .term-description,
body.tbhp-wide-product-archive .term-description{
  width:min(1280px,100%)!important;
  max-width:1280px!important;
  font-size:16px!important;
  line-height:1.78!important;
}
body.tbhp-wide-product-archive .woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
}
body.tbhp-wide-product-archive .woocommerce ul.products li.product{
  min-width:0!important;
  width:auto!important;
  margin:0!important;
}
body.tbhp-wide-product-archive .woocommerce ul.products li.product a img{
  width:100%!important;
  height:290px!important;
  object-fit:contain!important;
}
body.tbhp-wide-product-archive .woocommerce-pagination{
  width:100%;
  margin-top:30px;
}

/* ---------- Single product ---------- */
body.single-product.tbhp-wide-product .site-content{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  padding-top:26px!important;
  padding-bottom:70px!important;
}
body.single-product.tbhp-wide-product .site-main,
body.single-product.tbhp-wide-product .type-product{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product div.product{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.95fr)!important;
  grid-template-areas:
    "heading heading"
    "gallery summary"
    "tabs tabs"
    "upsells upsells"
    "related related"!important;
  gap:26px 38px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-items:start!important;
}
body.single-product.tbhp-wide-product .tbhp-product-heading{
  grid-area:heading;
  width:100%;
  max-width:none;
}
body.single-product.tbhp-wide-product .tbhp-product-heading .product_title{
  max-width:1180px!important;
}
body.single-product.tbhp-wide-product div.product>.woocommerce-product-gallery{
  grid-area:gallery;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product div.product>.summary{
  grid-area:summary;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product .woocommerce-product-gallery__image img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:760px!important;
  object-fit:contain!important;
}
body.single-product.tbhp-wide-product .woocommerce-tabs{
  grid-area:tabs;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product .woocommerce-tabs .panel{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product .woocommerce-tabs .panel>p,
body.single-product.tbhp-wide-product .woocommerce-tabs .panel>ul,
body.single-product.tbhp-wide-product .woocommerce-tabs .panel>ol{
  max-width:none!important;
}
body.single-product.tbhp-wide-product .upsells.products,
body.single-product.tbhp-wide-product .related.products{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product.tbhp-wide-product .upsells.products ul.products,
body.single-product.tbhp-wide-product .related.products ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* ---------- Blog/category/tag/search archive ---------- */
body.tbhp-wide-blog-archive .site-content{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  padding-top:30px!important;
  padding-bottom:68px!important;
}
body.tbhp-wide-blog-archive .site-main{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
body.tbhp-wide-blog-archive .site-main>.page-header,
body.tbhp-wide-blog-archive .site-main>.paging-navigation,
body.tbhp-wide-blog-archive .site-main>.no-results,
body.tbhp-wide-blog-archive .site-main>.woocommerce,
body.tbhp-wide-blog-archive .site-main>.generate-columns-container{
  grid-column:1/-1;
}
body.tbhp-wide-blog-archive .site-main>article{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body.tbhp-wide-blog-archive .site-main>article .inside-article{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:22px!important;
  border-radius:20px!important;
}
body.tbhp-wide-blog-archive .site-main>article .post-image{
  margin-bottom:16px!important;
}
body.tbhp-wide-blog-archive .site-main>article .post-image img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
body.tbhp-wide-blog-archive .site-main>article .entry-title{
  font-size:clamp(22px,2.1vw,30px)!important;
  line-height:1.22!important;
}
body.tbhp-wide-blog-archive .site-main>article .entry-summary,
body.tbhp-wide-blog-archive .site-main>article .entry-content{
  font-size:15px!important;
  line-height:1.72!important;
}
body.tbhp-wide-blog-archive .site-main>article .entry-meta{
  margin-top:auto;
}

/* GeneratePress columns wrapper fallback. */
body.tbhp-wide-blog-archive .generate-columns-container{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px!important;
  margin:0!important;
}
body.tbhp-wide-blog-archive .generate-columns-container>article{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
}
body.tbhp-wide-blog-archive .generate-columns-container>article .inside-article{
  height:100%;
}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  body.tbhp-wide-layout .site-content,
  body.tbhp-wide-layout .grid-container.site-content,
  body.tbhp-wide-product-archive .site-content,
  body.single-product.tbhp-wide-product .site-content,
  body.tbhp-wide-blog-archive .site-content{
    width:calc(100% - 36px)!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.tbhp-wide-blog-archive .site-main,
  body.tbhp-wide-blog-archive .generate-columns-container{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:920px){
  body.single-product.tbhp-wide-product div.product{
    grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)!important;
    gap:22px!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:768px){
  body.tbhp-wide-layout .site-content,
  body.tbhp-wide-layout .grid-container.site-content,
  body.tbhp-wide-product-archive .site-content,
  body.single-product.tbhp-wide-product .site-content,
  body.tbhp-wide-blog-archive .site-content{
    width:calc(100% - 20px)!important;
    padding-top:18px!important;
    padding-bottom:48px!important;
  }
  body.single-post.tbhp-wide-post .inside-article{
    padding:20px 14px!important;
    border-radius:18px!important;
  }
  body.single-post.tbhp-wide-post .entry-header,
  body.single-post.tbhp-wide-post .post-image,
  body.single-post.tbhp-wide-post .entry-content,
  body.single-post.tbhp-wide-post .entry-footer,
  body.single-post.tbhp-wide-post .comments-area,
  body.single-post.tbhp-wide-post .post-navigation{
    width:100%!important;
    max-width:none!important;
  }
  body.single-post.tbhp-wide-post .entry-content .wp-block-table{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.single-product.tbhp-wide-product div.product{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "heading"
      "gallery"
      "summary"
      "tabs"
      "upsells"
      "related"!important;
    gap:18px!important;
  }
  body.single-product.tbhp-wide-product div.product>.summary{
    padding:18px 15px!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products li.product a img{
    height:190px!important;
  }
  body.tbhp-wide-blog-archive .site-main,
  body.tbhp-wide-blog-archive .generate-columns-container{
    grid-template-columns:1fr;
    gap:14px!important;
  }
  body.tbhp-wide-blog-archive .site-main>article .inside-article{
    padding:18px 14px!important;
  }
}

@media(max-width:390px){
  body.tbhp-wide-layout .site-content,
  body.tbhp-wide-layout .grid-container.site-content,
  body.tbhp-wide-product-archive .site-content,
  body.single-product.tbhp-wide-product .site-content,
  body.tbhp-wide-blog-archive .site-content{
    width:calc(100% - 14px)!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products li.product{
    padding:8px 8px 11px!important;
  }
  body.tbhp-wide-product-archive .woocommerce ul.products li.product a img{
    height:160px!important;
  }
}

@media(max-width:340px){
  body.tbhp-wide-product-archive .woocommerce ul.products{
    grid-template-columns:1fr!important;
  }
}
