/* A caixa reserva a área; a imagem inteira cabe dentro dela, sem corte. */
.product-card .product-media,
.catalog-card .product-media {
  display:block;
  position:relative;
  flex:0 0 auto;
  width:100%;
  height:250px;
  min-width:0;
  background:#fff;
  overflow:hidden;
}
.product-media .product-image-trigger {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  cursor:zoom-in;
  color:#555;
}
.product-media .product-image-trigger img {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  padding:22px 18px 34px;
  transform:none;
  background:#fff;
}
.product-image-hint {
  position:absolute;
  bottom:10px;
  left:0;
  right:0;
  z-index:3;
  text-align:center;
  font-size:11px;
  font-weight:400;
  color:#68707a;
  pointer-events:none;
}
.product-hover-preview {
  position:fixed;
  z-index:90;
  width:min(420px,calc(100vw - 32px));
  padding:18px;
  border:1px solid #e4e6e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 60px #0004;
  pointer-events:none;
}
.product-hover-preview[hidden]{display:none}
.product-hover-preview img {
  display:block;
  width:100%;
  height:290px;
  object-fit:contain;
  object-position:center;
  background:#fff;
}
.product-hover-preview p{margin:12px 0 0;font-size:14px;color:#171a1f;font-weight:700}
.product-lightbox {
  padding:0;
  width:min(1100px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  border:0;
  border-radius:16px;
  background:#fff;
  color:#171a1f;
  overflow:auto;
}
.product-lightbox::backdrop{background:#000c}
.product-lightbox-inner{position:relative;padding:56px 24px 24px}
.product-lightbox img{display:block;width:100%;height:min(68vh,700px);object-fit:contain;object-position:center;background:#fff}
.product-lightbox h2{font-size:18px;line-height:1.4;margin:18px 0 0;text-align:center}
.product-lightbox-close{position:absolute;top:12px;right:12px;border:1px solid #ddd;border-radius:8px;padding:9px 14px;background:#fff;color:#171a1f;cursor:pointer;font-size:14px}
html.product-lightbox-open{overflow:hidden}
@media(max-width:600px){
 .product-card .product-media,.catalog-card .product-media{height:260px}
 .product-hover-preview{display:none!important}
 .product-lightbox-inner{padding:52px 14px 20px}
 .product-lightbox img{height:62vh}
}
