.paco-products-wrap{
  max-width:1140px;
  margin:0 auto;
  padding:24px 16px;
}

.paco-title{
  text-align:center;
  margin:0 0 10px;
}

.paco-subtitle{
  text-align:center;
  margin:0 0 18px;
  opacity:.85;
}

.paco-sort-form{
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 18px;
}

.paco-sort-form label{
  font-weight:600;
}

.paco-sort-form select{
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #ddd;
  width:min(520px,100%);
}

.paco-products-grid ul.products{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;

  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
}

@media (max-width: 1024px){
  .paco-products-grid ul.products{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .paco-products-grid ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* Card cleanup */
.paco-products-grid li.product{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

.paco-products-grid a,
.paco-products-grid a:hover{
  text-decoration:none !important;
}

.paco-products-grid .woocommerce-loop-product__title{
  font-size:18px;
  line-height:1.25;
  margin:10px 0 6px;
  text-decoration:none !important;
}

.paco-products-grid .price{
  font-weight:600;
  margin-bottom:10px;
}

/* Make images consistent and not huge */
.paco-products-grid .woocommerce-loop-product__link img{
  width:100% !important;
  height:auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius:12px;
  background:#f3f3f3;
}

/* Pagination */
.paco-pagination{
  margin-top:26px;
  display:flex;
  justify-content:center;
}

.paco-pagination .page-numbers{
  display:inline-block;
  padding:8px 12px;
  border:1px solid #ddd;
  border-radius:8px;
  margin:0 4px;
  text-decoration:none;
}
.paco-pagination .current{
  font-weight:700;
}