/* ============================================================
   Search Results — Airbnb-Style Card Grid
   ============================================================ */

/* ── Results Section ── */
.section-results {
  padding: var(--ab-space-6) 0 var(--ab-space-16);
  background: var(--ab-surface);
}

/* ── Card Grid Container ── */
.row_for_exact_results,
.row_for_approximate_results,
.approximate_results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ab-space-6);
}
@media (max-width: 991.98px) {
  .row_for_exact_results,
  .row_for_approximate_results,
  .approximate_results { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .row_for_exact_results,
  .row_for_approximate_results,
  .approximate_results { grid-template-columns: 1fr; }
}

/* Remove old row/col behavior from grid items */
.row_for_exact_results .api_rental,
.row_for_approximate_results .api_rental,
.approximate_results .api_rental {
  margin: 0;
  width: 100%;
}

/* ── Filter Bar ── */
.folter-section {
  background: var(--ab-surface-card);
  border-bottom: 1px solid var(--ab-border-light);
  padding: var(--ab-space-3) 0;
}

.search-box {
  padding: 20px;
  background: var(--ab-surface-card);
  border: 1px solid var(--ab-border);
  border-radius: var(--ab-radius-lg);
  box-shadow: var(--ab-shadow-md);
  margin-top: var(--ab-space-3);
}

/* Filter chips (pill-shaped) */
.search-filter {
  display: inline-flex;
  align-items: center;
  gap: var(--ab-space-2);
  padding: 6px 16px;
  background: var(--ab-surface-card);
  border: 1px solid var(--ab-border);
  border-radius: var(--ab-radius-full);
  cursor: pointer;
  transition: all var(--ab-transition-fast);
  font-size: var(--ab-text-sm);
  white-space: nowrap;
}
.search-filter:hover {
  border-color: var(--ab-primary);
  background: rgba(27, 42, 74, 0.04);
}
.search-filter .bi {
  color: var(--ab-text-secondary);
  font-size: 12px;
  transition: transform 0.2s;
}
.search-filter .label-filter {
  color: var(--ab-text);
  font-weight: var(--ab-weight-medium);
}
.label-values {
  color: var(--ab-text);
}
.grey {
  color: var(--ab-text-muted);
}

.filter-container {
  margin-top: var(--ab-space-2);
  padding: 16px 20px;
  background: var(--ab-surface-card);
  border: 1px solid var(--ab-border);
  border-radius: var(--ab-radius-lg);
  box-shadow: var(--ab-shadow-lg);
  font-size: 13px;
  position: absolute;
  z-index: 10;
  min-width: 320px;
}
.filter-more-result {
  padding: 12px 0;
}

/* ── Sort Area ── */
.sort-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--ab-space-4) 0;
  margin-bottom: var(--ab-space-4);
}
.sort-area .api-sort {
  font-size: var(--ab-text-sm);
  border-radius: var(--ab-radius-full);
  padding: 4px 14px;
}

.view-list {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.view-list li {
  list-style: none;
}
.view-list li button {
  background: none;
  border: 1px solid var(--ab-border);
  border-radius: var(--ab-radius-full);
  padding: 6px 14px;
  color: var(--ab-text-secondary);
  cursor: pointer;
  transition: all var(--ab-transition-fast);
  font-size: var(--ab-text-sm);
}
.view-list li.active button,
.view-list li button:hover {
  background: var(--ab-primary);
  color: #fff;
  border-color: var(--ab-primary);
}

/* ── Section Headers ── */
.search-subtitle {
  font-family: var(--ab-font-display);
  color: var(--ab-primary);
  font-size: var(--ab-text-2xl);
  font-weight: normal;
  padding-bottom: var(--ab-space-4);
  margin-bottom: var(--ab-space-4);
  border-bottom: 1px solid var(--ab-border-light);
}

/* ── Map Selection ── */
.selected_exact .ab-vcard {
  box-shadow: 0 0 0 3px var(--ab-success);
}
.selected_approx .ab-vcard {
  box-shadow: 0 0 0 3px var(--ab-accent);
}

/* ── No Results ── */
.jumbotron {
  background: var(--ab-surface-alt);
  border-radius: var(--ab-radius-lg);
  padding: 48px 32px;
  text-align: center;
  font-size: var(--ab-text-lg);
  color: var(--ab-text-secondary);
}

/* ── Results Count Badge ── */
.results-frame mark {
  background: var(--ab-accent-light);
  color: var(--ab-primary);
  padding: 4px 12px;
  border-radius: var(--ab-radius-full);
  font-size: var(--ab-text-sm);
  font-weight: var(--ab-weight-medium);
}

/* ── Mobile Bottom Bar ── */
.search-in-bottom {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  width: auto;
}
.search-in-bottom .btn-group {
  box-shadow: var(--ab-shadow-lg);
  border-radius: var(--ab-radius-full);
  overflow: hidden;
}
.search-in-bottom .btn-group .btn {
  border-radius: 0;
  padding: 10px 18px;
  font-size: var(--ab-text-sm);
  font-weight: var(--ab-weight-medium);
}
.search-in-bottom .btn-secondary {
  background: var(--ab-primary);
  border-color: var(--ab-primary);
  color: #fff;
}
.search-in-bottom .btn-secondary:hover {
  background: var(--ab-primary-light);
  border-color: var(--ab-primary-light);
}

/* ── Mobile Filter Panel ── */
.mobile-collapse-filters {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  background: var(--ab-surface-card);
  box-shadow: var(--ab-shadow-xl);
}

/* ── Map Mode: 2-column grid ── */
.cols-for-list.col-md-6 .row_for_exact_results,
.cols-for-list.col-md-6 .row_for_approximate_results,
.cols-for-list.col-md-6 .approximate_results {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ab-space-4);
}
@media (max-width: 991.98px) {
  .cols-for-list.col-md-6 .row_for_exact_results,
  .cols-for-list.col-md-6 .row_for_approximate_results,
  .cols-for-list.col-md-6 .approximate_results {
    grid-template-columns: 1fr;
  }
}

/* ── Spinner ── */
#spinner_results {
  grid-column: 1 / -1;
  padding: var(--ab-space-8) 0;
}

/* ── Legacy overrides ── */
.api_rental {
  margin-left: 0;
  margin-right: 0;
}
.visual-frame {
  display: none;
}
