/* ===== Products Page ===== */
.product-catalog { max-width:1000px; margin:0 auto; }

.catalog-category {
  margin-bottom:16px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:var(--transition);
}

.cat-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px;
  background:var(--bg);
  cursor:pointer;
  user-select:none;
  transition:var(--transition);
  gap:16px;
}
.cat-header:hover { background:var(--bg-light); }
.cat-header.active { background:var(--primary-lighter); border-bottom:1px solid var(--border); }

.cat-header-left { display:flex; align-items:center; gap:14px; }

.cat-icon {
  width:44px; height:44px; border-radius:10px;
  background:var(--primary-lighter);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.cat-icon .cat-emoji { font-size:22px; line-height:1; }

.cat-info h3 { font-size:1.05rem; margin-bottom:2px; color:var(--text); }
.cat-info span { font-size:.82rem; color:var(--text-muted); }

.cat-arrow {
  width:32px; height:32px; border-radius:50%;
  background:var(--bg-gray);
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s ease;
  flex-shrink:0;
}
.cat-arrow svg { width:16px; height:16px; color:var(--text-muted); transition:.3s ease; }
.cat-header.active .cat-arrow { background:var(--primary); }
.cat-header.active .cat-arrow svg { color:#fff; transform:rotate(180deg); }

.cat-body { display:none; }
.cat-body.open { display:block; }

.product-subsection { padding:0 28px; }
.product-subsection + .product-subsection { border-top:1px dashed var(--border); }

.subsection-title {
  font-size:.88rem; font-weight:600; color:var(--primary);
  padding:20px 0 12px;
}

.product-table {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  overflow:auto;
}
.product-table.no-bottom-radius { border-radius:0; }

.product-cell {
  background:var(--bg);
  padding:12px 16px;
  font-size:.9rem;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:var(--transition);
  min-width:0;
}
.product-cell:nth-child(6n+4),
.product-cell:nth-child(6n+5),
.product-cell:nth-child(6n+6) {
  background:var(--primary-lighter);
}
.product-cell:hover { background:var(--primary-lighter); }
.product-cell.empty { background:transparent; }

.cat-badge {
  display:inline-block;
  background:var(--primary);
  color:#fff;
  font-size:.72rem; font-weight:600;
  padding:2px 10px; border-radius:12px;
  margin-left:8px;
}

@media(max-width:700px) {
  .product-table { grid-template-columns:repeat(2,1fr); }
  .cat-header { padding:16px 20px; }
  .cat-info h3 { font-size:.95rem; }
  .product-cell { padding:10px 12px; font-size:.82rem; }
  .product-subsection { padding:0 20px; }
}
@media(max-width:420px) {
  .product-table { grid-template-columns:1fr; }
}
