/* HarishProperties.ca — Release 7 / Sprint 1
   Luxury search experience, autocomplete, recent searches and loading states. */

.hp-smart-search,
.hp-filter-search-wrap { position: relative; }

.hp-search-suggestions {
  position: absolute;
  z-index: 80;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(7,20,46,.97);
  box-shadow: 0 24px 70px rgba(1,8,24,.34);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  padding: 8px;
}

.hp-filter-search-wrap .hp-search-suggestions {
  border-color: rgba(14,40,133,.12);
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 60px rgba(9,25,62,.16);
}

.hp-search-suggestion {
  width: 100%;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #fff;
  text-align: left;
  padding: 11px 12px;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}
.hp-filter-search-wrap .hp-search-suggestion { color: #07142e; }
.hp-search-suggestion:hover,
.hp-search-suggestion[aria-selected="true"] {
  transform: translateX(2px);
  background: rgba(255,255,255,.10);
}
.hp-filter-search-wrap .hp-search-suggestion:hover,
.hp-filter-search-wrap .hp-search-suggestion[aria-selected="true"] { background: rgba(14,40,133,.07); }
.hp-search-suggestion-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(249,94,40,.22), rgba(136,60,151,.22));
  font-size: 15px;
}
.hp-search-suggestion strong { display:block; font-size: 14px; line-height: 1.2; }
.hp-search-suggestion small { display:block; margin-top: 3px; opacity: .65; font-size: 11px; }
.hp-search-suggestion em { font-style: normal; font-size: 11px; opacity: .55; }
.hp-search-heading {
  padding: 8px 12px 5px;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: .52;
}
.hp-search-empty { padding: 14px; opacity: .72; font-size: 13px; }

.hp-filter-search-wrap { min-width: 250px; flex: 1 1 300px; }
.hp-filter-search-wrap > input { width: 100%; }

.hp-search-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-content: center;
  gap: 16px;
  text-align: center;
  color: #fff;
  background: rgba(4,13,31,.76);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hp-search-loader[hidden] { display:none; }
.hp-search-loader span {
  width: 54px;
  height: 54px;
  margin: 0 auto;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.22);
  border-top-color: #f95e28;
  animation: hpSpin .75s linear infinite;
}
.hp-search-loader strong { font-size: 17px; letter-spacing: .01em; }
@keyframes hpSpin { to { transform: rotate(360deg); } }

.hero-search-main button.is-loading,
.listing-filters button[type="submit"].is-loading { pointer-events:none; opacity:.82; }
.hero-search-main button.is-loading span:first-child::after { content:'…'; }

.hp-results-grid .listing-card {
  animation: hpCardIn .48s cubic-bezier(.2,.8,.2,1) both;
}
.hp-results-grid .listing-card:nth-child(2) { animation-delay:.04s; }
.hp-results-grid .listing-card:nth-child(3) { animation-delay:.08s; }
.hp-results-grid .listing-card:nth-child(4) { animation-delay:.12s; }
.hp-results-grid .listing-card:nth-child(5) { animation-delay:.16s; }
.hp-results-grid .listing-card:nth-child(6) { animation-delay:.20s; }
@keyframes hpCardIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

@media (max-width: 760px) {
  .hp-search-suggestions { top: calc(100% + 7px); border-radius: 15px; }
  .hp-filter-search-wrap { min-width: 100%; width:100%; }
  .hp-search-suggestion { grid-template-columns: 32px 1fr; }
  .hp-search-suggestion em { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .hp-results-grid .listing-card,
  .hp-search-loader span { animation:none; }
  .hp-search-suggestion { transition:none; }
}
