:root{ --ess-brand:#0ea5e9; --ess-muted:#f3f4f6; }
.ess-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.ess-card{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:8px; transition:box-shadow .2s; }
.ess-card:hover{ box-shadow:0 10px 25px rgba(0,0,0,.06); }
.ess-card img{ width:100%; height:220px; object-fit:cover; border-radius:12px; }
.ess-card .ess-title{ font-weight:600; }
.ess-price-badge{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ess-btn,.ess-add-to-cart,.ess-card a.button{ background:var(--ess-brand); color:#fff; padding:10px 14px; border-radius:10px; text-decoration:none; display:inline-block; text-align:center; }
.ess-add-to-cart.added{ opacity:.7; pointer-events:none; }
.ess-mini-cart{ background:var(--ess-muted); padding:6px 10px; border-radius:999px; text-decoration:none; }
.ess-cart-row{ display:grid; grid-template-columns:60px 1fr 80px 120px 120px 100px; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid #eee; }
.ess-cart img{ width:60px; height:60px; object-fit:cover; border-radius:8px; }
.ess-cart .ess-cart-actions{ margin-top:12px; display:flex; gap:10px; }
.ess-checkout .button{ background:var(--ess-brand); color:#fff; padding:10px 14px; border-radius:8px; border:none; }
.ess-product-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.ess-badge{ background:#10b981; color:#fff; padding:4px 8px; border-radius:999px; font-size:12px; }
