/* HIDE the Select button if your PHP still renders it */
.bab-select-btn { display: none !important; }

/* Topbar / heading */
.bab-topbar{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; gap:20px; }
.bab-heading h2{ margin:0; font-size:28px; }
.bab-sub{ margin:6px 0 0; color:#666; }
.bab-total-display{ text-align:right; }
.bab-total-label{ font-size:13px; color:#666; }
.bab-total-amount{ font-size:20px; font-weight:700; }

/* Filters row: one-line, sticky */
.bab-filters-row{
  display:flex;
  gap:20px;
  align-items:center;
  margin-bottom:16px;
  flex-wrap:nowrap;
  padding:12px;
  background: #fff; /* change to page bg if needed */
  border-radius:8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  position: sticky;
  top: 10px;
  z-index: 999;
}

/* Each filter */
.bab-filter{ display:flex; flex-direction:column; gap:6px; }
.bab-filter label{ font-weight:600; font-size:14px; color:#222; }
.bab-filter select{ min-width:220px; padding:10px; border-radius:6px; border:1px solid #ddd; background:#fff; }

/* Add CTA on the right */
.bab-add-cta{ margin-left:auto; }
.bab-add-to-cart{
  background:#ffd78a; border:0; padding:12px 22px; border-radius:30px;
  font-weight:600; cursor:pointer; box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Grid and items */
.bab-grid{ display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; }
.bab-item{ width:260px; border:1px solid #eee; padding:12px; border-radius:8px; background:#fff; }
.bab-thumb img{ width:100%; height:160px; object-fit:cover; border-radius:6px; }

/* Qty controls: circular buttons */
.bab-actions{ display:flex; align-items:center; gap:12px; margin-top:12px; }
.bab-qty-wrap{ display:flex; align-items:center; gap:8px; }
.bab-qty-btn{
  width:40px; height:40px; border-radius:50%; border:0;     background: #f3c61d;
    padding: 26px !important;  display:inline-flex; align-items:center; justify-content:center; font-size:18px; cursor:pointer;
}
.bab-qty-btn.disabled{ opacity:0.45; cursor:not-allowed; }
.bab-qty{ width:56px; text-align:center; border:1px solid #eee; padding:8px !important; border-radius:8px; }

/* Small message text */
.bab-msg{ color:#b00020; margin-top:8px; }

/* Responsive adjustments */
@media (max-width:1000px){
  .bab-filters-row{ flex-wrap:wrap; position:relative; top:auto;}
  .bab-item{ width:48%; }
}
@media (max-width:600px){
  .bab-item{ width:100%; }
  .bab-filter se
