/**
 * Codersly Shop — WooCommerce Styles (COMPACT FINAL)
 * Cleaned to keep only final working rules and remove old overridden iterations.
 */

/* ================= Grid & Cards ================= */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  content:none !important;
  display:none !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:24px;
  align-items:stretch;
  grid-auto-rows:auto;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}

@media (min-width: 1200px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  position:relative;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  border:1px solid #eef2f7;
  border-radius:10px;
  padding:12px;
  background:var(--bt-color-bg, #fff);
  box-sizing:border-box;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{
  display:block;
  position:relative;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:8px;
  background:#f8fafc;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,
.archive.woocommerce ul.products li.product a img,
.post-type-archive-product ul.products li.product a img,
.tax-product_cat ul.products li.product a img,
.tax-product_tag ul.products li.product a img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:8px;
}

/* ================= Image Overlay Icons ================= */
.woocommerce ul.products li.product .onsale{
  position:absolute !important;
  top:8px !important;
  left:8px !important;
  width:22px;
  height:22px;
  border-radius:50% !important;
  background:var(--bt-color-accent, #16a34a) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
  font-size:0 !important;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
  z-index:4;
}
.woocommerce ul.products li.product .onsale::before{
  content:"\f323";
  font-family:"dashicons";
  font-size:11px;
  line-height:1;
}

.bt-product-quickview{
  position:absolute;
  top:8px;
  right:8px;
  z-index:4;
}

.bt-quickview-btn{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--bt-color-primary, #2563eb);
  color:#fff;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.bt-quickview-btn:hover{ background:#1d4ed8; }

.woocommerce ul.products li.product .bm-orient-badge{
  position:absolute;
  top:8px;
  left:8px;
  font-size:11px;
  padding:2px 7px;
  z-index:3;
}

/* ================= Title & Price ================= */
.bt-product-title{ margin:10px 0 6px; }
.bt-title-clamp,
.bt-title-clamp a{
  font-size:15px;
  line-height:1.35;
}
.bt-title-clamp{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  line-clamp:3;
  -webkit-line-clamp:3;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  margin-bottom:10px;
  font-weight:600;
  color:var(--bt-color-accent, #065f46);
  font-size:14px;
}

/* ================= Buttons & Actions ================= */
.bt-product-actions{
  display:flex !important;
  align-items:stretch !important;
  gap:6px;
  margin-top:auto;
}
.bt-product-actions > *{
  flex:1 1 0 !important;
  min-width:0 !important;
}

.bt-product-actions .button,
.bt-product-actions .buy-now,
.bt-product-actions .bt-buy-now,
.bt-product-actions .bt-free-download-loop{
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:34px !important;
  height:34px !important;
  padding:0 10px !important;
  border-radius:8px !important;
  font-weight:600;
  font-size:12px !important;
  line-height:1.1 !important;
  border:none;
  white-space:nowrap;
  text-decoration:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
  transition:background .2s, transform .1s;
}

.bt-product-actions .button{
  background:var(--codersly-add-to-cart, var(--bt-color-primary, #2563eb)) !important;
  color:#fff !important;
}
.bt-product-actions .button:hover{
  background:var(--bt-color-accent-hover, #1d4ed8) !important;
  transform:translateY(-1px);
}

.bt-product-actions .buy-now,
.bt-product-actions .bt-buy-now{
  background:var(--bt-color-buy-now, var(--bt-color-accent, #16a34a)) !important;
  color:#fff !important;
}
.bt-product-actions .buy-now:hover,
.bt-product-actions .bt-buy-now:hover{
  background:var(--bt-color-buy-now-hover, var(--bt-color-buy-now, var(--bt-color-accent, #16a34a))) !important;
  transform:translateY(-1px);
}

.bt-free-download-loop{
  background:var(--codersly-free-download, var(--bt-color-primary, #0f8bff)) !important;
  color:#fff !important;
}
.bt-free-download-loop:hover{
  background:var(--codersly-free-download-hover, var(--codersly-free-download, var(--bt-color-primary, #0f8bff))) !important;
}

.bt-product-actions .button.is-view-cart{
  background:var(--bt-color-accent, #10b981) !important;
}
.bt-product-actions .button.is-view-cart::after{
  content:"✓";
  margin-left:.5rem;
  font-weight:700;
}

/* ================= Sorting / Pagination / Qty ================= */
.woocommerce .woocommerce-ordering select{ max-width:260px; height:40px; }
.woocommerce nav.woocommerce-pagination{ margin-top:20px; }
.woocommerce .quantity .qty{ border-radius:8px; height:40px; }

/* ================= Sidebar ================= */
.bt-shop-wrap{ display:grid; grid-template-columns:280px 1fr; gap:28px; }
.bt-shop-sidebar{ overflow:visible; position:relative; }

.bt-shop-sidebar .widget{
  border:1px solid #eef2f7;
  border-radius:10px;
  padding:14px;
  background:var(--bt-color-bg, #fff);
  margin-bottom:16px;
  overflow:visible;
}

.bt-shop-sidebar .widget-title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:700;
  color:var(--bt-color-text, #0f172a);
}

.bt-shop-sidebar .widget_product_categories select,
.woocommerce .widget_product_categories select,
.bt-shop-sidebar .widget select{
  width:100%;
  height:42px !important;
  padding:0 34px 0 12px !important;
  line-height:42px !important;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #6b7280 50%),
    linear-gradient(135deg, #6b7280 50%, transparent 50%),
    linear-gradient(to right, #fff, #fff);
  background-position:calc(100% - 18px) 18px, calc(100% - 12px) 18px, 0 0;
  background-size:6px 6px, 6px 6px, 100% 100%;
  background-repeat:no-repeat;
}

.widget_product_categories .select2-container .select2-selection--single{
  height:42px !important;
  border-radius:8px !important;
  border:1px solid #e5e7eb !important;
  display:flex;
  align-items:center;
  padding:0 36px 0 10px;
}
.widget_product_categories .select2-container .select2-selection__rendered{
  line-height:normal !important;
  padding-left:0 !important;
  margin:0 !important;
}
.widget_product_categories .select2-container .select2-selection__arrow{
  height:42px !important;
  right:8px !important;
}

/* ================= Header Cart Animation ================= */
.bt-cart-bump{ animation:btCartBump .6s ease; }
@keyframes btCartBump{
  0%{ transform:scale(1); }
  20%{ transform:scale(1.2); }
  50%{ transform:scale(0.9); }
  80%{ transform:scale(1.05); }
  100%{ transform:scale(1); }
}

/* ================= Product Slider ================= */
@media (min-width: 1024px){
  .bt-product-slider ul.products{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
    padding:0;
    margin:0;
    overflow:visible;
  }
}
@media (min-width: 640px) and (max-width: 1023.98px){
  .bt-product-slider ul.products{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    padding:0;
    margin:0;
  }
}
@media (max-width: 639.98px){
  .bt-product-slider ul.products{
    display:flex !important;
    gap:12px;
    padding:0;
    margin:0;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .bt-product-slider ul.products > li.product{
    flex:0 0 78%;
    min-width:260px;
    scroll-snap-align:start;
  }
}
.bt-product-slider ul.products::-webkit-scrollbar{ height:8px; }
.bt-product-slider ul.products::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:4px; }

/* ================= Single Product ================= */
.single-product form.cart{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.single-product .cart .quantity,
.single-product .single_add_to_cart_button,
.single-product .bt-buy-now-single{
  flex:1 1 0;
  min-width:0;
}
.single-product .cart .quantity{ display:none !important; }
.single-product .cart .quantity .qty{
  width:100%;
  height:38px !important;
  border-radius:8px;
  text-align:center;
  border:1px solid #ccc;
  font-size:12.5px;
}

.single-product .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:38px !important;
  height:38px !important;
  padding:0 14px !important;
  border-radius:8px !important;
  font-size:12.5px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  background:var(--codersly-add-to-cart, var(--bt-color-add-to-cart, var(--bt-color-primary, #2563eb))) !important;
  color:#fff !important;
  border:none !important;
}
.single-product .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover{
  background:var(--bt-color-add-to-cart-hover, var(--bt-color-accent-hover, #1d4ed8)) !important;
  transform:translateY(-1px);
}

.single-product .bt-buy-now-single,
.single-product form.cart .bt-buy-now-single,
.woocommerce .codersly-buy-now,
.woocommerce a.codersly-buy-now,
.woocommerce button.codersly-buy-now{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:38px !important;
  height:38px !important;
  padding:0 14px !important;
  border-radius:8px !important;
  font-size:12.5px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  background:var(--bt-color-buy-now) !important;
  color:#fff !important;
  border-color:var(--bt-color-buy-now) !important;
}
.single-product .bt-buy-now-single:hover,
.woocommerce .codersly-buy-now:hover,
.woocommerce a.codersly-buy-now:hover,
.woocommerce button.codersly-buy-now:hover{
  background:var(--bt-color-buy-now-hover, var(--bt-color-buy-now)) !important;
  border-color:var(--bt-color-buy-now-hover, var(--bt-color-buy-now)) !important;
  transform:translateY(-1px);
}

.bt-free-download-single,
.bt-related-products,
.bt-free-buttons-wrap .button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:38px !important;
  height:38px !important;
  padding:0 14px !important;
  border-radius:8px !important;
  font-size:12.5px !important;
  line-height:1.1 !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
.bt-free-download-single{
  background:var(--codersly-download-now, var(--bt-color-primary, #0f8bff)) !important;
  color:#fff !important;
}
.bt-free-download-single:hover{
  background:var(--codersly-download-now-hover, var(--codersly-download-now, var(--bt-color-primary, #0f8bff))) !important;
}
.bt-related-products{
  background:var(--codersly-related-product, var(--bt-color-accent, #065f46)) !important;
  color:#fff !important;
}
.bt-related-products:hover{
  background:var(--codersly-related-product-hover, var(--codersly-related-product, var(--bt-color-accent, #065f46))) !important;
}
.bt-free-buttons-wrap{
  display:flex !important;
  justify-content:flex-start;
  align-items:stretch !important;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.bt-free-buttons-wrap .button{ min-width:160px; }
.product.type-product:has(.bt-free-download-loop) .bt-buy-now{ display:none !important; }

.single-product a.dokan-store-support-button,
.single-product a.dokan-support-link,
.single-product .dokan-store-support-btn{
  display:none !important;
}

/* ================= Orientation Badge ================= */
.bm-orient-badge{
  position:relative;
  display:inline-block;
  padding:2px 8px;
  font-size:12px;
  line-height:1.6;
  border-radius:999px;
  font-weight:600;
  color:#0f172a;
  background:#e2e8f0;
  margin:4px 0;
  z-index:2;
  box-shadow:0 1px 2px rgba(0,0,0,.1);
}
.bm-orient-landscape{ background:#bbf7d0; }
.bm-orient-portrait{ background:#bfdbfe; }
.bm-orient-square{ background:#fde68a; }
.bm-orient-wrap{ margin:6px 0 0; }
.bm-orient-badge:focus-visible{
  outline:2px solid var(--bt-color-primary, #2563eb);
  outline-offset:2px;
  border-radius:999px;
}

/* ================= Breadcrumb / Top Spacing ================= */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb{
  display:none !important;
}

.post-type-archive-product .site-main,
.post-type-archive-product .content-area,
.tax-product_cat .site-main,
.tax-product_cat .content-area{
  padding-top:5px !important;
  margin-top:0 !important;
}

#secondary,
.sidebar,
.widget-area{ margin-top:20px !important; }

.woocommerce-products-header{
  margin-top:10px !important;
  margin-bottom:5px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.has-sticky-header .site-main,
.has-sticky-header #secondary{ margin-top:16px !important; }

.single-product .site-main,
.single-product .content-area,
.single-product #primary{
  padding-top:20px !important;
  margin-top:0 !important;
}
.single-product.has-sticky-header .site-main,
.single-product.has-sticky-header .content-area,
.single-product.has-sticky-header #primary{
  padding-top:28px !important;
}

/* ================= Woo My Account ================= */
.woocommerce-account .site-main,
.woocommerce-account main,
.woocommerce-account .content-area{
  padding-top:30px !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
.woocommerce-account .woocommerce{
  display:flex !important;
  gap:22px !important;
  align-items:flex-start !important;
  flex-wrap:wrap !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{
  flex:0 0 100% !important;
  margin-bottom:14px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  padding:14px !important;
  box-shadow:0 10px 22px rgba(0,0,0,.06) !important;
  flex:0 0 260px !important;
  max-width:260px !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  text-decoration:none !important;
  color:#1f2a37 !important;
  font-weight:600 !important;
  transition:.2s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:rgba(0,0,0,.04) !important;
  transform:translateX(2px) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:rgba(0,0,0,.06) !important;
}
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  padding:18px 18px 40px !important;
  box-shadow:0 10px 22px rgba(0,0,0,.06) !important;
  flex:1 !important;
  min-width:320px !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content > :last-child{ margin-bottom:20px !important; }
.woocommerce-account .woocommerce ~ footer,
.woocommerce-account .woocommerce ~ .site-footer,
.woocommerce-account .woocommerce ~ #colophon,
#toolsbari-my-tools-page,
.tb-newsletter{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.tb-newsletter + footer,
.tb-newsletter + .site-footer,
.tb-newsletter + #colophon{
  margin-top:0 !important;
}

/* ================= Single Product Root Fix ================= */
body.single-product .site-main > .container,
body.single-product.woocommerce div.product,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells.upsells{
  max-width:1200px !important;
}

body.single-product .site-main > .container{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.single-product div.product{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:40px !important;
  align-items:start !important;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

body.single-product.woocommerce div.product > .woocommerce-product-gallery{ grid-column:1 !important; }
body.single-product.woocommerce div.product > .summary{ grid-column:2 !important; }
body.single-product.woocommerce div.product > .woocommerce-tabs,
body.single-product.woocommerce div.product > .related.products,
body.single-product.woocommerce div.product > .up-sells.upsells,
body.single-product.woocommerce div.product > section.related,
body.single-product.woocommerce div.product > section.upsells{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  align-self:stretch !important;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells.upsells{
  width:100% !important;
  margin:24px auto 0 !important;
  padding-left:15px !important;
  padding-right:15px !important;
  box-sizing:border-box !important;
  clear:both !important;
}

body.single-product .related.products ul.products,
body.single-product .up-sells.upsells ul.products,
body.single-product.woocommerce div.product > section.related ul.products,
body.single-product.woocommerce div.product > section.upsells ul.products{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:18px !important;
  width:100% !important;
  max-width:none !important;
  margin:18px 0 0 !important;
  padding:0 !important;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after,
body.single-product .up-sells.upsells ul.products::before,
body.single-product .up-sells.upsells ul.products::after{
  display:none !important;
  content:none !important;
}

body.single-product .related.products ul.products li.product,
body.single-product .up-sells.upsells ul.products li.product{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px !important;
  display:flex !important;
  flex-direction:column !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  background:#fff !important;
  overflow:hidden !important;
}

body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product a.bt-thumb-link,
body.single-product .up-sells.upsells ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .up-sells.upsells ul.products li.product a.bt-thumb-link{
  display:block !important;
  width:100% !important;
  min-height:170px !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  border-radius:10px !important;
  background:#f8fafc !important;
}

body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link img,
body.single-product .related.products ul.products li.product a.bt-thumb-link img,
body.single-product .up-sells.upsells ul.products li.product a.woocommerce-LoopProduct-link img,
body.single-product .up-sells.upsells ul.products li.product a.bt-thumb-link img{
  width:100% !important;
  height:100% !important;
  min-height:170px !important;
  object-fit:cover !important;
}

body.single-product .related.products ul.products li.product .bt-product-actions,
body.single-product .up-sells.upsells ul.products li.product .bt-product-actions{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin-top:auto !important;
}
body.single-product .related.products ul.products li.product .bt-product-actions .button,
body.single-product .related.products ul.products li.product .bt-product-actions .buy-now,
body.single-product .related.products ul.products li.product .bt-product-actions .bt-buy-now,
body.single-product .up-sells.upsells ul.products li.product .bt-product-actions .button,
body.single-product .up-sells.upsells ul.products li.product .bt-product-actions .buy-now,
body.single-product .up-sells.upsells ul.products li.product .bt-product-actions .bt-buy-now{
  width:100% !important;
  flex:0 0 auto !important;
  min-height:40px !important;
  height:auto !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.2 !important;
  padding:10px 12px !important;
}

/* ================= Mobile Shop Final ================= */
@media (max-width: 992px){
  .bt-shop-wrap{ grid-template-columns:1fr; }
  .bt-shop-sidebar{ order:2; }
  .bt-shop-main{ order:1; }
}

@media (max-width: 768px){
  .bt-shop-wrap{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    gap:0 !important;
  }
  .bt-shop-main{ order:1 !important; }
  .bt-shop-sidebar{ order:2 !important; }

  .bt-shop-main,
  .bt-shop-sidebar,
  .bt-shop-wrap > *{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .woocommerce-page .site-main,
  .woocommerce .site-main,
  .archive.woocommerce .site-main,
  .archive.post-type-archive-product .site-main,
  .woocommerce-page .content-area,
  .woocommerce .content-area,
  .woocommerce-page .site-main > .woocommerce,
  .woocommerce .site-main > .woocommerce,
  .archive.woocommerce .site-main > .woocommerce,
  .archive.post-type-archive-product .site-main > .woocommerce,
  .post-type-archive-product .site-main,
  .post-type-archive-product .content-area,
  .tax-product_cat .site-main,
  .tax-product_cat .content-area,
  .site-content,
  #primary{
    width:100% !important;
    max-width:100% !important;
    padding-left:8px !important;
    padding-right:8px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .woocommerce .products,
  .woocommerce-page .products,
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    margin:10px 0 0 !important;
    padding:0 !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{
    width:100% !important;
    min-width:0 !important;
    padding:8px !important;
    border-radius:10px !important;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price{
    font-size:12px !important;
    margin-bottom:6px !important;
  }

  .bt-title-clamp,
  .bt-title-clamp a{
    font-size:12px !important;
    line-height:1.28 !important;
  }

  .bt-product-actions,
  .woocommerce ul.products li.product .bt-product-actions,
  .woocommerce-page ul.products li.product .bt-product-actions{
    gap:6px !important;
    flex-wrap:nowrap !important;
  }

  .bt-product-actions .button,
  .bt-product-actions .buy-now,
  .bt-product-actions .bt-buy-now,
  .bt-product-actions .bt-free-download-loop,
  .woocommerce ul.products li.product .bt-product-actions .button,
  .woocommerce ul.products li.product .bt-product-actions .buy-now,
  .woocommerce ul.products li.product .bt-product-actions .bt-buy-now,
  .woocommerce ul.products li.product .bt-product-actions .bt-free-download-loop,
  .woocommerce-page ul.products li.product .bt-product-actions .button,
  .woocommerce-page ul.products li.product .bt-product-actions .buy-now,
  .woocommerce-page ul.products li.product .bt-product-actions .bt-buy-now,
  .woocommerce-page ul.products li.product .bt-product-actions .bt-free-download-loop{
    min-height:30px !important;
    height:30px !important;
    padding:0 5px !important;
    font-size:10px !important;
    line-height:1 !important;
    border-radius:8px !important;
  }

  .bt-shop-sidebar .widget{ margin-bottom:12px !important; }

  body.single-product div.product{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  body.single-product.woocommerce div.product > .woocommerce-product-gallery,
  body.single-product.woocommerce div.product > .summary,
  body.single-product.woocommerce div.product > .woocommerce-tabs,
  body.single-product.woocommerce div.product > .related.products,
  body.single-product.woocommerce div.product > .up-sells.upsells,
  body.single-product.woocommerce div.product > section.related,
  body.single-product.woocommerce div.product > section.upsells{
    grid-column:1 / -1 !important;
  }
  body.single-product .woocommerce-tabs,
  body.single-product .related.products,
  body.single-product .up-sells.upsells{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body.single-product .related.products ul.products,
  body.single-product .up-sells.upsells ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
  }
  body.single-product .related.products ul.products li.product,
  body.single-product .up-sells.upsells ul.products li.product{
    padding:10px !important;
  }
  body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link,
  body.single-product .related.products ul.products li.product a.bt-thumb-link,
  body.single-product .up-sells.upsells ul.products li.product a.woocommerce-LoopProduct-link,
  body.single-product .up-sells.upsells ul.products li.product a.bt-thumb-link{
    min-height:135px !important;
  }

  .single-product .site-main,
  .single-product .content-area,
  .single-product #primary{
    padding-top:16px !important;
  }
  .single-product .woocommerce-tabs,
  body.single-product .related.products,
  body.single-product .up-sells.upsells,
  body.single-product.woocommerce div.product > .related.products,
  body.single-product.woocommerce div.product > .up-sells.upsells,
  body.single-product.woocommerce div.product > section.related,
  body.single-product.woocommerce div.product > section.upsells{
    margin-top:18px !important;
  }

  .woocommerce ul.products li.product .onsale{
    top:6px !important;
    left:6px !important;
    width:20px;
    height:20px;
  }
  .woocommerce ul.products li.product .onsale::before{ font-size:10px; }
  .bt-product-quickview{ top:6px; right:6px; }
  .bt-quickview-btn{ width:20px; height:20px; font-size:10px; }
  .woocommerce ul.products li.product .bm-orient-badge{
    top:6px;
    left:6px;
    font-size:10px;
    padding:2px 6px;
  }
}

@media (max-width: 480px){
  .woocommerce-page .site-main,
  .woocommerce .site-main,
  .archive.woocommerce .site-main,
  .archive.post-type-archive-product .site-main,
  .woocommerce-page .content-area,
  .woocommerce .content-area,
  .woocommerce-page .site-main > .woocommerce,
  .woocommerce .site-main > .woocommerce,
  .archive.woocommerce .site-main > .woocommerce,
  .archive.post-type-archive-product .site-main > .woocommerce,
  .post-type-archive-product .site-main,
  .post-type-archive-product .content-area,
  .tax-product_cat .site-main,
  .tax-product_cat .content-area,
  .site-content,
  #primary{
    padding-left:2px !important;
    padding-right:2px !important;
  }

  .woocommerce .products,
  .woocommerce-page .products,
  .woocommerce ul.products,
  .woocommerce-page ul.products{ gap:5px !important; }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{ padding:5px !important; }

  .bt-product-actions,
  .woocommerce ul.products li.product .bt-product-actions,
  .woocommerce-page ul.products li.product .bt-product-actions{ gap:4px !important; }

  .bt-product-actions .button,
  .bt-product-actions .buy-now,
  .bt-product-actions .bt-buy-now,
  .bt-product-actions .bt-free-download-loop,
  .woocommerce ul.products li.product .bt-product-actions .button,
  .woocommerce ul.products li.product .bt-product-actions .buy-now,
  .woocommerce ul.products li.product .bt-product-actions .bt-buy-now,
  .woocommerce ul.products li.product .bt-product-actions .bt-free-download-loop,
  .woocommerce-page ul.products li.product .bt-product-actions .button,
  .woocommerce-page ul.products li.product .bt-product-actions .buy-now,
  .woocommerce-page ul.products li.product .bt-product-actions .bt-buy-now,
  .woocommerce-page ul.products li.product .bt-product-actions .bt-free-download-loop{
    min-height:28px !important;
    height:28px !important;
    padding:0 4px !important;
    font-size:9.5px !important;
    border-radius:8px !important;
  }
}

/* ================= Bottom Spacing Reduction ================= */
.post-type-archive-product .site-main,
.post-type-archive-product .content-area,
.post-type-archive-product #primary,
.tax-product_cat .site-main,
.tax-product_cat .content-area,
.tax-product_cat #primary,
.tax-product_tag .site-main,
.tax-product_tag .content-area,
.tax-product_tag #primary,
.woocommerce-page.post-type-archive-product .site-main,
.woocommerce-page.post-type-archive-product .content-area,
.woocommerce-page.post-type-archive-product #primary{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

.woocommerce-page ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products{
  margin-bottom:0 !important;
}

.single-product .site-main,
.single-product .content-area,
.single-product #primary,
body.single-product .site-main > .container,
body.single-product div.product{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells.upsells,
body.single-product.woocommerce div.product > .woocommerce-tabs,
body.single-product.woocommerce div.product > .related.products,
body.single-product.woocommerce div.product > .up-sells.upsells,
body.single-product.woocommerce div.product > section.related,
body.single-product.woocommerce div.product > section.upsells{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel,
body.single-product #tab-description,
body.single-product #reviews,
body.single-product .related.products > h2,
body.single-product .up-sells.upsells > h2{
  margin-bottom:10px !important;
  padding-bottom:0 !important;
}

body.single-product .related.products ul.products,
body.single-product .up-sells.upsells ul.products,
body.single-product.woocommerce div.product > .related.products ul.products,
body.single-product.woocommerce div.product > .up-sells.upsells ul.products,
body.single-product.woocommerce div.product > section.related ul.products,
body.single-product.woocommerce div.product > section.upsells ul.products{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body.single-product .related.products ul.products li.product,
body.single-product .up-sells.upsells ul.products li.product{
  margin-bottom:0 !important;
}

.post-type-archive-product .site-main + footer,
.post-type-archive-product .site-main + .site-footer,
.post-type-archive-product .site-main + #colophon,
.single-product .site-main + footer,
.single-product .site-main + .site-footer,
.single-product .site-main + #colophon{
  margin-top:0 !important;
  padding-top:0 !important;
}

@media (max-width: 900px){
  .woocommerce-account .woocommerce{ flex-direction:column !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    flex:0 0 auto !important;
    max-width:100% !important;
    margin-bottom:20px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content{
    min-width:0 !important;
    margin-bottom:0 !important;
  }
}
