/* PLCSAUTO shop layout + infinite scroll */
body.woocommerce-shop #sidebar,
body.woocommerce-page #sidebar,
body.tax-product_cat #sidebar,
body.single-product #sidebar {
  display: none !important;
}
body.woocommerce-shop #main,
body.woocommerce-page .plcsauto-wc-main,
.shop-section .wrap {
  width: min(1160px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}
.shop-section {
  padding: 40px 0 72px;
}
.shop-hero p {
  color: #b7c4d2;
  margin-top: 10px;
  max-width: 52ch;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  color: #5a6a7c;
  font-size: 14px;
  margin-bottom: 18px;
}
.woocommerce ul.products,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-6 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  clear: both !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
  content: none !important;
  clear: none !important;
}
.woocommerce ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  border: 1px solid rgba(12, 24, 40, .1);
  background: #fff;
  display: flex !important;
  flex-direction: column;
  position: relative;
  list-style: none !important;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .plcsauto-remote-img,
.woocommerce ul.products li.product .plcsauto-local-img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  background: #f4f6f8;
  margin: 0 !important;
  padding: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Golos Text", "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  padding: 14px 16px 8px !important;
  margin: 0 !important;
  min-height: 64px;
}
.woocommerce ul.products li.product .price {
  padding: 0 16px;
  color: #0aa3a0 !important;
  font-weight: 700;
  font-size: 18px;
  margin-top: auto;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  margin: 12px 16px 0 !important;
  width: calc(100% - 32px);
  text-align: center;
  background: #071018 !important;
  color: #fff !important;
  border-radius: 0 !important;
  float: none !important;
}

/* Hide classic pagination; infinite scroll replaces it */
.woocommerce nav.woocommerce-pagination {
  display: none !important;
}

.plcsauto-scroll-status {
  text-align: center;
  color: #5a6a7c;
  font-size: 14px;
  padding: 18px 12px 8px;
  min-height: 28px;
}
.plcsauto-scroll-status.is-loading::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  border: 2px solid rgba(10, 163, 160, .25);
  border-top-color: #0aa3a0;
  border-radius: 50%;
  vertical-align: -3px;
  animation: plcs-spin .7s linear infinite;
}
@keyframes plcs-spin { to { transform: rotate(360deg); } }

.plcsauto-ptr {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 0;
  overflow: visible;
  pointer-events: none;
}
.plcsauto-ptr-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  margin: 0 auto;
  width: min(280px, 70%);
  background: #071018;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  transform: translateY(-56px);
  opacity: 0;
  transition: transform .2s ease, opacity .2s ease;
  border-radius: 0 0 8px 8px;
}
.plcsauto-ptr.is-pulling .plcsauto-ptr-inner,
.plcsauto-ptr.is-ready .plcsauto-ptr-inner,
.plcsauto-ptr.is-refreshing .plcsauto-ptr-inner {
  opacity: 1;
  transform: translateY(0);
}
.plcsauto-ptr.is-ready .plcsauto-ptr-inner { background: #0aa3a0; }

/* ===== Single product ===== */
.product-section {
  padding-top: 36px;
}
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.92fr) 1.08fr !important;
  gap: 36px 48px !important;
  align-items: start !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce div.product::before,
.woocommerce div.product::after {
  display: none !important;
  content: none !important;
}
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  opacity: 1 !important;
  background: #f4f6f8;
  border: 1px solid rgba(12, 24, 40, .1);
  padding: 20px;
}
.woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image a {
  display: block !important;
}
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img,
.plcsauto-product-media img {
  width: 100% !important;
  height: auto !important;
  max-height: 460px;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}
.plcsauto-product-media {
  display: block !important;
  background: #f4f6f8;
  border: 1px solid rgba(12, 24, 40, .1);
  padding: 24px;
}
.woocommerce div.product .summary {
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  padding: 8px 0 0;
}
.woocommerce div.product .product_title {
  font-family: "Golos Text", "Segoe UI", sans-serif !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
  color: #142033;
}
.woocommerce div.product p.price {
  color: #0aa3a0 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  margin: 0 0 18px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #5a6a7c;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 20px;
  max-width: 54ch;
}
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px !important;
}
.woocommerce div.product form.cart .quantity {
  margin: 0 !important;
  float: none !important;
}
.woocommerce div.product form.cart .qty {
  width: 72px;
  height: 46px;
  border: 1px solid rgba(12, 24, 40, .15);
  text-align: center;
  font: 16px "Golos Text", sans-serif;
}
.woocommerce div.product .cart .button,
.woocommerce div.product .single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce button.button {
  background: #071018 !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: "Golos Text", "Segoe UI", sans-serif !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px !important;
  height: 46px !important;
  line-height: 46px !important;
  padding: 0 22px !important;
  float: none !important;
}
.woocommerce div.product .cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
  background: #122033 !important;
}
.woocommerce div.product .product_meta {
  border-top: 1px solid rgba(12, 24, 40, .1);
  padding-top: 16px;
  display: grid;
  gap: 8px;
  color: #5a6a7c;
  font-size: 14px;
}
.woocommerce div.product .product_meta a {
  color: #0aa3a0;
}
.woocommerce div.product .product_meta .sku {
  color: #142033;
  font-weight: 700;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 12px;
  border: 1px solid rgba(12, 24, 40, .1);
  background: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none !important;
  display: flex !important;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(12, 24, 40, .1);
  background: #f7f8fa;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
  content: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 14px 22px;
  font-weight: 700;
  font-size: 14px;
  color: #5a6a7c;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #071018;
  border-bottom-color: #0aa3a0;
}
.woocommerce div.product .woocommerce-Tabs-panel {
  padding: 28px 28px 32px;
  color: #5a6a7c;
  line-height: 1.7;
  font-size: 15px;
}
.woocommerce div.product .woocommerce-Tabs-panel h2:first-child {
  display: none;
}
.woocommerce div.product .woocommerce-Tabs-panel ul {
  margin: 14px 0;
  padding-left: 18px;
}
.woocommerce div.product .woocommerce-Tabs-panel li {
  margin: 6px 0;
}

/* Related */
.woocommerce section.related.products,
.woocommerce .related.products {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding-top: 28px;
  border-top: 1px solid rgba(12, 24, 40, .1);
}
.woocommerce section.related.products > h2,
.woocommerce .related.products > h2 {
  font-size: 24px !important;
  margin: 0 0 20px !important;
}
.woocommerce section.related.products ul.products,
.woocommerce .related.products ul.products,
.woocommerce section.related.products ul.products.columns-4,
.woocommerce .related.products ul.products.columns-3,
.woocommerce .related.products ul.products.columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.woocommerce span.onsale { display: none; }
.woocommerce .woocommerce-breadcrumb {
  grid-column: 1 / -1;
  margin: 0 0 8px;
  font-size: 13px;
  color: #5a6a7c;
}
.woocommerce .woocommerce-breadcrumb a { color: #0aa3a0; }

@media (max-width: 1100px) {
  .woocommerce section.related.products ul.products,
  .woocommerce .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce ul.products.columns-4 {
    grid-template-columns: 1fr !important;
  }
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .woocommerce section.related.products ul.products,
  .woocommerce .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-shop #main,
  .shop-section .wrap {
    width: min(1160px, calc(100% - 28px));
  }
  .woocommerce div.product .woocommerce-Tabs-panel {
    padding: 20px 16px 24px;
  }
}
