.ecs-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ecs-product-card{display:flex;flex-direction:column;gap:8px}.ecs-product-card__image img{display:block;width:100%;height:auto}.ecs-product-card__title{font-weight:600;text-decoration:none}.ecs-product-card__price{font-weight:500}.ecs-empty{margin:0;padding:1rem 0}.ecs-product-card{transform:translate(var(--ecs-tx,0),var(--ecs-ty,0)) scale(var(--ecs-scale,1)) rotate(var(--ecs-rotate,0deg)) skew(var(--ecs-skew,0deg))}@media (min-width:1025px){.ecs-hide-desktop{display:none !important}}@media (min-width:768px) and (max-width:1024px){.ecs-hide-tablet{display:none !important}}@media (max-width:767px){.ecs-hide-mobile{display:none !important}}.ecs-product-card{position:relative}.ecs-card-el{margin:0}.ecs-badge{position:absolute;top:8px;left:8px;z-index:2;display:inline-block;padding:2px 8px;font-size:12px;line-height:1.6;color:#fff;background:#e02b2b;border-radius:3px}.ecs-badge--featured{left:auto;right:8px;background:#2b6ce0}.ecs-badge--discount{top:36px;background:#111}.ecs-badge--custom{top:64px;background:#8a2be2}.ecs-product-card__image{position:relative;display:block}.ecs-product-card__hover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.ecs-product-card__image:hover .ecs-product-card__hover-img{opacity:1}.ecs-gallery{display:flex;gap:6px}.ecs-gallery__item img{width:48px;height:48px;object-fit:cover}.ecs-product-card__category,.ecs-product-card__brand,.ecs-product-card__sku,.ecs-product-card__shipping,.ecs-product-card__meta{font-size:13px;opacity:.8}.ecs-stock--instock{color:#1a7f37}.ecs-stock--outofstock{color:#cf222e}.ecs-stock--onbackorder{color:#bf8700}.ecs-stock-progress{position:relative;height:8px;background:#eee;border-radius:4px;overflow:hidden}.ecs-stock-progress__bar{display:block;height:100%;background:#1a7f37}.ecs-stock-progress__label{display:block;margin-top:4px;font-size:12px}.ecs-label{display:inline-block;padding:2px 6px;font-size:11px;background:#111;color:#fff;border-radius:3px}.ecs-label--new{background:#1a7f37}.ecs-product-card__actions{margin-top:8px}.ecs-wishlist-btn,.ecs-quickview-btn{cursor:pointer;border:1px solid currentColor;background:transparent;padding:6px 10px;border-radius:4px}.ecs-wishlist-btn{position:absolute;top:8px;right:8px;z-index:2;border:0;font-size:18px}.ecs-filter-wrap{display:block}.ecs-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.ecs-filter-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ecs-filter-label{font-weight:600;margin-right:4px}.ecs-filter-search,.ecs-price-min,.ecs-price-max,.ecs-rating-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px}.ecs-price-min,.ecs-price-max{width:80px}.ecs-term-option,.ecs-filter-check{display:inline-flex;align-items:center;gap:4px;font-size:14px}.ecs-filter-reset{padding:6px 14px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer}.ecs-filter-reset:hover{background:#f5f5f5}.ecs-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.ecs-chip{display:inline-block;padding:3px 10px;font-size:13px;background:#eef2ff;color:#3340b3;border-radius:999px}.ecs-filter-results.ecs-loading{opacity:.5;pointer-events:none;transition:opacity .2s ease}.ecs-pagination-wrap{margin-top:24px}.ecs-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.ecs-pagination--load-more,.ecs-pagination--infinite{flex-direction:column}.ecs-page-num,.ecs-page-arrow{min-width:38px;height:38px;padding:0 10px;cursor:pointer;border:1px solid #e0e0e0;background:#fff;border-radius:6px;font:inherit;line-height:36px}.ecs-page-num.is-current{background:#111;color:#fff;border-color:#111}.ecs-page-num:hover:not(.is-current),.ecs-page-arrow:hover:not([disabled]){border-color:#999}.ecs-page-arrow[disabled]{opacity:.4;cursor:default}.ecs-page-ellipsis{padding:0 6px;opacity:.6}.ecs-load-more{padding:10px 28px;cursor:pointer;border:1px solid #111;background:#111;color:#fff;border-radius:999px;font:inherit}.ecs-load-more:hover{opacity:.9}.ecs-load-more[hidden]{display:none}.ecs-infinite-sentinel{display:block;width:100%;height:1px}.ecs-filter-results.ecs-loading{opacity:.55;transition:opacity .2s ease}.ecs-wishlist-btn{transition:color .2s ease,transform .15s ease}.ecs-wishlist-btn.is-active{color:#e02b2b}.ecs-wishlist-btn .ecs-wishlist-icon{transition:transform .15s ease;display:inline-block}.ecs-wishlist-btn.is-active .ecs-wishlist-icon{transform:scale(1.15)}.ecs-wishlist-btn.is-loading{opacity:.5;pointer-events:none}.ecs-wishlist-btn:active{transform:scale(.9)}.ecs-wishlist-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:1;color:#fff;background:#e02b2b;border-radius:999px}.ecs-wishlist-count.is-empty{background:#999}.ecs-qv-open{overflow:hidden}.ecs-qv-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}.ecs-qv-modal[hidden]{display:none}.ecs-qv-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.ecs-qv-modal__dialog{position:relative;z-index:1;width:min(900px,92vw);max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:ecsQvIn .25s ease}@keyframes ecsQvIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ecs-qv-modal__close{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer;border:0;background:transparent;color:#555}.ecs-qv-modal__close:hover{color:#000}.ecs-qv-modal__loading{padding:60px;text-align:center;opacity:.6}.ecs-qv{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px}@media (max-width:640px){.ecs-qv{grid-template-columns:1fr}}.ecs-qv__main img{width:100%;height:auto;border-radius:8px}.ecs-qv__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.ecs-qv__thumb img{width:60px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer}.ecs-qv__title{margin:0 0 10px;font-size:1.5em}.ecs-qv__rating{margin-bottom:8px}.ecs-qv__price{font-size:1.3em;font-weight:600;margin-bottom:12px}.ecs-qv__desc{margin-bottom:16px;line-height:1.6}.ecs-qv__cart{margin-bottom:14px}.ecs-qv__meta{font-size:13px;opacity:.75;display:flex;flex-direction:column;gap:4px}.ecs-qv__error{padding:40px;text-align:center;color:#cf222e}