.azure-search-results {
  max-width: 1600px !important;
}

/* 1) Flex container for sidebar + content */
.search-results-row {
  display: flex;
  align-items: flex-start;
}

/* 2) Desktop: sidebar positioning (script handles fixed/absolute) */
@media (min-width: 768px) {
  .azure-sidebar {
    /* position: sticky; handled by JS */
    top: 20px;
    align-self: flex-start;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    flex: 0 0 auto;
  }
}

/* 4) Sidebar link styling */
.azure-sidebar .nav { padding: 0; margin: 0; }
.azure-sidebar .nav-link {
  display: block;
  background-color: #f0f0f0;
  color: #555;
  padding: 12px 16px;
  margin-bottom: 8px;
  border-radius: 0;
  font-size: 1rem;
  text-decoration: none;
  font-family: usual, sans-serif;
}
.azure-sidebar .nav-link i { margin-right: 8px; }
.azure-sidebar .nav-link:hover,
.azure-sidebar .nav-link.active { background-color: #6DB178; color: #fff; }

/* 5) Optional: style the sidebar scrollbar */
.azure-sidebar { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.2) transparent; }
.azure-sidebar::-webkit-scrollbar { width: 6px; }
.azure-sidebar::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 3px;
}

/* 6) Autocomplete / search-dropdown styling */
.searchform-wrapper-azure {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 630px;
  margin: 0 auto;
  box-sizing: border-box;
}
.searchform-wrapper-azure .field {
  width: 100%;
  padding: 0.5rem 1rem;
  border: 1px solid #ccc;
  border-radius: 0;
  outline: none;
  box-sizing: border-box;
}
.searchform-wrapper-azure .field:focus { border-color: #5B9F70; box-shadow: none; }

.searchform-wrapper-azure #azure-search-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  max-height: 50vh;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 1000;
  box-sizing: border-box;
}

.azure-autocomplete-dropdown {
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  overflow: hidden;
  border-radius: 0 !important;
}
.azure-autocomplete-dropdown.loading {
  min-height: 60px;
  position: relative;
}
.azure-spinner {
  width: 36px; height: 36px;
  border: 4px solid rgba(0,0,0,0.1);
  border-top-color: #5B9F70;
  border-radius: 50%;
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

.azure-autocomplete-dropdown .azure-no-results {
  padding: 12px; text-align: center; color: #666;
}
.azure-autocomplete-dropdown .autocomplete-group { border-top: 1px solid #f0f0f0; }
.azure-autocomplete-dropdown .autocomplete-group:first-child { border-top: none; }
.azure-autocomplete-dropdown .autocomplete-group-title {
  display: flex; align-items: center; padding: 8px 16px; background: #f9f9f9; position: relative;
}
.azure-autocomplete-dropdown .autocomplete-group-title i { margin-right: 6px; }
.azure-autocomplete-dropdown .group-items { list-style: none; margin: 0; padding: 0; }
.azure-autocomplete-dropdown .group-items li { padding: 10px 12px; transition: background 0.2s; }
.azure-autocomplete-dropdown .group-items li:hover { background-color: #5B9F70; }
.azure-autocomplete-dropdown .group-items li a {
  /* Desktop: allow wrapping (no text cuts) */
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; color: #333;
  white-space: normal;          /* allow multi-line */
  overflow: visible;            /* do not clip text */
}
.azure-autocomplete-dropdown .group-items li a i { margin-right: 8px; }
.azure-autocomplete-dropdown .group-items li:hover a,
.azure-autocomplete-dropdown .group-items li:hover a i { color: #fff; }

/* Title (desktop): unlimited lines, no truncation */
.azure-autocomplete-dropdown .group-items li a .azure-title {
  /*flex: 1 1 auto;*/
  min-width: 0;
  white-space: normal;          /* no single-line lock */
  overflow: visible;            /* no clipping */
  text-overflow: clip;          /* no ellipsis */
}

/* Meta (desktop): can wrap, smaller + softer */
.azure-autocomplete-dropdown .group-items li a .azure-meta {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: flex-start;
  gap: 8px;
  white-space: normal;          /* allow wrapping */
  font-size: 0.85rem; color: #667085;
  margin-left: 5px;
  flex-wrap: wrap;              /* wrap when tight */
}

/* Separator between title and location (only when location exists) */
.azure-autocomplete-dropdown .group-items li a .azure-meta:has(.meta-location)::before {
  content: "";
  display: inline-block;
  width: 1px; height: 1em;
  background: currentColor; opacity: 0.25;
  margin: 0 8px;
}

/* Dot between location and rating (outside the badge) */
.azure-autocomplete-dropdown .group-items li a .azure-meta .meta-dot {
  display: inline-block;
  opacity: 0.45;
  margin: 0 6px;
  line-height: 1;
}

/* Rating badge (GLOBAL) with hummingbird INSIDE */
.azure-autocomplete-dropdown .group-items li a .azure-meta .rating-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 2px 8px; line-height: 1;
  border-radius: 9999px; background: #eaf7ee; font-weight: 600;
}
.azure-autocomplete-dropdown .group-items li a .azure-meta .rating-badge .rating-text { display: inline-block; }
.azure-autocomplete-dropdown .group-items li a .azure-meta .rating-badge .green-hummingbird {
  display: inline-block;
  width: 1.6em; height: 1.6em; margin-left: 2px;
  background: url(/wp-content/uploads/2021/03/green-humming-bird.svg) no-repeat center;
  background-size: contain; vertical-align: middle;
}
/* Hide any legacy bird placed directly under .azure-meta (outside the badge) */
.azure-autocomplete-dropdown .group-items li a .azure-meta > .green-hummingbird { display: none; }

/* Hover: make meta (location + rating) text white */
.azure-autocomplete-dropdown .group-items li:hover a .azure-meta,
.azure-autocomplete-dropdown .group-items li:hover a .azure-meta *,
.azure-autocomplete-dropdown .group-items li:hover a .rating-badge,
.azure-autocomplete-dropdown .group-items li:hover a .rating-badge .rating-text,
.azure-autocomplete-dropdown .group-items li:hover a .meta-dot {
  color: #fff;
}
/* Optional: nicer contrast for the badge on green row hover */
.azure-autocomplete-dropdown .group-items li:hover a .rating-badge { background: rgba(255,255,255,0.15); }

/* 7) Containing block for absolute positioning */
.search-results-row > .col-md-3 { position: relative; }

/* 8) “View all results” button styling */
.azure-autocomplete-dropdown .autocomplete-group-title .azure-view-all {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  display: inline-block; padding: 0.5rem 1rem; font-size: 0.85rem;
  font-family: usual, sans-serif; background-color: #B1C9B0; color: #fff;
  text-decoration: none; font-weight: normal;
}
.azure-autocomplete-dropdown .autocomplete-group-title .azure-view-all:hover {
  text-decoration: none; color: #fff; background-color: #5B9465;
}

/* Filter group headings */
.filter-group > h2 {
  display: flex; align-items: center;
  text-transform: uppercase; letter-spacing: 0.3em;
  margin: 2rem 0 1rem; padding-bottom: 0.25rem; border-bottom: 1px solid #000;
  font-family: usual,sans-serif; font-weight: 400; font-size: .875rem;
}
.filter-group > h2 i { margin-right: 0.5em; font-size: 1.2em; line-height: 1; }

/* Cards */
.card-title {
  font-family: "Libre Baskerville", serif;
  font-weight: 400; font-size: 1.1rem; line-height: 2rem;
  letter-spacing: 2px; text-transform: uppercase;
}
.custom-card-bt{
  padding: 0.5rem !important; margin: 0 auto;
  color: #5b9f5b !important; border: 1px solid #5b9f5b !important;
  background-color: #fff !important; font-family: usual, sans-serif;
  font-weight: 400; font-size: .875rem; line-height: 1.625; letter-spacing: 3px; text-transform: uppercase;
}
.custom-card-bt:hover { color: #fff !important; background-color: #5b9f5b !important; }

.search-results-row .card { width: 22rem; border-radius: 0; }
.search-results-row .card-img-top { border-radius: 0; }
.azure-search-results .card .card-img-top { width: 100%; height: 250px; object-fit: cover; }

/* Two fixed columns on one row (start-left) */
.search-results-row .meta-line .meta-flex-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;           /* keep both columns on the same row */
}

/* Left column (location): flexible */
.search-results-row .meta-line .meta-location {
  flex: 1 1 auto;              /* take the remaining space */
  min-width: 0;                /* allow internal wrapping of the city name */
  white-space: normal;         /* can wrap to multiple lines if long */
}

/* Right column (rating): content width only */
.search-results-row .meta-line .meta-rating {
  flex: 0 0 auto;              /* do not grow, do not shrink */
  white-space: nowrap;         /* keep the pill on one line */
}

/* Rating pill + hummingbird (when has-rating) */
.search-results-row .meta-line.has-rating .rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  line-height: 1;
  border-radius: 9999px;
  background: #eaf7ee;
  font-weight: 600;
}
.search-results-row .meta-line.has-rating .rating-badge .green-hummingbird {
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  margin-left: 2px;
  background: url(/wp-content/uploads/2021/03/green-humming-bird.svg) no-repeat center;
  background-size: contain;
  vertical-align: middle;
}

/* Not rated: same layout, simple text */
.search-results-row .meta-line.no-rating .rating-text {
  opacity: 0.85;
}

/* Slightly bigger rating font (rem) */
.search-results-row .meta-line.has-rating .rating-badge {
  font-size: 1rem;           /* up from .small (~0.875rem) */
  padding: 0.3rem 0.75rem;   /* room for bigger text & bird */
}

/* Also bump "Not rated" so both variants look consistent */
.search-results-row .meta-line.no-rating .rating-text {
  font-size: 1rem;
}

/* Bigger hummingbird inside the pill (rem) */
.search-results-row .meta-line.has-rating .rating-badge .green-hummingbird {
  width: 1.3rem;
  height: 1.3rem;
  margin-left: 0.25rem;
}

.search-results-row .meta-line .meta-location {
  font-size: 0.95rem;
}


/******* MOBILE ***********/
@media (max-width: 767px) {
  /* Search input */
  #azure-search-input { display: block; width: 95%; margin: 0.5em auto; }

  /* Limit dropdown width and center it */
  .azure-autocomplete-dropdown { width: 95%; margin: 0 auto 0.25em; box-sizing: border-box; }

  /* Center all cards in the flex-wrap row on mobile */
  .search-results-row .d-flex.flex-wrap { justify-content: center; }

  /* Remove extra gap under the input on mobile */
  .searchform-wrapper-azure #azure-search-results { top: 100% !important; }

  /* Ensure inner lists fill the container */
  .azure-autocomplete-dropdown .group-items { width: 100%; box-sizing: border-box; }

  .search-results-row { flex-direction: column; }
  .azure-sidebar { position: static; max-height: none; overflow: visible; }

  /* Mobile keeps wrapping behavior as well (no truncation) */
  .azure-autocomplete-dropdown .group-items li a { white-space: normal; }
  .azure-autocomplete-dropdown .group-items li a .azure-title {
    flex: 1 1 auto; min-width: 0; white-space: normal; overflow: visible; text-overflow: clip;
  }
  .azure-autocomplete-dropdown .group-items li a .azure-meta {
    flex: 0 0 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-start;
    gap: 8px; white-space: normal; flex-wrap: wrap; margin-left: 0;
  }
  .azure-autocomplete-dropdown .group-items li a .azure-meta .meta-location {
    flex: 0 0 auto; min-width: 0; white-space: normal;
  }

  .search-results-row .small.text-muted.mb-3.has-rating::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-left: 6px;
  background: url(/wp-content/uploads/2021/03/green-humming-bird.svg) no-repeat center;
  
}

}

/***** MOBILE NAV ******/
@media (max-width: 767px) {
  .azure-sidebar .nav-sublist { display: none; list-style: none; padding-left: 1rem; }
  .azure-sidebar .nav-sublist .nav-link { padding-left: 1.5rem; }
  .azure-sidebar-mobile-bottom { margin-top: 2rem; width: 100%; }
}
