/* WooCommerce Shop Layout */
.shop-archive-container{
  display:grid;
  grid-template-columns: 350px 1fr;
  gap: 24px;
  align-items: start;
}
.shop-sidebar{
  background:#fff;
  border:1px solid #e5e5e5;
  padding:16px;
}
/* Sticky behavior */
.sticky-sidebar{ position:sticky; top: 90px; }

/* Product area tweaks */
.shop-products .products{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}
/* Ensure Woo defaults don't interfere with CSS Grid inside our container */
.shop-products .products::before,
.shop-products .products::after{ content:none; display:none; }
.shop-products .products li.product{
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}

/* Widget headings & lists */
.widget-title{ font-size:16px; font-weight:600; margin: 8px 0 10px; }
.widget ul{ list-style:none; margin:0; padding:0; }
.widget ul li{ margin: 6px 0; }
.widget_layered_nav .wc-layered-nav-term a{ color:#333; text-decoration:none; }
.widget_layered_nav .wc-layered-nav-term a:hover{ text-decoration:underline; }

/* Price filter spacing */
.widget_price_filter .price_slider_wrapper{ margin-top: 10px; }

/* Responsive */
@media (max-width: 1199px){
  .shop-products .products{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 991px){
  .sticky-sidebar{ position:static; }
  .shop-products .products{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 575px){

/* Intentionally left blank: grid layout rules above handle product sizing */
.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before {
    content: " ";
    display:none !important;
}
.woocommerce .woocommerce-ordering select {
    vertical-align: top;
    width: 100% !important;
    color: #666;
    margin-top: 5px;
    outline: 0;
    padding: 4px 0px;
    border: 1px solid #666;
    margin-bottom: 30px;
}
section.widget.widget_shop_controls h3 {
    color: #313131;
    text-transform: uppercase;
    font-size: 29px;
    font-weight: 700;
    padding-bottom:5px;
}
section.widget.widget_product_categories h2 {
    color: #313131;
    text-transform:uppercase;
    font-weight:700;
    font-size:29px;
}

.shop-result-count p {
    color: #666;
    font-size: 16px;
}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
    float: left;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    color: #666;
    padding: 5px 0px !important;
    font-size: 17px !important;
}
.product-box-image {
    overflow: hidden;
}

.product-box-image img:hover {
    transform: scale(1.1);
}

.product-box-image img {
    overflow: hidden;
    transition: all.4s;
    margin-bottom:0 !important;
}
ul.product-categories a {
    color: #666;
}

/* --- Variation attribute buttons (Size/Color blocks) --- */
.jm-attr{ margin: 14px 0 18px; }
.jm-attr-header{ font-weight:600; font-size:14px; color:#333; margin-bottom:8px; }
.jm-attr-grid{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.jm-attr-item{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:88px; height:42px; padding:6px 10px;
  border:1px solid #d9d9d9; background:#fff; color:#333;
  font-size:14px; line-height:1; border-radius:3px; cursor:pointer;
  transition: all .15s ease-in-out;
}
.jm-attr-item:hover{ border-color:#b5b5b5; box-shadow:0 0 0 2px rgba(0,0,0,0.02) inset; }
.jm-attr-item.is-selected{ background:#333; color:#fff; border-color:#333; }
.jm-attr-item[disabled], .jm-attr-item.is-disabled{ opacity:.5; cursor:not-allowed; text-decoration: line-through; }
}
/* Compact on small screens */
@media (max-width:575px){
  .jm-attr-item{ min-width:72px; height:38px; font-size:13px; }
}