/* Reusable search component */
.site-search { margin: 0 0 1rem 0; }
.site-search__label { position: absolute; width: 1px; height: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.site-search__control { display: flex; align-items: center; gap: 0.5rem; border: 1px solid rgba(148,163,184,0.35); border-radius: 0.75rem; padding: 0.5rem 0.75rem; background: #ffffff; box-shadow: 0 1px 2px rgba(15,23,42,0.04); }
.site-search__control i { color: #64748b; }
.site-search__input { flex: 1; border: none; outline: none; font-size: 1rem; color: #0f172a; }
.site-search__input::placeholder { color: #94a3b8; }
.site-search__meta { margin-top: 0.25rem; font-size: 0.875rem; color: #64748b; display: flex; gap: 0.5rem; }

/* Search filtering states */
[data-searchable] { transition: opacity 180ms ease, transform 180ms ease; }
[data-search-hidden="true"] { opacity: 0.15; transform: scale(0.995); pointer-events: none; }

/* Smooth hide/show for search filtering */
.services-grid .service-section { transition: opacity 220ms ease, transform 220ms ease, max-height 260ms ease, margin 200ms ease; max-height: 1000px; }
.services-grid .service-section[data-search-hidden="true"] {
  display: none !important; /* fully hide so grid compacts to the left */
  opacity: 1;
  transform: none;
  max-height: none;
  margin: 0;
  overflow: visible;
}

/* Services page search width */
.services-main .site-search { max-width: 520px; }

/* Suggestions dropdown */
.site-search__suggestions { position: relative; }
.site-search__suggestions-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(148,163,184,0.35);
  border-top: none;
  border-radius: 0 0 0.75rem 0.75rem;
  box-shadow: 0 8px 24px rgba(15,23,42,0.08);
  padding: 0.25rem 0;
  z-index: 50;
  max-height: 240px;
  overflow-y: auto;
}
.site-search__suggestion { padding: 0.5rem 0.75rem; cursor: pointer; color: #0f172a; display: flex; gap: 0.5rem; align-items: center; line-height: 1.2; }
.site-search__suggestion i { color: #94a3b8; }
.site-search__suggestion:hover { background: #f8fafc; }
.site-search__suggestions[hidden] { display: none; } 