/* v120 · correcciones visuales solicitadas. Mantener las clases y acciones existentes. */
/* Imágenes: cuadros estables; la foto llena el espacio sin distorsionarse. */
.product-image-wrap, .product-image-link, .shop-page-product-image,
.carta-photo-v89, .home-benefit-photo-v57, .market-reservation-card,
.market-points-benefit-photo-v60, .shop-benefits-grid-v55 .benefit-photo-v57 {
  overflow:hidden!important;
}
.product-image-link img,.product-image-link .live-product-image,
.shop-page-product-image img,.shop-page-product-image .live-product-image,
.carta-photo-v89 img,.carta-photo-v89 picture img,
.home-benefit-photo-v57 img,.market-reservation-card img,
.market-points-benefit-photo-v60 img,.shop-benefits-grid-v55 .benefit-photo-v57 img,
.selection-item-image img,.reservation-gallery-thumb img {
  display:block!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:cover!important;object-position:center!important;
  padding:0!important;margin:0!important;
}
.product-image-link .product-photo,.product-image-link .live-product-image,
.shop-page-product-image .product-photo,.shop-page-product-image .live-product-image,
.carta-photo-v89 .product-photo {
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}
.product-image-wrap>.product-image-link {inset:0!important;width:100%!important;height:100%!important;}
/* Verificar que los adornos y etiquetas nunca agranden el marco. */
.product-image-wrap>.product-points-badge-v86{top:.42rem!important;right:.42rem!important;}
.product-image-wrap>.market-stock-under-v108{top:auto!important;bottom:.42rem!important;right:.42rem!important;left:auto!important;}
/* Detalle: contenido sin altura forzada, imagen centrada en marco reducido. */
.detail-layout,.detail-layout.product-detail-v11 {min-height:0!important;align-items:start!important;}
.detail-layout .detail-media-column {
  min-height:0!important;align-self:start!important;padding:10px!important;
  background:transparent!important;display:flex!important;flex-direction:column!important;
  justify-content:flex-start!important;align-items:center!important;
}
.detail-layout .detail-gallery {width:100%!important;max-width:420px!important;position:static!important;display:block!important;background:transparent!important;}
.detail-layout .detail-media-column>.detail-image,
.detail-layout .detail-media-column .detail-gallery .detail-image {
  width:100%!important;max-width:420px!important;height:244px!important;
  max-height:244px!important;min-height:0!important;aspect-ratio:auto!important;
  position:relative!important;display:block!important;border-radius:14px!important;
  overflow:hidden!important;background:#f2f5f2!important;
}
.detail-layout .detail-image .detail-main-photo,
.detail-layout .detail-image .live-product-image,
.detail-layout .detail-gallery .detail-image .live-product-image {
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:100%!important;object-fit:contain!important;
  object-position:center!important;box-sizing:border-box!important;padding:6px 6px 38px!important;
  margin:0!important;background:transparent!important;
}
.detail-layout .detail-media-column .detail-image .product-photo {width:100%!important;height:100%!important;min-height:0!important;}
.detail-layout .detail-media-column .gallery-hint {display:none!important;}
.detail-layout .detail-gallery .detail-thumbs {width:100%!important;max-width:420px!important;}
.detail-layout .detail-zoom-hint {bottom:8px!important;max-width:calc(100% - 16px)!important;}
/* Beneficios horizontales estilo carta, sin alto fijo ni textos truncados. */
.market-points-grid-v59.market-points-grid-v60,
.shop-benefits-grid-v55.shop-benefits-dialog-grid-v57,
.shop-benefits-grid-v55:not(.shop-benefits-dialog-grid-v57){
  display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
  gap:10px!important;align-items:stretch!important;width:100%!important;max-width:1000px!important;
}
.market-points-grid-v60>.market-points-benefit-card-v60 {
  display:flex!important;flex-direction:column!important;position:relative!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  padding:0!important;overflow:hidden!important;
}
.market-points-grid-v60 .market-points-benefit-open-v60 {
  display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;
  grid-template-rows:auto!important;align-items:start!important;gap:0!important;
  width:100%!important;height:auto!important;min-height:0!important;flex:none!important;
  padding:0!important;box-sizing:border-box!important;
}
.market-points-grid-v60 .market-points-benefit-photo-v60 {
  position:relative!important;grid-column:1!important;grid-row:1!important;
  width:116px!important;height:116px!important;min-height:116px!important;max-height:116px!important;
  margin:10px 0 0 10px!important;align-self:start!important;contain:none!important;
  border-radius:12px!important;background:#f1f5f1!important;
}
.market-points-grid-v60 .market-points-benefit-body-v60 {
  grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;
  gap:4px!important;min-width:0!important;width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;padding:11px 12px 6px!important;box-sizing:border-box!important;
  white-space:normal!important;
}
.market-points-grid-v60 .market-points-benefit-body-v60 h3,
.market-points-grid-v60 .market-points-benefit-body-v60>p,
.market-points-grid-v60 .market-points-benefit-store-v60,
.market-points-grid-v60 .market-points-benefit-components-v99,
.market-points-grid-v60 .market-points-benefit-availability-v100,
.market-points-grid-v60 .market-points-benefit-location-v60,
.market-points-grid-v60 .benefit-validity-v118 {
  display:block!important;overflow:visible!important;max-height:none!important;
  white-space:normal!important;text-overflow:clip!important;
  -webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;
  overflow-wrap:anywhere!important;word-break:normal!important;
}
.market-points-grid-v60 .market-points-benefit-body-v60 h3 {font-size:15px!important;line-height:1.26!important;}
.market-points-grid-v60 .market-points-benefit-body-v60>p{font-size:11.5px!important;line-height:1.36!important;}
.market-points-grid-v60 .market-points-benefit-store-v60{font-size:11.5px!important;line-height:1.35!important;}
.market-points-grid-v60 .market-points-benefit-components-v99,
.market-points-grid-v60 .benefit-validity-v118,
.market-points-grid-v60 .market-points-benefit-location-v60 {font-size:10.5px!important;line-height:1.35!important;}
.market-points-grid-v60 .market-points-store-link-v60 {
  position:static!important;inset:auto!important;align-self:stretch!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:calc(100% - 20px)!important;max-width:none!important;min-height:36px!important;
  margin:7px 10px 10px!important;padding:7px 10px!important;box-sizing:border-box!important;
  font-size:11px!important;text-align:center!important;
}
.shop-benefits-grid-v55>.benefit-card-v57 {
  height:auto!important;min-height:0!important;max-height:none!important;
  grid-template-columns:128px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;align-items:start!important;
  padding:0!important;
}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57{
  grid-column:1!important;grid-row:1!important;
  width:116px!important;height:116px!important;min-height:116px!important;max-height:116px!important;
  align-self:start!important;position:relative!important;contain:none!important;
  margin:10px 0 0 10px!important;border-radius:12px!important;
}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-copy-v55{
  grid-column:2!important;grid-row:1!important;overflow:visible!important;
  min-height:0!important;height:auto!important;max-height:none!important;
  padding:11px 12px 4px!important;white-space:normal!important;
}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-copy-v55 *{
  overflow-wrap:anywhere!important;white-space:normal!important;text-overflow:clip!important;
  -webkit-line-clamp:unset!important;max-height:none!important;
}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-action-v55 {
  grid-column:1 / -1!important;grid-row:2!important;justify-self:stretch!important;
  width:calc(100% - 20px)!important;min-height:36px!important;
  margin:7px 10px 10px!important;box-sizing:border-box!important;
}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-points-v55{left:14px!important;top:14px!important;}
/* Mi espacio: cabecera funcional y una única columna de actividad. */
#client-account-dialog.account-page-v118{position:relative!important;}
#client-account-dialog.account-page-v118 .client-account-card{padding:0!important;}
#client-account-dialog.account-page-v118 .client-account-card>[data-close-account]{display:none!important;}
.account-layout-v119{display:block!important;max-width:100%!important;}
.account-main-v119{width:100%!important;}
.account-hero-v119.account-hero-v120 {
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;column-gap:20px!important;row-gap:16px!important;
  padding:22px 26px!important;overflow:hidden!important;
}
.account-hero-top-v120{grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-width:0;}
.account-hero-top-v120 .eyebrow{flex:1;min-width:0;font-size:10px!important;line-height:1.4!important;letter-spacing:1.2px!important;color:#c6dfc0!important;margin:0!important;}
.account-hero-tools-v120{display:flex;align-items:center;gap:7px;flex:none;}
.account-hero-tools-v120 button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff4d;border-radius:11px;background:#ffffff14;color:#f3f8ef;cursor:pointer;}
.account-hero-tools-v120 button:hover,.account-hero-tools-v120 button:focus-visible{background:#ffffff2b;}
.account-hero-tools-v120 .account-hero-close-v120{font-size:24px;line-height:1;font-weight:300;}
.account-settings-trigger-v120 svg{width:19px;height:19px;stroke:currentColor;}
.account-hero-greeting-v120{display:flex;align-items:center;gap:18px;min-width:0;grid-column:1;}
.account-hero-message-v120{min-width:0;flex:1;}
.account-hero-message-v120 h1{margin:0 0 7px!important;overflow-wrap:anywhere;}
.account-hero-message-v120 p{color:#d6e4dc!important;font-size:13px!important;line-height:1.5!important;margin:0!important;}
.account-hero-v120 .account-explore-v119.account-credential-trigger-v120{
  grid-column:2;grid-row:2;display:flex!important;align-items:center;justify-content:space-between;
  gap:12px;min-width:170px;width:auto;max-width:100%;margin:0!important;
  padding:13px 18px;font-size:13px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer;border:0;
}
.account-credential-trigger-v120 span{font-size:22px;line-height:1;}
.account-hero-tools-v120 button:focus-visible,.account-credential-trigger-v120:focus-visible{outline:3px solid #d7eda1;outline-offset:2px;}
/* Diálogos reales de credencial y ajustes: sobre la cuenta y adaptados a móviles. */
.account-dialog-v120{position:fixed!important;inset:0!important;width:min(440px,calc(100vw - 24px))!important;
  max-width:440px!important;max-height:min(90dvh,760px)!important;overflow:auto!important;
  margin:auto!important;padding:0!important;border:0!important;border-radius:22px!important;
  color:#25443c;background:#fff!important;box-shadow:0 22px 70px #0e2c2470!important;}
.account-dialog-v120::backdrop{background:rgba(15,35,33,.64)!important;backdrop-filter:blur(4px);}
.account-dialog-card-v120{position:relative;padding:26px 22px 22px;box-sizing:border-box;}
.account-dialog-close-v120{position:absolute;right:13px;top:12px;display:grid;place-items:center;
  width:34px;height:34px;border:1px solid #e3e9e2;border-radius:11px;background:#f8faf7;
  color:#3f6051;font-size:24px;cursor:pointer;z-index:1;}
.account-credential-brand-v120{display:flex;align-items:center;gap:9px;padding-right:22px;}
.account-credential-brand-v120 img{width:38px;height:38px;object-fit:contain;}
.account-credential-brand-v120>span:nth-child(2){display:flex;flex-direction:column;color:#124e70;line-height:1.1;}
.account-credential-brand-v120 small{font-size:10px;letter-spacing:1px;}
.account-credential-brand-v120 strong{font-size:18px;}
.account-credential-caption-v120{margin-left:auto;color:#7c8e83;font-size:9px;letter-spacing:1px;white-space:nowrap;}
.account-credential-person-v120{margin:24px 0 7px;font-size:22px;font-weight:750;color:#224a3b;overflow-wrap:anywhere;}
.account-credential-id-v120{display:block;color:#607d73;font-size:15px;letter-spacing:2px;overflow-wrap:anywhere;}
.account-credential-qr-v120{display:flex;align-items:center;justify-content:center;width:210px!important;height:210px!important;
  max-width:100%!important;min-width:0!important;margin:19px auto 12px!important;padding:16px!important;
  box-sizing:border-box!important;background:white!important;border:1px solid #e2ebde;border-radius:14px;}
.account-credential-qr-v120 img,.account-credential-qr-v120 canvas{display:block!important;width:176px!important;height:176px!important;max-width:100%!important;object-fit:contain!important;}
.account-qr-unavailable-v120{font-size:12px;text-align:center;color:#698174;}
.account-credential-description-v120{text-align:center;max-width:310px;margin:0 auto 16px;color:#657b6c;font-size:12px;line-height:1.5;}
.account-credential-copy-v120{display:block;width:100%;min-height:42px;border:1px solid #cfe4d9;border-radius:12px;background:#eef8f1;color:#155b43;font-size:12px;font-weight:700;cursor:pointer;}
.account-dialog-eyebrow-v120{display:block;color:#54826c;font-size:10px;letter-spacing:1.2px;margin:0 28px 10px 0;}
.account-settings-modal-v120 h2{font-size:25px;line-height:1.2;margin:0 30px 7px;color:#183f33;}
.account-settings-intro-v120{font-size:12px;line-height:1.5;color:#71867a;margin:0 0 18px;}
.account-settings-modal-v120 dl{display:grid;gap:8px;margin:0;}
.account-settings-modal-v120 dl>div{display:grid;grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:8px;align-items:start;
  padding:11px 12px;border:1px solid #e4ede6;border-radius:11px;background:#f8faf8;}
.account-settings-modal-v120 dt{font-size:11px;color:#738679;}
.account-settings-modal-v120 dd{font-size:12px;font-weight:650;color:#264b3b;margin:0;overflow-wrap:anywhere;}
.account-settings-actions-v120{display:grid;gap:8px;margin-top:15px;}
.account-settings-actions-v120 button{display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:42px;padding:9px 13px;border:1px solid #cfe4d9;border-radius:12px;
  background:#f1f8f2;color:#185c46;font-size:12px;font-weight:700;cursor:pointer;}
.account-settings-actions-v120 button span{font-size:18px;}
.account-settings-logout-v120{display:block;margin:17px auto 0;border:0;background:transparent;
  color:#8e5250;font-size:12px;cursor:pointer;padding:10px 18px;}
@media(max-width:800px){
  .account-hero-v119.account-hero-v120{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:22px!important;}
  .account-hero-top-v120{grid-column:1;}
  .account-hero-greeting-v120{grid-column:1;gap:15px;}
  .account-hero-message-v120 h1{font-size:clamp(24px,7vw,34px)!important;letter-spacing:-.6px!important;}
  .account-hero-v120 .account-explore-v119.account-credential-trigger-v120{
    grid-column:1;grid-row:3;width:100%!important;min-width:0!important;padding:14px!important;
  }
  .account-layout-v119{margin-top:20px!important;}
  .account-hero-tools-v120 button{height:35px;width:35px;}
  .market-points-grid-v60 .market-points-benefit-open-v60{grid-template-columns:124px minmax(0,1fr)!important;}
  .market-points-grid-v60 .market-points-benefit-photo-v60{width:112px!important;height:112px!important;min-height:112px!important;max-height:112px!important;}
  .shop-benefits-grid-v55>.benefit-card-v57{grid-template-columns:124px minmax(0,1fr)!important;}
  .shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57{width:112px!important;height:112px!important;min-height:112px!important;max-height:112px!important;}
  .detail-layout .detail-media-column>.detail-image,.detail-layout .detail-media-column .detail-gallery .detail-image{
    height:210px!important;max-height:210px!important;max-width:380px!important;}
}
@media(max-width:390px){
  .market-points-grid-v60 .market-points-benefit-open-v60{grid-template-columns:108px minmax(0,1fr)!important;}
  .market-points-grid-v60 .market-points-benefit-photo-v60{width:98px!important;height:98px!important;min-height:98px!important;max-height:98px!important;}
  .shop-benefits-grid-v55>.benefit-card-v57{grid-template-columns:108px minmax(0,1fr)!important;}
  .shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57{width:98px!important;height:98px!important;min-height:98px!important;max-height:98px!important;}
  .account-hero-v119.account-hero-v120{padding:16px!important;}
  .account-hero-top-v120 .eyebrow{font-size:8px!important;letter-spacing:.7px!important;}
}
/* Precedencia sobre los selectores con .market-media-v113 heredados de v119. */
.product-image-link.market-media-v113 img,
.product-image-link.market-media-v113 .live-product-image,
.shop-page-product-image.market-media-v113 img,
.shop-page-product-image.market-media-v113 .live-product-image,
.carta-photo-v89.market-media-v113 img,
.carta-photo-v89.market-media-v113 picture img,
.home-benefit-photo-v57.market-media-v113 img,
.market-points-grid-v60 .market-points-benefit-photo-v60 img,
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57 img {
  object-fit:cover!important;object-position:center!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  padding:0!important;margin:0!important;
}
.account-credential-icon-v120{display:flex;align-items:center;justify-content:center;}
.account-credential-icon-v120 svg{width:21px;height:21px;}
