/* ============================================================================
   Sistema visual — tienda LHESH (lhesh.mx) v1 · 24-oct-2026
   Requiere gt-tokens-v1.css (misma versión que Greentrac/DM). Solo presentación: sin cambios de catálogo, precios,
   agotados, inventario, pedidos, permisos ni lógica. No toca logos, pasarela de pago ni componentes de terceros.
   WhatsApp conserva su verde. Los avisos de «caja/paquete/moda» conservan su color semántico propio.
   ========================================================================== */
/* barra y encabezado */
html body .cart-products-count,html body #mobile-cart-products-count,html body .cart-products-count-btn{background:var(--gt-primary)!important;color:#fff!important}
html body .mobile-buttons-bar{border-bottom:1px solid var(--gt-line)}
/* acciones principales: rojo; secundarias: blancas con borde */
html body .btn.btn-product-list,html body .btn.add-to-cart,html body .btn-primary:not(.disabled):not(:disabled),html body a.btn-primary{background:var(--gt-primary)!important;border-color:var(--gt-primary)!important;color:#fff!important;border-radius:var(--gt-r-ctl)}
html body .btn.btn-product-list:hover,html body .btn.add-to-cart:hover,html body .btn-primary:hover{background:var(--gt-primary-h)!important;border-color:var(--gt-primary-h)!important}
html body .btn-primary:disabled,html body .btn-primary.disabled{background:#e9ecef!important;border-color:#d5dadf!important;color:#6b7680!important}
html body .btn.btn-secondary,html body a.btn-secondary,html body .btn-touchspin{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)}
html body .form-control:focus,html body .form-search-control:focus{border-color:var(--gt-focus)!important;box-shadow:0 0 0 3px rgba(36,93,158,.25)!important}
/* etiquetas del tema */
html body li.product-flag.discount{background:var(--gt-primary)!important;color:#fff!important}
html body li.product-flag.new{background:var(--gt-ink)!important;color:#fff!important}
html body .lhv-tag{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important}
/* banda «Crea tu catálogo gratis» */
html body .lhesh-banner-vender{background:var(--gt-bg)!important;color:var(--gt-ink)!important;border-bottom:1px solid var(--gt-line)}
html body .lhesh-banner-vender *{color:var(--gt-ink)}
html body .lhesh-banner-vender__btn{background:var(--gt-primary)!important;color:#fff!important;border-radius:var(--gt-r-ctl)!important;min-height:var(--gt-tap)}
/* sugerencias de producto: secundarias */
html body a.lhsug-btn,html body .lhsug-btn{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)!important;min-height:var(--gt-tap)}
html body .lhsug-pregunta{background:var(--gt-bg)!important;border:1px solid var(--gt-line)!important;border-left:4px solid var(--gt-primary)!important;border-radius:var(--gt-r-ctl)!important;color:var(--gt-ink)!important}
html body .lhsug-pregunta__btn{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)!important;min-height:var(--gt-tap)}
/* registro / acceso con WhatsApp */
html body #lheshreg-eleccion-nuevo{background:var(--gt-primary)!important;color:#fff!important;border-radius:var(--gt-r-ctl)!important;min-height:var(--gt-tap-main)}
html body #lheshreg-eleccion-nuevo:hover{background:var(--gt-primary-h)!important}
html body #lheshreg-eleccion-ya{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)!important}
/* textos secundarios del tema (contraste AA) */
html body .breadcrumb a,html body .breadcrumb span,html body .breadcrumb li,html body .breadcrumb li::before{color:var(--gt-muted)!important}
html body .select-title-name,html body .select-title.expand-more{color:var(--gt-ink)!important}
html body .rsn-tarjeta-fecha,html body .rsn-tarjeta-autor,html body .rsn-estrellas-num,html body .rsn-fecha,html body .rsn-vacio{color:var(--gt-muted)!important}
html body #wrapper{color:var(--gt-muted)}
/* pie: del negro puro al tinta del sistema */
html body footer#footer,html body #footer-copyrights{background:var(--gt-ink)!important}
html body .block_newsletter .text-muted,html body #footer .text-muted{color:#c9d1d6!important}
html body #footer .data,html body #footer .data strong,html body #footer strong{color:#f3f5f7!important}
html body .lhh .lhh-eyebrow,html body .lhh-eyebrow{color:var(--gt-primary-h)!important}
html body .lhh .lhh-ejemplo,html body .lhh-ejemplo{color:var(--gt-muted)!important}
/* buscador del home (módulo lheshbuscar): botón «Buscar» con los tokens principal/hover; foco azul conservado */
html body .lhh-buscar form button{background:var(--gt-primary)!important;color:#fff!important;min-height:var(--gt-tap-main)}
html body .lhh-buscar form button:hover,html body .lhh-buscar form button:focus{background:var(--gt-primary-h)!important}

/* ============================================================================
   Imágenes de producto y tarjetas compactas v2 · 24-oct-2026 (solo presentación; no cambia productos, precios, carrito ni permisos)
   Listados (#js-product-list .products-grid: categoría, búsqueda, marca): foto dominante a todo el ancho de la tarjeta, completa
   (object-fit:contain, sin recorte, zoom ni transform), título de 2 líneas, precio y presentación (pieza/paquete/caja) visibles,
   compra debajo. Móvil 2 columnas; escritorio según ancho útil. Carruseles, logos, reseñas, iconos y banners no se tocan.
   ========================================================================== */
/* --- rejilla: ancho útil (con o sin columna de filtros) --- */
html body #js-product-list .products-grid{margin-left:-5px;margin-right:-5px}
html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 100%!important;max-width:100%!important;padding:0 5px;margin-bottom:10px}
@media(min-width:340px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 50%!important;max-width:50%!important}}
@media(min-width:576px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 50%!important;max-width:50%!important;padding:0 6px}html body #js-product-list .products-grid{margin-left:-6px;margin-right:-6px}}
@media(min-width:576px){html body #js-product-list{container-type:inline-size;container-name:gtgrid}}
@media(min-width:576px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 50%!important;max-width:50%!important}}
@container gtgrid (min-width:660px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 33.333333%!important;max-width:33.333333%!important}}
@media(min-width:1200px){@container gtgrid (min-width:1000px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 25%!important;max-width:25%!important}}}
@media(min-width:1600px){@container gtgrid (min-width:1250px){html body #js-product-list .products-grid>.js-product-miniature-wrapper{flex:0 0 20%!important;max-width:20%!important}}}
/* --- tarjeta --- */
html body #js-product-list .products-grid .product-miniature{padding-bottom:0!important;border:1px solid var(--gt-line);border-radius:14px;background:var(--gt-surface);overflow:hidden}
html body #js-product-list .products-grid .product-miniature .thumbnail-container{padding:0}
html body #js-product-list .products-grid .product-miniature a.product-thumbnail{display:block!important}
html body #js-product-list .products-grid .product-miniature img.product-thumbnail-first,html body #js-product-list .products-grid .product-miniature img.product-thumbnail-second{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain;transform:none!important;margin-left:auto;margin-right:auto}
html body #js-product-list .products-grid .product-miniature .product-description{padding:6px 9px 9px;gap:0}
html body #js-product-list .products-grid .product-miniature .product-category-name,html body #js-product-list .products-grid .product-miniature .product-brand{display:none!important}
html body #js-product-list .products-grid .product-miniature .product-title{margin:2px 0 3px;font-size:15px!important;line-height:1.3!important;font-weight:600;min-height:2.6em!important;text-align:left}
html body #js-product-list .products-grid .product-miniature .product-title{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-height:2.6em!important}
html body #js-product-list .products-grid .product-miniature .product-title a{color:var(--gt-ink)!important;font-size:15px!important;line-height:1.3!important;font-weight:600!important}
html body #js-product-list .products-grid .product-miniature .product-reference{margin:0 0 3px;font-size:12.5px!important;line-height:1.2!important;text-align:left}
html body #js-product-list .products-grid .product-miniature .product-price-and-shipping{margin:0;text-align:left}
html body #js-product-list .products-grid .product-miniature .product-price{font-size:20px!important;line-height:1.2!important;font-weight:800;color:var(--gt-ink)}
html body #js-product-list .products-grid .product-miniature .product-price-and-shipping{gap:0!important;row-gap:0!important}
html body #js-product-list .products-grid .product-miniature .product-price-and-shipping>a{display:inline-block;vertical-align:baseline;padding:0!important}
html body #js-product-list .products-grid .product-miniature .regular-price{display:inline-block;vertical-align:baseline;font-size:13px!important;margin-left:6px}
html body #js-product-list .products-grid .product-miniature .product-flags{margin:0}
/* LHESH: etiquetas, paquete, pedidos, video, Liher, peso */
html body #js-product-list .products-grid .product-miniature .lhesh-top-lbl{margin:0 0 3px!important;padding:2px 8px!important;font-size:12.5px!important}
html body #js-product-list .products-grid .product-miniature .lhesh-paquete{margin:3px 0;padding:4px 7px;font-size:13px!important;line-height:1.3!important}
html body #js-product-list .products-grid .product-miniature .lhesh-paquete div{margin:0}
html body #js-product-list .products-grid .product-miniature .lhesh-cuantos{margin:2px 0;font-size:12.5px!important;line-height:1.3!important}
html body #js-product-list .products-grid .product-miniature .lhv-btn,html body #js-product-list .products-grid .product-miniature .lhesh-wab a,html body #js-product-list .products-grid .product-miniature .gt-wab a{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)!important;box-shadow:none!important;min-height:44px!important;font-size:13px!important;line-height:1.2!important;padding:8px;margin:4px 0 0}
html body #js-product-list .products-grid .product-miniature .lhesh-wab{margin:4px 0 0}
html body #js-product-list .products-grid .product-miniature .lhesh-wab .wb-s,html body #js-product-list .products-grid .product-miniature .gt-wab .wb-s{display:none!important}
html body #js-product-list .products-grid .product-miniature .lhesh-peso{margin-top:3px!important;font-size:13px!important}
/* Greentrac: efectivo/SPEI, cotizar, peso */
html body #js-product-list .products-grid .product-miniature .gt-pago-mini{margin:2px 0 4px!important}
html body #js-product-list .products-grid .product-miniature .gt-pago-mini div{font-size:13px!important}
html body #js-product-list .products-grid .product-miniature .gt-wab{margin:4px 0 0!important}
html body #js-product-list .products-grid .product-miniature .gt-wab a{min-height:44px!important;font-size:13px!important;padding:8px}
html body #js-product-list .products-grid .product-miniature .gt-peso{margin-top:3px!important;font-size:13px!important}
/* indicadores secundarios: una sola línea (el detalle sigue en la ficha) */
html body #js-product-list .products-grid .product-miniature .lhesh-rep,html body #js-product-list .products-grid .product-miniature .gt-rep,html body #js-product-list .products-grid .product-miniature .lhesh-cuantos br,html body #js-product-list .products-grid .product-miniature .gt-cuantos br{display:none!important}
html body #js-product-list .products-grid .product-miniature .gt-cuantos,html body #js-product-list .products-grid .product-miniature .lhesh-cuantos{font-size:12.5px!important;margin:2px 0!important;line-height:1.3!important}
html body #js-product-list .products-grid .product-miniature .lhv-btn{background:var(--gt-surface)!important;color:var(--gt-ink)!important;border:1px solid var(--gt-line-ctl)!important;box-shadow:none!important;animation:none!important;border-radius:var(--gt-r-ctl)!important;width:100%}
html body #js-product-list .products-grid .product-miniature .lhesh-paquete div,html body #js-product-list .products-grid .product-miniature .lhesh-paq-1,html body #js-product-list .products-grid .product-miniature .lhesh-paq-2,html body #js-product-list .products-grid .product-miniature .lhesh-paquete b{font-size:12.5px!important;line-height:1.3!important}
html body #js-product-list .products-grid .product-miniature .gtv-btn{min-height:44px!important;font-size:13px!important;line-height:1.2!important;padding:8px!important;margin:4px 0 0!important;width:100%}
html body #js-product-list .products-grid .product-miniature .gtv-btn small{display:none!important}
html body #js-product-list .products-grid .product-miniature .gtv-nuevo{font-size:11px!important;padding:1px 6px!important;position:static!important;display:inline-block;margin-right:4px}
/* precio normal + anterior en la misma fila cuando cabe; el resto de filas a todo el ancho */
html body #js-product-list .products-grid .product-miniature .product-price-and-shipping{flex-flow:row wrap!important;align-items:baseline;column-gap:0}
html body #js-product-list .products-grid .product-miniature .product-price-and-shipping>*:not(a):not(.regular-price){flex:0 0 100%;max-width:100%}
/* compra: cantidad y botón a todo el ancho (≥44 px) */
html body #js-product-list .products-grid .product-miniature .product-add-cart{padding-top:6px}
html body #js-product-list .products-grid .product-miniature .input-group-add-cart{gap:6px}
html body #js-product-list .products-grid .product-miniature .input-group-add-cart .input-qty{min-height:44px!important}
html body #js-product-list .products-grid .product-miniature .input-group-add-cart .add-to-cart{min-height:44px!important;font-size:14px!important;padding:6px 8px}
/* la alineación automática por fila (módulo de tarjetas alineadas) ya no se aplica a los listados: el alto uniforme lo da el CSS */
html body #js-product-list .products-grid [data-lh-al]{margin-top:0!important}

/* ficha: la imagen principal gana espacio sin empujar precio ni compra */
@media(min-width:992px){
  html body#product .product-info-row>.col-product-image{flex:0 0 58%;max-width:58%}
  html body#product .product-info-row>.col-product-info{flex:0 0 42%;max-width:42%}
}
html body#product #product-images-large .swiper-slide img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain}
/* escritorio: la foto principal nunca pasa de la altura visible de la pantalla (conserva proporción, centrada) */
@media(min-width:992px){html body#product .product-cover{max-width:calc((100vh - 120px) * .7747);margin-left:auto;margin-right:auto}}
/* móvil/tablet: la foto principal no pasa de ~420 px de alto para que precio y compra queden cerca (conserva proporción, centrada) */
@media(max-width:991.98px){html body#product .product-cover{max-width:325px;margin-left:auto;margin-right:auto}}
html body #js-product-list .products-grid .product-miniature .lhesh-wab .wb-t,html body #js-product-list .products-grid .product-miniature .gt-wab .wb-t{color:var(--gt-ink)!important}
/* compra a todo el ancho de la tarjeta (cantidad centrada, botón completo) */
html body #js-product-list .products-grid .product-miniature .input-group-add-cart{width:100%;align-items:stretch!important}
html body #js-product-list .products-grid .product-miniature .input-group-add-cart .bootstrap-touchspin{align-self:center}
html body #js-product-list .products-grid .product-miniature .input-group-add-cart .add-to-cart{width:100%!important}
/* selector de cantidad: input y las dos flechas en un solo bloque alineado (táctil ≥44 px, sin saltar de fila ni desbordar) */
html body #js-product-list .products-grid .product-miniature .bootstrap-touchspin{display:flex!important;flex-flow:row nowrap!important;align-items:stretch!important;justify-content:center;gap:4px;width:max-content!important;max-width:100%;margin:0 auto;position:static}
html body #js-product-list .products-grid .product-miniature .bootstrap-touchspin .input-qty{flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;box-sizing:border-box!important;height:44px!important;min-height:44px!important;padding:0 2px!important;text-align:center}
html body #js-product-list .products-grid .product-miniature .bootstrap-touchspin .input-group-btn-vertical{display:flex!important;flex-flow:row nowrap!important;gap:4px;position:static!important;width:92px!important;min-width:92px!important;max-width:92px!important;height:auto!important;flex:0 0 92px!important}
html body #js-product-list .products-grid .product-miniature .bootstrap-touchspin .input-group-btn-vertical .btn{flex:0 0 44px;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;max-height:none!important;padding:0!important;margin:0!important;position:static!important;display:flex!important;align-items:center;justify-content:center;background:var(--gt-surface)!important;border:1px solid var(--gt-line-ctl)!important;border-radius:var(--gt-r-ctl)!important}
html body #js-product-list .products-grid .product-miniature .bootstrap-touchspin .btn i{position:static!important;display:block!important;margin:0!important;transform:none!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;color:var(--gt-ink)!important;font-size:16px!important;line-height:1}

/* 24-oct-2026 (LHESH): la pestaña «CALZADO» del menú ocupa un lugar más; se reduce el relleno lateral para que el menú siga en una sola línea desde 1280px. */
@media(min-width:1200px){html body #cbp-hrmenu > ul > li > a.nav-link{padding-left:23px!important;padding-right:23px!important}}
