/* CSPLUS v2.1.0 — Product Photo Normalizer
   Product photos are normalized into a clean, consistent customer gallery. */
:root{
  --photo-bg:#f8fafc;
  --photo-border:#e5edf7;
  --photo-shadow:0 18px 45px rgba(15,23,42,.08);
}

.cs-media-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  background:linear-gradient(135deg,#f8fafc,#eef4ff)!important;
  overflow:hidden!important;
  border-radius:22px!important;
  isolation:isolate!important;
}

.cs-media-frame::before{
  content:""!important;
  position:absolute!important;
  inset:-24px!important;
  background-image:var(--photo-url)!important;
  background-size:cover!important;
  background-position:center!important;
  filter:blur(22px) saturate(.95)!important;
  transform:scale(1.12)!important;
  opacity:.28!important;
  z-index:0!important;
}

.cs-media-frame::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.28))!important;
  z-index:1!important;
}

.cs-media-frame img{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:10px!important;
  box-sizing:border-box!important;
}

.cs-media-frame.cs-cover img{
  object-fit:cover!important;
  padding:0!important;
}

.cs-product-card-normalized{
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--photo-border)!important;
  box-shadow:var(--photo-shadow)!important;
}

.cs-product-card-normalized .product-gallery-link{
  padding:10px!important;
  background:#fff!important;
}

.cs-product-card-normalized .product-body{
  padding:20px!important;
}

.cs-product-card-normalized h2{
  font-size:24px!important;
  line-height:1.15!important;
  margin:14px 0 8px!important;
}

.cs-product-card-normalized .compact-note{
  min-height:auto!important;
  max-height:48px!important;
  overflow:hidden!important;
}

.cs-detail-media-frame{
  aspect-ratio:4/5!important;
  border-radius:24px!important;
}

.cs-detail-media-frame img{
  padding:12px!important;
}

.cs-photo-tip{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  color:#475569!important;
  border-radius:16px!important;
  padding:12px!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.cs-photo-tip b{
  color:#0f172a!important;
}

.detail-gallery{
  background:#fff!important;
}

.detail-thumbs{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(64px,1fr))!important;
  gap:8px!important;
}

.detail-thumb{
  border:1px solid #e2e8f0!important;
  background:#f8fafc!important;
}

@media(max-width:720px){
  .cs-media-frame{
    border-radius:18px!important;
  }
  .cs-media-frame img{
    padding:7px!important;
  }
  .cs-product-card-normalized{
    border-radius:24px!important;
  }
  .cs-product-card-normalized .product-gallery-link{
    padding:8px!important;
  }
  .cs-detail-media-frame{
    aspect-ratio:4/5!important;
    border-radius:18px!important;
  }
  .cs-detail-media-frame img{
    padding:8px!important;
  }
  .cs-product-card-normalized .product-body{
    padding:18px!important;
  }
}
