/* Mercado Emprender v113 — catálogos, fotografías, pago y PWA */
/* Miniaturas mantienen el marco lleno sin deformar. Fotos completas accesibles en el detalle. */
.product-image-link img,.shop-page-product-image img,.carta-photo-v89 img,
.market-points-benefit-photo-v60 img,.shop-benefits-grid-v55 .benefit-photo-v57 img,
.home-benefit-photo-v57 img,.market-reservation-card img,
.shop-product-card img,.reservation-gallery-thumb img{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;
  display:block!important;aspect-ratio:auto;
}
.product-image-link .product-photo,.shop-page-product-image .product-photo,
.product-image-link .live-product-image,.shop-page-product-image .live-product-image{
  background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;
  background-color:#eaf3ee!important;
}
/* En detalle preservar todos los bordes, sin deformación por estilos heredados. */
.detail-media-column img,.detail-gallery img,.detail-main-image img,.detail-photo img,
.product-detail img,.gallery-stage img,.reservation-gallery img,
.image-viewer-stage img,.market-promo-photo-v111 img{
  width:100%;max-width:100%;object-fit:contain!important;object-position:center!important;
}
/* Puntos Emprender conserva beneficios, puntos, canjes y comercio, pero utiliza
   una cuadrícula móvil y un visor desplazable inspirados en la navegación de Carta. */
.market-points-grid-v59.market-points-grid-v60,
.shop-benefits-grid-v55.shop-benefits-dialog-grid-v57{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;align-items:stretch!important;
}
.market-points-benefit-card-v60,.shop-benefits-dialog-grid-v57 .benefit-card-v57{
  min-width:0!important;width:100%!important;max-width:none!important;
  height:100%!important;border-radius:17px!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
.market-points-benefit-photo-v60,.shop-benefits-dialog-grid-v57 .benefit-photo-v57{
  aspect-ratio:4/3!important;min-height:0!important;position:relative;
  width:100%!important;overflow:hidden!important;background:#f0f6f2;
}
.shop-benefits-dialog-grid-v57 .benefit-copy-v55{flex:1;min-width:0;padding:11px!important}
.shop-benefits-dialog-grid-v57 .benefit-card-v57 .primary-button{width:100%;justify-content:center}
.shop-benefits-dialog-v57{width:min(980px,calc(100vw - 16px))!important;
  max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  padding:0!important;box-sizing:border-box}
.shop-benefits-dialog-card-v57{max-height:calc(100dvh - 22px)!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
  padding:17px 15px calc(22px + env(safe-area-inset-bottom))!important;
  box-sizing:border-box}
#payment-curtain-v104{z-index:2147483647}
#payment-continue-v113:not([hidden]){display:flex!important;justify-content:center;align-items:center;
  min-height:44px;margin:15px auto 0;text-decoration:none}
#payment-continue-v113[hidden]{display:none!important}
@media(max-width:800px){.market-points-grid-v60,.shop-benefits-dialog-grid-v57{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}
@media(max-width:520px){
  .market-points-benefit-photo-v60,.shop-benefits-dialog-grid-v57 .benefit-photo-v57{aspect-ratio:1/1!important}
  .shop-benefits-dialog-v57{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}
  .shop-benefits-dialog-card-v57{padding:12px 10px calc(18px + env(safe-area-inset-bottom))!important}
  .shop-benefits-dialog-grid-v57{gap:8px!important}
  .shop-benefits-dialog-grid-v57 .benefit-card-v57 h3{font-size:.88rem!important;line-height:1.25!important}
  .shop-benefits-dialog-grid-v57 .benefit-copy-v55{padding:9px!important}
  .shop-benefits-dialog-grid-v57 .benefit-card-v57 button{min-height:38px!important}
}
@media(max-width:350px){.market-points-grid-v60,.shop-benefits-dialog-grid-v57{gap:6px!important}}
/* Fondo atmosférico de la misma foto: rellena la miniatura mientras la imagen
   original se ve íntegra por encima (sin estirar ni recortar el contenido). */
.product-image-link.market-media-v113,.shop-page-product-image.market-media-v113,
.carta-photo-v89.market-media-v113,.market-points-benefit-photo-v60.market-media-v113,
.benefit-photo-v57.market-media-v113,.home-benefit-photo-v57.market-media-v113,
.market-reservation-card.market-media-v113,.reservation-gallery-thumb.market-media-v113{
  position:relative!important;overflow:hidden!important;background:#edf4ef!important;
}
.market-media-v113::before{
  content:"";position:absolute;inset:-12px;pointer-events:none;
  background-image:var(--market-photo-v113);background-size:cover;background-position:center;
  opacity:.53;filter:blur(10px) saturate(.9);transform:scale(1.05);z-index:0;
}
.market-media-v113 img{position:relative!important;z-index:1!important;
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
/* Mantener insignias y botones por encima del fondo. */
.market-media-v113>.product-points-badge-v86,.market-media-v113>.market-points-badge-v60,
.market-media-v113>.market-detail-favorite-v108{position:relative;z-index:3}
/* Encabezados compactos de los dos catálogos de beneficios, sin alterar
   la información de puntos ni los botones de canje. */
.market-points-page-v59{min-height:calc(100dvh - 76px)}
.market-points-hero-v60{margin-bottom:0!important}
.shop-benefits-dialog-head-v57{padding:6px 0 13px!important}
@media(max-width:700px){
 .market-points-shell-v60{gap:12px!important}
 .market-points-topbar-v60{min-height:49px!important}
 .market-points-hero-v60{padding:6px 0 0!important}
 .market-points-hero-v60 h1{font-size:1.56rem!important;line-height:1.13!important;margin:2px 0 6px!important}
 .market-points-hero-v60 .eyebrow{font-size:.62rem!important}
 .market-points-hero-v60 p:not(.eyebrow){font-size:.77rem!important;line-height:1.35!important}
 .market-points-search-title-v60{margin:3px 0 0!important}
 .market-points-filter-form-v60{position:sticky!important;top:0!important;z-index:15!important;
   background:rgba(255,255,255,.97)!important;backdrop-filter:blur(9px);
   box-shadow:0 6px 16px rgba(20,72,51,.07)!important}
 .shop-benefits-dialog-head-v57 h2{font-size:1.14rem!important;line-height:1.25!important}
 .shop-benefits-dialog-head-v57 p{font-size:.76rem!important}
}
