/* Single dress "product" layout (Woo-like two columns) */
.dcm-product{
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap:28px;
  align-items:start;
}
@media (max-width: 900px){
  .dcm-product{grid-template-columns: 1fr; gap:18px;}
}

.dcm-summary__title{
  margin:0 0 12px 0;
  font-size:28px;
  line-height:1.15;
}
.dcm-summary__desc, .dcm-summary__content, .dcm-summary__seo{
  margin-top:12px;
}
.dcm-summary__seo{
  opacity:.9;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:12px;
}

/* Single dress gallery */
.dcm-product-gallery{max-width:100%}

/* Vertical thumbs on left + main image on right (desktop) */
.dcm-product-gallery--vertical{
  display:grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap:14px;
  align-items:start;
}

/* FIX: when there are NO thumbnails, force a true single column (prevents any inherited grid columns/gap) */
.dcm-product-gallery--single,
.dcm-product-gallery[data-has-thumbs="0"]{
  display:block !important;
  grid-template-columns: none !important;
  gap:0 !important;
}

@media (max-width: 700px){
  .dcm-product-gallery--vertical{
    grid-template-columns: 1fr;
  }
}

/* Main image, cap height to 600px */
.dcm-product-gallery__main{
  width:100%;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.dcm-product-gallery__main img{
  display:block;
  width:100%;
  height:auto;
  max-height:600px;
  object-fit:contain;
}

/* Thumbnails: vertical stack on desktop, horizontal strip on mobile */
.dcm-product-gallery__thumbs{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
}
@media (max-width: 700px){
  .dcm-product-gallery__thumbs{
    flex-direction:row;
    flex-wrap:wrap;
    margin-top:12px;
    order:2;
  }
  .dcm-product-gallery__main{order:1;}
}

.dcm-product-gallery__thumb{
  padding:0;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  width:92px;
}
@media (max-width: 700px){
  .dcm-product-gallery__thumb{
    width:88px;
  }
}
.dcm-product-gallery__thumb.is-active{
  outline:2px solid #2271b1;
  border-color:#2271b1;
}
.dcm-product-gallery__thumb img{
  display:block;
  width:100%;
  height:92px;
  object-fit:cover;
}
@media (max-width: 700px){
  .dcm-product-gallery__thumb img{height:88px}
}

/* Grid gallery shortcode [dress-gallery] */
.dcm-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:18px;
}
@media (max-width: 1024px){
  .dcm-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 768px){
  .dcm-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 420px){
  .dcm-grid{grid-template-columns: 1fr;}
}
.dcm-card{
  text-decoration:none;
  color:inherit;
  display:block;
}

/* IMPORTANT: ensure title under image is NOT underlined (even on hover) */
.dcm-card__title,
.dcm-card:hover .dcm-card__title{
  text-decoration:none !important;
}

.dcm-card__img{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  aspect-ratio: 4 / 5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dcm-card__img img{width:100%; height:100%; object-fit:cover; display:block}
.dcm-card__placeholder{width:100%; height:100%; background:rgba(0,0,0,.04)}
.dcm-card__title{
  margin-top:10px;
  font-size:16px;
  line-height:1.25;
  text-align:center;
}