/* Shared by public company and testimonial search. Page CSS owns placement only. */
.hindle-search { min-width: 0; margin: 0; }
.hindle-search-field { display: flex; align-items: center; gap: 10px; min-height: 54px; padding-left: 14px; border: 1px solid var(--hindle-rule); }
.hindle-search-field:focus-within { outline: 2px solid var(--hindle-focus); outline-offset: 3px; }
.hindle-search-field > svg { flex: 0 0 18px; fill: none; stroke: var(--hindle-muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hindle-search input { flex: 1; min-width: 0; padding: 12px 0; border: 0; border-radius: 0; outline: none; background: transparent; color: var(--hindle-text); font: 16px/1.5 var(--hindle-sans); }
.hindle-search input::placeholder { color: var(--hindle-muted); opacity: 1; }
.hindle-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.hindle-search .hindle-search-clear { display: inline-flex; flex: 0 0 44px; align-self: stretch; align-items: center; justify-content: center; min-height: 48px; color: var(--hindle-muted); font-size: 24px; text-decoration: none; }
.hindle-search-field > button { display: grid; place-items: center; align-self: stretch; min-height: 52px; padding: 12px 16px; border: 0; border-left: 1px solid var(--hindle-rule); background: transparent; font-size: 14px; }
.hindle-search-label, .hindle-search-progress { grid-area: 1 / 1; }
.hindle-search-label { opacity: 1; transform: translateY(0); transition: opacity 220ms ease-out 60ms, transform 220ms ease-out 60ms, visibility 0s; }
.hindle-search-progress { visibility: hidden; opacity: 0; transform: translateY(3px) scale(.94); width: 46px; height: 24px; fill: currentColor; overflow: visible; pointer-events: none; transition: opacity 160ms ease-out, transform 220ms ease-out, visibility 0s 220ms; }
/* Pause at the current wave frame during fade-out; no animation runs while idle. */
.hindle-search-progress circle { opacity: .18; transform-box: fill-box; transform-origin: center; animation: hindle-search-wave 1.8s cubic-bezier(.4, 0, .2, 1) var(--dot-delay) infinite paused; }
.hindle-search[data-search-busy] .hindle-search-label { visibility: hidden; opacity: 0; transform: translateY(-3px); transition: opacity 140ms ease-out, transform 200ms ease-out, visibility 0s 140ms; }
.hindle-search[data-search-busy] .hindle-search-progress { visibility: visible; opacity: 1; transform: translateY(0) scale(1); transition: opacity 240ms ease-out 40ms, transform 260ms ease-out 40ms, visibility 0s; }
.hindle-search[data-search-busy] .hindle-search-progress circle { animation-play-state: running; }
@keyframes hindle-search-wave {
  0%, 70%, 100% { opacity: .22; transform: translateY(0) scale(.75); }
  25%, 35% { opacity: 1; transform: translateY(-1px) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .hindle-search .hindle-search-label, .hindle-search .hindle-search-progress,
  .hindle-search[data-search-busy] .hindle-search-label, .hindle-search[data-search-busy] .hindle-search-progress { transition: none; transform: none; }
  .hindle-search .hindle-search-progress circle { animation: none; opacity: .7; transform: none; }
}
.hindle-search .hindle-search-clear:hover, .hindle-search-field > button:hover { background: var(--hindle-rule); color: var(--hindle-text); }
.hindle-search-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin-top: 8px; color: var(--hindle-muted); font-size: 12px; }
.hindle-search-options { display: contents; }
.hindle-search-suggestions a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.hindle-search-suggestions a:hover { color: var(--hindle-text); }
@media (max-width: 767px) {
  .hindle-search-field { gap: 8px; padding-left: 12px; }
  .hindle-search-field > button { padding-inline: 12px; }
  /* Native swipe/keyboard scrolling; the inset leaves room for focus rings. */
  .hindle-search-suggestions { flex-wrap: nowrap; }
  .hindle-search-suggestions > span { flex: 0 0 auto; }
  .hindle-search-options { display: flex; flex: 1; min-width: 0; gap: 12px; overflow-x: auto; scrollbar-width: none; padding: 4px; margin: -4px; scroll-padding-inline: 4px; }
  .hindle-search-options::-webkit-scrollbar { display: none; }
  .hindle-search-options > a { flex: 0 0 auto; white-space: nowrap; }
}
