/* Results sort adapter: reuse UI Core metadata styling and native select styling. */
.cnjrly-gd-results-sort {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--cj-meta-gap);
  margin: 0;
  max-width: 100%;
}
.cnjrly-gd-results-sort .form-label {
  flex: 0 0 auto;
  margin: 0;
  font-family: var(--cj-meta-font-family);
  font-size: var(--cj-meta-font-size);
  font-weight: var(--cj-meta-font-weight);
  line-height: var(--cj-meta-line-height);
  color: var(--cj-meta-color);
  white-space: nowrap;
}
.cnjrly-gd-results-sort select {
  width: auto;
  height: var(--cj-btn-height);
  min-height: var(--cj-btn-height);
  min-width: 0;
  max-width: 100%;
  flex: 0 1 auto;
}
/* Opt in only the Elementor inner section containing this shortcode.
   Grid allocates intrinsic space to sorting instead of a fixed 35% column.
   Resets are scoped to this toolbar and its native pagination spacing. */
/* Separate the results controls from the first listing using shared spacing. */
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) {
  margin-top: 0;
  margin-bottom: var(--cj-gap-card);
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) > .elementor-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
  gap: var(--cj-gap-card);
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) > .elementor-container > .elementor-column {
  width: auto !important;
  min-width: 0;
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
  /* Saved Elementor column margins previously balanced the removed padding. */
  margin: 0 !important;
  --e-column-margin-left: 0px;
  --e-column-margin-right: 0px;
  align-content: start;
}
/* Count is context above the action row; pagination and sorting share its base. */
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) .gd-pagination-details {
  margin-bottom: var(--cj-meta-gap);
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) .geodir-loop-paging-container > div {
  margin-bottom: 0 !important;
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) .geodir-loop-paging-container > div > section {
  display: flex;
  align-items: center;
  min-height: var(--cj-btn-height);
  padding-block: 0 !important;
}
.elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) .cnjrly-gd-results-sort {
  margin: 0;
}
@media (max-width: 782px) {
  .elementor .elementor-inner-section:has(.cnjrly-gd-results-sort) > .elementor-container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--cj-meta-gap);
  }
  .cnjrly-gd-results-sort { justify-content: flex-start; }
}

/* One gap after search instead of stacked form, wrapper and widget margins. */
.elementor .elementor-widget-wp-widget-gd_search:has(+ .elementor-inner-section .cnjrly-gd-results-sort) {
  margin-bottom: var(--cj-gap-card);
}
.elementor .elementor-widget-wp-widget-gd_search:has(+ .elementor-inner-section .cnjrly-gd-results-sort) .geodir-search-form-wrapper,
.elementor .elementor-widget-wp-widget-gd_search:has(+ .elementor-inner-section .cnjrly-gd-results-sort) form.geodir-listing-search {
  margin-bottom: 0 !important;
}

/* 0.1.445: Custom distance miles box (Places and Magicians). */
.cnjrly-dist-custom {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.cnjrly-dist-custom[hidden] {
  display: none !important;
}

.cnjrly-dist-custom .form-control {
  flex: 0 1 140px;
  min-width: 0;
}

.cnjrly-dist-custom__unit {
  font-size: var(--cj-meta-font-size, 0.9rem);
  color: var(--cj-meta-color, #6b6e76);
}
