/* Visual Portfolio: square framed artwork grid */

.vp-portfolio .vp-portfolio__items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 70px 50px !important;
  height: auto !important;
}

.vp-portfolio .vp-portfolio__item-wrap {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
}

/* Square artwork frame */
.vp-portfolio .vp-portfolio__item-img-wrap,
.vp-portfolio .vp-portfolio__item-img,
.vp-portfolio .vp-portfolio__item-img a {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Show full portrait + landscape image */
.vp-portfolio .vp-portfolio__item-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Remove hover overlay */
.vp-portfolio .vp-portfolio__item-overlay {
  display: none !important;
}

/* Captions */
.vp-portfolio .vp-portfolio__item-caption {
  display: block !important;
  padding-top: 18px !important;
  background: transparent !important;
  text-align: left !important;
}

/* Title */
.vp-portfolio .vp-portfolio__item-meta-title,
.vp-portfolio .vp-portfolio__item-meta-title a {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

/* Price / size */
.vp-portfolio .vp-portfolio__item-meta-excerpt,
.vp-portfolio .vp-portfolio__item-meta-excerpt div {
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin-top: 6px !important;
}

.vp-portfolio .vp-portfolio__item-img-wrap {
    border-bottom: 1px solid #fff;
    padding-bottom: 35px;
}

.vp-portfolio__item-meta {
    padding: 0 !important;
}

.vp-portfolio__item-meta-title {
    margin-bottom: 10px !important;
}


/* Responsive */
@media (max-width: 1024px) {
  .vp-portfolio .vp-portfolio__items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .vp-portfolio .vp-portfolio__items {
    grid-template-columns: 1fr !important;
  }
}