/* Conserva la estructura y el encabezado de XStore; mejora solamente el catálogo. */
.products-loop.products-grid,
.products-grid.products-loop { display:flex; flex-wrap:wrap; align-items:stretch; }
.products-loop .product,
.products-grid .product { display:flex; margin-bottom:24px; }
.products-loop .product .content-product,
.products-grid .product .content-product { display:flex; flex:1 1 auto; flex-direction:column; width:100%; padding:12px; border:1px solid #e3eae3; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(41,79,45,.07); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.products-loop .product:hover .content-product,
.products-grid .product:hover .content-product { transform:translateY(-2px); border-color:#cbdacb; box-shadow:0 10px 28px rgba(41,79,45,.12); }
.products-loop .product .product-image-wrapper,
.products-grid .product .product-image-wrapper { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1/1; min-height:0; overflow:hidden; border-radius:12px; background:#fff; }
.products-loop .product .product-image-wrapper img,
.products-grid .product .product-image-wrapper img { display:block; width:100%; height:100%; object-fit:contain; }
.products-loop .product .product-details,
.products-grid .product .product-details { display:flex; flex:1 1 auto; flex-direction:column; width:100%; }
.products-loop .product .products-page-cats,
.products-grid .product .products-page-cats { display:none!important; }
.products-loop .product .product-title,
.products-grid .product .product-title { display:flex; align-items:flex-start; justify-content:center; min-height:44px; margin:9px 0 4px!important; font-size:16px; font-weight:750; line-height:1.3; text-align:center; }
.products-loop .product .price,
.products-grid .product .price { display:flex; align-items:center; justify-content:center; min-height:28px; margin:0 0 8px!important; color:#28713a!important; font-size:16px; font-weight:850; }
.products-loop .product .button,
.products-grid .product .button { display:flex!important; align-items:center; justify-content:center; width:100%; min-height:46px; padding:9px 10px!important; border:0!important; border-radius:10px!important; background:#469150!important; color:#fff!important; font-size:13px!important; font-weight:800!important; line-height:1.15; text-align:center; }
.products-loop .product .button:hover,
.products-grid .product .button:hover { background:#357b42!important; }
.product-type-simple .gs-simple-qty,
.product-type-variable .gs-quick-qty { margin-top:auto!important; }
.product-type-simple .product-details>.button,
.product-type-simple .product-details>.added_to_cart { margin-top:0!important; }
.product-type-variable .st-swatch-in-loop { display:flex!important; align-items:flex-start; justify-content:center; min-height:62px; }
.product-type-variable .st-swatch-preview { display:flex!important; align-items:stretch; justify-content:center; width:100%; height:52px; min-height:52px; margin:8px 0!important; gap:5px; flex-wrap:nowrap!important; }
.product-type-variable .st-swatch-preview>li { flex:1 1 0; min-width:0; max-width:none; margin:0!important; }
.product-type-variable .st-custom-attribute { display:flex!important; align-items:center; justify-content:center; width:100%; height:100%; min-height:42px; padding:6px 5px!important; border:1px solid #d6dfd6!important; border-radius:9px!important; background:#fff!important; color:#344535!important; font-size:11px!important; line-height:1.12!important; text-align:center; white-space:normal!important; }
.product-type-variable .st-swatch-preview>li.selected .st-custom-attribute { border-color:#43864b!important; background:#edf7ec!important; color:#245d2b!important; font-weight:800!important; box-shadow:0 0 0 1px #43864b; }
.product-type-variable .gs-quick-qty,
.product-type-simple .gs-simple-qty { display:flex; align-items:stretch; justify-content:center; width:164px; max-width:100%; min-height:46px; margin-right:auto!important; margin-bottom:10px!important; margin-left:auto!important; overflow:hidden; border:1px solid #dce5dc; border-radius:10px; background:#fff; }
.product-type-variable .gs-quick-qty button,
.product-type-variable .gs-quick-qty input,
.product-type-simple .gs-simple-qty button,
.product-type-simple .gs-simple-qty input { min-width:44px; height:44px; margin:0!important; border:0!important; background:#fff!important; box-shadow:none!important; text-align:center; }
.product-type-variable .gs-quick-qty button,
.product-type-simple .gs-simple-qty button { font-size:20px; cursor:pointer; }
.product-type-simple .gs-simple-qty input { width:54px; padding:0!important; font-weight:750; appearance:textfield; }
.product-type-simple .gs-simple-qty input::-webkit-outer-spin-button,
.product-type-simple .gs-simple-qty input::-webkit-inner-spin-button { margin:0; appearance:none; }
.product-type-variable .add_to_cart_button.gs-direct-add { margin-top:0!important; }

@media(max-width:767px){
 .products-loop.products-grid,.products-grid.products-loop{margin-right:-5px!important;margin-left:-5px!important}
 .products-loop .product,.products-grid .product{padding-right:5px!important;padding-left:5px!important;margin-bottom:10px}
 .products-loop .product .content-product,.products-grid .product .content-product{padding:8px;border-radius:13px;box-shadow:0 3px 12px rgba(41,79,45,.07)}
 .products-loop .product .product-image-wrapper,.products-grid .product .product-image-wrapper{border-radius:10px}
 .products-loop .product .product-title,.products-grid .product .product-title{min-height:40px;margin-top:7px!important;font-size:14px!important;line-height:1.25!important}
 .products-loop .product .price,.products-grid .product .price{min-height:25px;font-size:14px!important}
 .products-loop .product .button,.products-grid .product .button{min-height:44px;padding:7px 5px!important;font-size:11px!important}
 .product-type-variable .st-swatch-in-loop{min-height:94px}
 .product-type-variable .st-swatch-preview{height:89px;min-height:89px;align-content:flex-start;flex-wrap:wrap!important}
 .product-type-variable .st-swatch-preview>li{flex:1 1 calc(50% - 3px)}
 .product-type-variable .st-custom-attribute{min-height:42px;padding:5px 3px!important;font-size:10px!important}
 .product-type-variable .gs-quick-qty,.product-type-simple .gs-simple-qty{width:122px;min-height:44px;margin-bottom:8px!important}
 .product-type-variable .gs-quick-qty button,.product-type-variable .gs-quick-qty input,.product-type-simple .gs-simple-qty button,.product-type-simple .gs-simple-qty input{min-width:40px;height:42px}
 .shop-filters-area,.products-per-page>span{display:none!important}
}
