/* V10.27: page cover image fills its rounded frame without cropping or distortion.
   Frame height is determined by the source image aspect ratio, never fixed. */
.v9-product-section:not(.rental-product-layout) .v9-primary-image {
  display:block; width:100%; height:auto; min-height:0; max-height:none;
  margin-bottom:26px; padding:0; overflow:hidden; border-radius:22px;
  border:1px solid #e1e9ed; background:transparent;
}
.v9-product-section:not(.rental-product-layout) .v9-primary-image img {
  display:block; width:100%; max-width:100%; height:auto; max-height:none;
  object-fit:contain; border-radius:0;
}
/* Product listings: photos must be fully visible. Unlike district banners they need fixed card rows. */
.product-catalog .card img {display:block;width:100%;height:270px;object-fit:contain;object-position:center;padding:12px;background:#f7f9fa}
/* Product detail hero uses a flexible, edge-to-edge image frame. */
.v10-product .v10-cover {padding:0;border-radius:22px;overflow:hidden;background:#fff;gap:0}
.v10-product .v10-cover>.v10-zoom-trigger {width:100%;height:auto;border-radius:0;gap:0}
.v10-product .v10-cover>.v10-zoom-trigger>img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.v10-product .v10-cover figcaption,.v10-product .v10-cover .v10-gallery-count{margin:10px 12px}
@media(max-width:720px){.product-catalog .card img{height:245px}}

/* Scoped demo enhancement and lightbox style */
.v10-demo-model-code{display:inline-block;color:#fff;background:#ffffff21;border:1px solid #ffffff4d;padding:8px 13px;border-radius:50px;font-size:13px;font-weight:700}
.v10-demo-lightbox{border:0;border-radius:18px;max-width:96vw;width:min(1200px,96vw);max-height:94vh;margin:auto;padding:10px 15px;background:#102d43;color:#fff}
.v10-demo-lightbox::backdrop{background:#091724e0}
.v10-demo-lightbox .controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px}
.v10-demo-lightbox button{border:1px solid #9ac3d3;background:#215574;color:#fff;border-radius:12px;min-width:44px;min-height:44px;cursor:pointer;font-size:24px}
.v10-demo-lightbox .stage{display:flex;align-items:center;justify-content:center;gap:8px;min-height:170px}
.v10-demo-lightbox img{max-width:calc(100% - 110px);max-height:75vh;object-fit:contain;background:white;border-radius:7px}
.v10-demo-lightbox .note{font-size:12px;text-align:center;color:#bed3e3}
.v10-demo-zoom{display:block;cursor:zoom-in;text-align:center}
.v10-demo-zoom img{object-fit:contain}
