.mspm-detail .mspm-inner,
.mspm-list .mspm-inner{box-sizing:border-box}

/* Avada-safe gallery: fixed desktop canvas, independently cropped images. */
.mspm-detail .mspm-gallery{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(250px,1fr)!important;
  grid-template-rows:470px!important;
  align-items:stretch!important;
  width:100%!important;
  height:470px!important;
  min-height:470px!important;
  max-height:470px!important;
  gap:10px!important;
  overflow:hidden!important;
}
.mspm-detail .mspm-gallery.mspm-gallery-single{grid-template-columns:1fr!important}
.mspm-detail .mspm-gallery-main,
.mspm-detail .mspm-gallery-side>button{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:10px!important;
  background:#111!important;
}
.mspm-detail .mspm-gallery-main>img,
.mspm-detail .mspm-gallery-side>button>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
.mspm-detail .mspm-gallery-side{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(var(--mspm-side-count),minmax(0,1fr))!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  gap:10px!important;
  overflow:hidden!important;
}
.mspm-detail .mspm-gallery-status,
.mspm-detail .mspm-gallery-all,
.mspm-detail .mspm-gallery-more{
  position:absolute!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  height:auto!important;
  padding:8px 12px!important;
  border-radius:20px!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.mspm-detail .mspm-gallery-status{
  top:16px!important;
  right:auto!important;
  bottom:auto!important;
  left:16px!important;
  background:var(--msp-green)!important;
}
.mspm-detail .mspm-gallery-status.mspm-badge-sold{background:var(--msp-red)!important}
.mspm-detail .mspm-gallery-status.mspm-badge-coming_soon{background:#626862!important}
.mspm-detail .mspm-gallery-all,
.mspm-detail .mspm-gallery-more{
  top:auto!important;
  right:16px!important;
  bottom:16px!important;
  left:auto!important;
  background:rgba(8,8,8,.84)!important;
}

/* Avoid collisions with Avada's main/aside layout rules. */
.mspm-detail .mspm-detail-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  align-items:start!important;
  width:100%!important;
  gap:20px!important;
  margin-top:26px!important;
}
.mspm-detail .mspm-detail-main{
  display:block!important;
  min-width:0!important;
  width:100%!important;
}
.mspm-detail .mspm-detail-sidebar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  flex-direction:column!important;
  gap:14px!important;
}
.mspm-detail .mspm-price-panel,
.mspm-detail .mspm-help,
.mspm-detail .mspm-summary,
.mspm-detail .mspm-section,
.mspm-detail .mspm-description,
.mspm-detail .mspm-facts{
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
}
.mspm-detail .mspm-price-panel,
.mspm-detail .mspm-help,
.mspm-detail .mspm-section,
.mspm-detail .mspm-description{display:block!important}
.mspm-detail .mspm-summary,
.mspm-detail .mspm-facts{display:grid!important}
.mspm-detail .mspm-heading-status{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
}

.mspm-list-controls{display:flex;align-items:center;gap:10px}
.mspm-list-controls select{min-width:155px}

/* Four cards on wide desktop, while retaining Avada-friendly responsive steps. */
@media(min-width:1201px){
  .mspm-list .mspm-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(min-width:901px) and (max-width:1200px){
  .mspm-list .mspm-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .mspm-detail .mspm-gallery{
    grid-template-rows:390px!important;
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }
  .mspm-detail .mspm-detail-layout{grid-template-columns:1fr!important}
}

@media(max-width:640px){
  .mspm-detail .mspm-gallery{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .mspm-detail .mspm-gallery-main{height:auto!important;aspect-ratio:4/3!important}
  .mspm-detail .mspm-gallery-side{
    grid-template-columns:repeat(var(--mspm-side-count),minmax(0,1fr))!important;
    grid-template-rows:100px!important;
    height:100px!important;
  }
  .mspm-toolbar{align-items:stretch;flex-direction:column;gap:14px}
  .mspm-list-controls{width:100%;flex-direction:column}
  .mspm-list-controls select{width:100%}
}
