
/* ── Location icon in search field (matches community grid pattern) ───────── */
.chub-hgrid-field:has(#chub-hgrid-search)::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background-image: url("https://inspirecommunities.bald-staging.dev/wp-content/uploads/2026/04/my_location.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  pointer-events: none;
}

/* ── Remove ::after icon from Min/Max price fields ────────────────────────── */
.chub-hgrid-field:has(#chub-hgrid-price-min)::after,
.chub-hgrid-field:has(#chub-hgrid-price-max)::after {
  display: none !important;
  content: none !important;
}

/* ============================================================
   ALL HOMES GRID — RESPONSIVE
   ============================================================ */

/* ── Tablet: 1024px ────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Filter: wrap to 2 per row */
  .chub-hgrid-filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .chub-hgrid-col {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 140px !important;
    border-right: none !important;
    padding: 0 !important;
  }
  .chub-hgrid-col--search {
    flex: 1 1 100% !important;
  }
  .chub-hgrid-col--btn {
    flex: 1 1 100% !important;
    padding: 0 !important;
  }
  .chub-hgrid-field {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Grid: 3 cols → 2 cols */
  .chub-hgrid--cols-3,
  .chub-hgrid--cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Mobile: 640px ─────────────────────────────────────────── */
@media (max-width: 640px) {
  /* Wrapper padding */
  .chub-hgrid-wrapper {
    padding: 0 !important;
  }

  /* Top bar: stack vertically */
  .chub-hgrid-top-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .chub-hgrid-sb-row1 {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .chub-hgrid-meta {
    text-align: center !important;
  }

  /* Filter: full width single column */
  .chub-hgrid-filter-row {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .chub-hgrid-col,
  .chub-hgrid-col--search,
  .chub-hgrid-col--btn {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    border: none !important;
    padding: 0 !important;
  }
  .chub-hgrid-field {
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
  }
  .chub-hgrid-field--btns {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .chub-hgrid-search-btn,
  .chub-hgrid-adv-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Grid: all cols → 1 col */
  .chub-hgrid--cols-1,
  .chub-hgrid--cols-2,
  .chub-hgrid--cols-3,
  .chub-hgrid--cols-4 {
    grid-template-columns: 1fr !important;
  }

  /* Card: full width, no overflow */
  .chub-hgrid-card {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .chub-hgrid-card__body {
    padding: 14px 14px 0 !important;
  }
  .chub-hgrid-card__header {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .chub-hgrid-card__name {
    font-size: 14px !important;
  }
  .chub-hgrid-card__price-tag {
    flex-shrink: 0 !important;
  }

  /* Footer buttons: stack */
  .chub-hgrid-card__body > div[style*="flex-direction:row"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .chub-hgrid-card__btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Advanced filter panel */
  .chub-hgrid-adv-row {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .chub-hgrid-adv-col {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  /* Amenity tags: wrap */
  .chub-hgrid-amenities {
    flex-wrap: wrap !important;
  }

  /* Pagination */
  .chub-hgrid-pagination {
    flex-wrap: wrap !important;
    gap: 4px !important;
    justify-content: center !important;
  }

  /* Toggle bar: stack */
  .chub-hgrid-toggles {
    width: 100% !important;
    justify-content: stretch !important;
  }
  .chub-hgrid-toggle {
    flex: 1 !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ── Small mobile: 400px ────────────────────────────────────── */
@media (max-width: 400px) {
  .chub-hgrid-card__name { font-size: 13px !important; }
  .chub-hgrid-specbar    { font-size: 11px !important; }
  .chub-hgrid-label      { font-size: 11px !important; }
}
