/* PARCHE B02 · IMÁGENES UHD
   Cargado al final para anular reglas antiguas y duplicadas. */

.product-image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  aspect-ratio: 1600 / 2143 !important;
  overflow: hidden !important;
  background: #0d1217 !important;
  isolation: isolate;
}

.product-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: translateZ(0) scale(1) !important;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transition: filter .2s ease, transform .2s ease !important;
}

.product-card:not(.sold-out):hover .product-image img {
  transform: translateZ(0) scale(1.012) !important;
  filter: saturate(1.035) contrast(1.018) !important;
}

.product-image::after {
  opacity: .28 !important;
  pointer-events: none !important;
}

/* Mantiene la tarjeta proporcionada y evita reescalados bruscos. */
.product-card {
  contain: layout paint;
}

@media (max-width: 850px) {
  .product-image {
    aspect-ratio: 1600 / 2143 !important;
  }
}

@media (max-width: 540px) {
  .product-image {
    min-height: 0 !important;
    aspect-ratio: 1600 / 2143 !important;
  }
}

/* Agotado conserva su sombreado, sin reducir la resolución. */
.product-card.sold-out .product-image img {
  filter: grayscale(.3) brightness(.58) !important;
  transform: translateZ(0) scale(1) !important;
}


/* PARCHE PC · anula el aspect-ratio UHD que agrandaba las tarjetas */
@media (min-width:1024px){
  .product-image{
    height:365px !important;
    min-height:365px !important;
    flex:0 0 365px !important;
    aspect-ratio:auto !important;
  }
  .product-image img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
}
