.bm-section { padding:20px; }
.bm-filter { display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.bm-filter input,
.bm-filter select {
  padding:10px 14px;
  border:1px solid #ccc;
  border-radius:8px;
  flex:1 1 220px;
}

/* Responsive grid: 3 columns desktop, 2 tablet, 1 mobile */
.bm-grid {
  display:grid;
  gap:20px;
}

@media (min-width: 992px) {
  .bm-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 600px) and (max-width: 991px) {
  .bm-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 599px) {
  .bm-grid { grid-template-columns: 1fr; }
}

.bm-item {
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
  transition:0.25s;
}
.bm-item:hover { transform:translateY(-5px); }

.bm-cover img {
  width:100%;
  height:440px;
  object-fit:cover;
  display:block;
  border-radius:12px;
}
