/* ==========================================================================
   OMC Cloud — Product Catalog (dedicated / storage / highgrade)
   ========================================================================== */

.catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-bg-subtle);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-5);
}
.catalog-toolbar__search { position: relative; flex: 1 1 260px; }
.catalog-toolbar__search .icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; color: var(--color-text-muted);
}
.catalog-toolbar__search input { padding-left: 40px; }
.catalog-toolbar select { min-width: 170px; flex: 0 1 auto; }
.catalog-toolbar [hidden] { display: none; }

.catalog-count {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-5);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

.catalog-empty {
  text-align: center;
  padding: var(--space-20) var(--space-6);
  color: var(--color-text-muted);
}
.catalog-empty .icon { width: 40px; height: 40px; margin-inline: auto; margin-bottom: var(--space-4); color: var(--color-gray-300); }

@media (max-width: 960px) {
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-toolbar select, .catalog-toolbar__search { flex: 1 1 100%; }
}
