/* Pantalla propia: scroll del documento, conserva los formularios y eventos de cuenta. */
body.account-page-open-v118 main> :not(#client-account-dialog),
body.account-page-open-v118>.site-header,body.account-page-open-v118>.market-notices,
body.account-page-open-v118 .site-footer,body.account-page-open-v118 .market-floating-selection-v106 {display:none!important}
#client-account-dialog.account-page-v118 {position:static!important;inset:auto!important;width:min(960px,100%)!important;max-width:960px!important;max-height:none!important;margin:0 auto!important;padding:24px 16px!important;background:transparent!important;box-sizing:border-box!important;overflow:visible!important}
#client-account-dialog.account-page-v118:not([open]) {display:none!important}
#client-account-dialog.account-page-v118[open] {display:block!important}
#client-account-dialog.account-page-v118 .client-account-card {width:100%!important;max-height:none!important;overflow:visible!important;border-radius:24px!important;padding:24px!important;box-shadow:0 8px 32px #173d310b!important;scrollbar-gutter:auto!important}
#client-account-dialog.account-page-v118 [data-close-account] {position:static!important;float:none!important;width:auto!important;height:40px!important;margin:0 0 20px!important;padding:0 14px!important;border-radius:12px!important;font-size:14px!important}
/* Fotografías en un cuadro fijo: nunca participan en el cálculo de altura. */
.market-points-grid-v60{align-items:start!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.market-points-grid-v60>.market-points-benefit-card-v60{height:236px!important;min-height:0!important;max-height:236px!important;padding:0!important}
.market-points-grid-v60 .market-points-benefit-open-v60{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:124px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;align-items:start!important}
.market-points-grid-v60 .market-points-benefit-photo-v60{position:relative!important;width:112px!important;height:112px!important;min-height:112px!important;max-height:112px!important;aspect-ratio:1!important;align-self:start!important;overflow:hidden!important;border:0!important;border-radius:12px!important;margin:12px 0 0 12px!important;background:#f2f5f2!important;contain:size!important}
.market-points-grid-v60 .market-points-benefit-photo-v60 img,
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57 img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border-radius:0!important;background:transparent!important}
.market-points-grid-v60 .market-points-benefit-body-v60{height:100%!important;min-height:0!important;overflow:hidden!important;padding:12px 12px 50px!important;gap:4px!important;box-sizing:border-box!important}
.market-points-grid-v60 .market-points-benefit-body-v60 h3{font-family:inherit!important;font-size:15px!important;line-height:1.25!important;margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important}
.market-points-grid-v60 .market-points-benefit-body-v60>p{font-size:12px!important;line-height:1.35!important;margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important}
.market-points-grid-v60 .market-points-benefit-store-v60{font-size:11px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.market-points-grid-v60 .benefit-validity-v118,.market-points-grid-v60 .market-points-benefit-availability-v100,.market-points-grid-v60 .market-points-benefit-location-v60,.market-points-grid-v60 .market-points-benefit-components-v99{display:block!important;font-size:10px!important;line-height:1.3!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#52695f!important}
.market-points-grid-v60 .market-points-benefit-location-v60 svg{width:11px;height:11px}
.market-points-grid-v60 .market-points-store-link-v60{left:12px!important;right:12px!important;bottom:10px!important;max-width:none!important;width:auto!important;min-height:32px!important;display:flex!important;justify-content:center!important;align-items:center!important;font-size:11px!important}
.shop-benefits-grid-v55>.benefit-card-v57{height:236px!important;min-height:0!important;grid-template-columns:124px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-photo-v57{position:relative!important;align-self:start!important;width:112px!important;height:112px!important;min-height:112px!important;max-height:112px!important;aspect-ratio:1!important;margin:12px 0 0 12px!important;border-radius:12px!important;border:0!important;contain:size!important}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-copy-v55{min-height:0!important;overflow:auto!important}
.shop-benefits-grid-v55>.benefit-card-v57>.benefit-points-v55{left:18px!important;top:18px!important}
/* Dashboard personal. */
body.account-page-open-v118{background:#f3f6f3!important}
#client-account-dialog.account-page-v118{width:min(1160px,100%)!important;max-width:1160px!important}
#client-account-dialog.account-page-v118 .client-account-card{padding:0!important;background:transparent!important;box-shadow:none!important}
#client-account-dialog.account-page-v118 [data-close-account]{background:#fff!important;color:#244b3e!important;margin-bottom:14px!important;border:1px solid #dce6df!important}
.account-hero-v119{display:flex;align-items:center;gap:20px;padding:32px;border-radius:26px;background:#163e35;color:#fff;position:relative;overflow:hidden}
.account-avatar-v119{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:#d9e9aa;color:#254336;font-size:32px;font-weight:700;flex-shrink:0}
.account-hero-v119 .eyebrow{color:#c8dab8;font-size:10px;letter-spacing:1.7px;margin:0 0 10px}
.account-hero-v119 h1{font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0 0 10px;letter-spacing:-1px;color:#fff}
.account-hero-v119 p:last-child{color:#d6e4dc;font-size:13px;line-height:1.5;margin:0}
.account-explore-v119{margin-left:auto;flex-shrink:0;background:#e2eecc;color:#193f33;border-radius:12px;padding:14px 16px;font-size:12px;font-weight:700;display:flex;gap:18px}
.account-layout-v119{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:24px;align-items:start}
.account-main-v119,.account-side-v119{min-width:0}
.account-tabs-v119{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;margin:0 0 20px!important}
.account-tab-v119{display:flex;align-items:center;gap:10px;padding:16px 12px;border:1px solid #dce6df;border-radius:16px;background:#fff;color:#345449;text-align:left;cursor:pointer;min-width:0}
.account-tab-v119[aria-pressed=true]{border-color:#246249;background:#e8f1e8;box-shadow:inset 0 -3px #246249}
.account-tab-icon-v119{font-size:24px;color:#45764d}
.account-tab-v119 strong{display:block;font-size:12px}
.account-tab-v119 small{display:block;font-size:10px;color:#6c8276;margin-top:5px}
.account-tab-v119 b{margin-left:auto;font-size:20px;font-weight:600}
.account-panel-v119{margin:0!important;padding:24px!important;border:1px solid #e1e8e2!important;border-radius:20px!important;background:#fff!important}
.account-panel-v119[hidden]{display:none!important}
.account-panel-v119>summary{display:none!important}
#client-account-dialog .account-panel-v119 h2{font-size:21px!important;line-height:1.2!important;letter-spacing:-.5px;margin:0 0 8px!important}
.account-panel-v119>header>p{font-size:12px;line-height:1.5;color:#718074;margin:0 0 22px}
.account-balances-v119{display:grid;gap:12px}
.account-balances-v119 .client-points-card{margin:0!important;border:1px solid #e5ebe3;border-radius:13px;overflow:hidden;box-shadow:none}
.account-empty-v119{text-align:center;padding:24px 12px;background:#f6f8f3;border-radius:14px}
.account-empty-v119>span{font-size:34px;color:#789456}
.account-empty-v119 h3{font-size:16px;margin:12px 0 8px;color:#345440}
.account-empty-v119 p{font-size:12px;line-height:1.6;color:#718074;max-width:320px;margin:0 auto 18px}
.account-empty-v119 a{font-size:12px;font-weight:700;color:#286541}
.account-favorites-v119{display:flex;align-items:center;gap:15px;background:#efece3;border-radius:16px;padding:18px;margin:18px 0;color:#514b37}
.account-favorite-icon-v119{font-size:30px}
.account-favorites-v119 strong{display:block;font-size:13px}
.account-favorites-v119 small{display:block;font-size:11px;color:#807c6d;margin-top:6px}
.account-favorites-v119>b{margin-left:auto}
.account-member-v119{padding:22px;border-radius:22px;background:#fff;border:1px solid #dfe7dd;box-shadow:0 6px 18px #213a2610}
.account-member-brand-v119{display:flex;align-items:center;gap:8px;font-size:9px;color:#234f72}
.account-member-brand-v119 img{width:32px;height:32px;object-fit:contain}
.account-member-brand-v119 strong{font-size:14px}
.account-member-brand-v119>small{margin-left:auto;font-size:8px;letter-spacing:1px;color:#7b8b80}
.account-member-v119>p{margin:24px 0 8px;font-size:17px;font-weight:700;color:#335442}
.account-member-id-v119{font-size:13px;letter-spacing:2px;color:#718074}
.account-qr-fold-v119{margin-top:20px;border-top:1px dashed #ccd8c9;padding-top:14px}
.account-qr-fold-v119 summary{display:flex;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700;color:#2a5e45;padding:10px 0}
.account-qr-fold-v119 .client-account-qr{margin:14px auto!important;width:176px!important;height:176px!important;padding:0!important;background:#fff!important}
.account-qr-fold-v119 p{font-size:11px;line-height:1.5;color:#718074;text-align:center}
.account-member-v119>button{display:block;width:100%;padding:11px;margin-top:10px;border:1px solid #dfe7dd;border-radius:10px;background:#f7f9f4;font-size:11px;color:#335442;cursor:pointer}
.account-settings-v119{background:#fff;border:1px solid #dfe7dd;border-radius:15px;margin-top:14px;padding:16px}
.account-settings-v119 summary{display:flex;justify-content:space-between;font-size:12px;color:#385546;font-weight:700;cursor:pointer}
.account-settings-v119 dl{margin:20px 0 0}.account-settings-v119 dt{font-size:10px;color:#7d8a80;margin-top:12px}.account-settings-v119 dd{font-size:12px;color:#345140;margin:4px 0;overflow-wrap:anywhere}
.account-settings-actions-v119{display:grid;gap:8px;margin-top:18px}.account-settings-actions-v119 button{padding:10px;background:#f3f6ef;border:0;border-radius:8px;text-align:left;font-size:11px;color:#335442;cursor:pointer}
.account-logout-v119{display:block;margin:18px auto;border:0;background:transparent;color:#7d8278;font-size:11px;cursor:pointer;padding:10px}
#saved-nav{display:inline-flex!important}#saved-nav .saved-label{display:inline!important}
@media(max-width:800px){
 .market-points-grid-v60{grid-template-columns:minmax(0,1fr)!important}
 .account-layout-v119{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}
 .account-hero-v119{padding:22px;gap:14px;flex-wrap:wrap;border-radius:20px}
 .account-avatar-v119{width:48px;height:48px;border-radius:15px;font-size:24px}
 .account-hero-v119>div:nth-child(2){flex:1;min-width:0}
 .account-hero-v119 .eyebrow{font-size:8px;letter-spacing:1px}
 .account-hero-v119 p:last-child{font-size:11px}
 .account-explore-v119{margin:0;width:100%;justify-content:space-between;padding:12px;font-size:12px}
 .account-tabs-v119{gap:7px!important}
 .account-tab-v119{padding:12px 8px;display:grid;grid-template-columns:1fr auto;gap:8px}
 .account-tab-v119>span:nth-child(2){grid-row:2;grid-column:1/-1}
 .account-tab-v119>b{grid-row:1;grid-column:2;font-size:18px}
 .account-tab-icon-v119{font-size:20px}.account-tab-v119 strong{font-size:11px}.account-tab-v119 small{font-size:9px}
 .account-panel-v119{padding:18px!important}
 #client-account-dialog .account-panel-v119 h2{font-size:19px!important}
 #client-account-dialog.account-page-v118{padding:12px!important}
 .account-side-v119{display:grid;grid-template-columns:minmax(0,1fr)}
 .account-favorites-v119 strong{font-size:12px}
 .site-header{flex-wrap:wrap!important;gap:10px!important}#saved-nav{font-size:11px!important;padding:8px!important;gap:5px!important}
}
/* El listado conserva el ancho previsto incluso con estilos anteriores cargados. */
.market-points-grid-v59.market-points-grid-v60{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important}
.shop-benefits-grid-v55.shop-benefits-dialog-grid-v57{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important}
/* Imágenes de publicaciones, carta, reservas y beneficios: completas dentro del marco. */
.product-image-link img,.product-image-link.market-media-v113 img,
.shop-page-product-image img,.shop-page-product-image.market-media-v113 img,
.carta-photo-v89 img,.carta-photo-v89.market-media-v113 img,
.home-benefit-photo-v57 img,.home-benefit-photo-v57.market-media-v113 img,
.market-reservation-card img,.reservation-gallery-thumb img,.selection-item-image img{
 width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;box-sizing:border-box!important
}
.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-repeat:no-repeat!important;background-position:center!important}
.product-image-link,.shop-page-product-image{min-height:0!important;overflow:hidden!important}
.home-benefit-photo-v57{position:relative!important;height:118px!important;min-height:118px!important;max-height:118px!important;align-self:start!important;overflow:hidden!important}
.home-benefit-photo-v57 img{position:absolute!important;inset:0!important}
/* Detalle: marco acotado, sin altura heredada de la columna de información. */
.detail-media-column{align-self:start!important;padding:14px!important;background:transparent!important;min-width:0!important}
.detail-media-column .detail-gallery{position:static!important;display:block!important;background:transparent!important}
.detail-media-column .detail-image,.detail-media-column .detail-gallery .detail-image{
 position:relative!important;width:100%!important;height:260px!important;min-height:0!important;max-height:260px!important;aspect-ratio:auto!important;display:block!important;flex:none!important;border-radius:16px!important;background:#f3f5f1!important;overflow:hidden!important
}
.detail-media-column .detail-image .detail-main-photo,
.detail-media-column .detail-gallery .detail-image .live-product-image,
.detail-media-column .detail-image-button .detail-main-photo{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:8px 8px 40px!important;margin:0!important;box-sizing:border-box!important;background:transparent!important
}
.detail-media-column .detail-image .product-photo{height:100%!important;min-height:0!important;aspect-ratio:auto!important}
.detail-zoom-hint{position:absolute!important;left:50%!important;right:auto!important;bottom:9px!important;transform:translateX(-50%)!important;width:max-content!important;max-width:calc(100% - 20px)!important;padding:6px 10px!important;font-size:11px!important;z-index:4!important}
.detail-thumbs{margin-top:9px!important;gap:7px!important}.detail-thumb{width:46px!important;height:46px!important;min-width:46px!important}.detail-thumb img{width:100%!important;height:100%!important;object-fit:contain!important}
@media(max-width:800px){
 .market-points-grid-v59.market-points-grid-v60,.shop-benefits-grid-v55.shop-benefits-dialog-grid-v57{grid-template-columns:minmax(0,1fr)!important}
 .detail-media-column{padding:10px!important}
 .detail-media-column .detail-image,.detail-media-column .detail-gallery .detail-image{height:220px!important;max-height:220px!important}
}
.product-image-wrap>.product-image-link{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.product-image-wrap>.product-image-link img,.shop-page-product-image>img{position:absolute!important;inset:0!important}
