.cm2-single-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 20px auto;
  max-width: 1100px;
}
.cm2-product-gallery .main-image img { width:100%; border-radius:10px; }
.cm2-product-gallery .sub-images { display:flex; gap:10px; margin-top:10px; }
.cm2-product-gallery .sub-images img { width:80px; height:80px; object-fit:cover; border-radius:6px; cursor:pointer; }

.cm2-product-info { display:flex; flex-direction:column; gap:16px; }
.cm2-product-info .price { font-size:1.4em; font-weight:700; color:#dc2626; }
.cm2-product-info .author { display:inline-flex; align-items:center; gap:6px; }
.cm2-product-info .author img.avatar { border-radius:50%; width:32px; height:32px; }



.description, .reviews { margin-top:20px; }
.cm2-category-page { max-width:1200px; margin:20px auto; }
.cm2-filter-form { display:flex; gap:10px; margin:15px 0; }
.cm2-filter-form input { padding:6px; border:1px solid #ddd; border-radius:6px; }
.cm2-filter-form button { padding:6px 12px; background:#2563eb; color:#fff; border:none; border-radius:6px; cursor:pointer; }

.cm2-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.cm2-product-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:12px; display:flex; flex-direction:column; align-items:center; }
.cm2-product-card img { width:100%; height:150px; object-fit:cover; border-radius:6px; }
.cm2-product-card .title { margin:10px 0; font-size:1.1em; text-align:center; }
.cm2-product-card .price { color:#dc2626; font-weight:700; margin-bottom:8px; }
.cm2-product-card .actions button { margin:0 4px; padding:6px 8px; border:none; border-radius:4px; cursor:pointer; }
