.mi-cat-wrapper { margin: 1rem 0; }
.mi-cat-filtros {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 1rem;
}
.mi-cat-filtro { grid-column: span 3; background: #fafafa; padding: .75rem; border: 1px solid #eee; border-radius: 8px; }
.mi-cat-filtro label { display: block; font-weight: 600; margin-bottom: .5rem; }
.mi-cat-search { width: 100%; margin-bottom: .5rem; padding: .4rem .5rem; border: 1px solid #ddd; border-radius: 6px; }
#mi-cat-cats { width: 100%; min-height: 220px; border: 1px solid #eee; border-radius: 6px; background: #fff; padding: .25rem; }

.mi-cat-precio { display: flex; align-items: center; gap: .5rem; }
.mi-cat-precio input { width: 100%; }

.mi-cat-acciones { display: flex; gap: .5rem; align-items: end; }
.mi-cat-aplicar, .mi-cat-limpiar {
  background: #2e7d32; color: #fff; border: none; padding: .5rem .75rem; border-radius: 6px; cursor: pointer;
}
.mi-cat-limpiar { background: #888; }
.mi-cat-estado { margin: .5rem 0; color: #444; }

.mi-cat-grid { display: grid; gap: 16px; }
.mi-cat-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.mi-cat-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.mi-cat-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.mi-cat-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }

.mi-cat-card { border: 1px solid #eee; border-radius: 10px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.mi-cat-thumb img { width: 100%; height: auto; display: block; }
.mi-cat-info { padding: .75rem; display: grid; gap: .35rem; }
.mi-cat-title { font-weight: 600; color: #111; text-decoration: none; }
.mi-cat-title:hover { text-decoration: underline; }
.mi-cat-price { color: #2e7d32; font-weight: 700; }
.mi-cat-cart a.button { width: 100%; text-align: center; }

.mi-cat-paginacion { margin-top: 1rem; text-align: center; }
.mi-cat-paginacion ul { list-style: none; padding: 0; margin: 0; display: inline-flex; gap: 6px; }
.mi-cat-paginacion a, .mi-cat-paginacion span {
  display: inline-block; padding: .4rem .6rem; border-radius: 6px; border: 1px solid #ddd; color: #333; text-decoration: none; background: #fff;
}
.mi-cat-paginacion li.active span { background: #2e7d32; color: #fff; border-color: #2e7d32; }
.mi-cat-paginacion li.disabled span { opacity: .5; }

#mi-catalogo-resultados.loading { opacity: .6; pointer-events: none; }

@media (max-width: 1024px) {
  .mi-cat-filtro { grid-column: span 6; }
  .mi-cat-grid.cols-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .mi-cat-filtro { grid-column: span 12; }
  .mi-cat-grid.cols-4, .mi-cat-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .mi-cat-grid { grid-template-columns: 1fr !important; }
}