/* Solutions search: one solid field above the grid, quick picks, a live
   count and an empty state. Filtered cards use the hidden attribute. */
html body #solutions .site-solutions__search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem 1.25rem;
  margin: 0 0 1.75rem;
}
html body #solutions .site-solutions__search-field {
  position: relative;
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  margin: 0;
}
html body #solutions .site-solutions__search-field svg {
  position: absolute;
  left: 1.125rem;
  width: 1.25rem;
  height: 1.25rem;
  color: #6b72c9;
  pointer-events: none;
}
html body #solutions .site-solutions__search-field input {
  width: 100%;
  height: 3.5rem;
  margin: 0;
  padding: 0 1.25rem 0 3.25rem;
  border: 1px solid #d7dbe8;
  border-radius: 1rem;
  background: #fff;
  color: #191c3b;
  font: inherit;
  font-size: 1rem;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 1rem 2rem -1.5rem rgba(26, 31, 84, .35);
  transition: border-color .16s ease, box-shadow .16s ease;
}
html body #solutions .site-solutions__search-field input::placeholder { color: #8a91a5; }
html body #solutions .site-solutions__search-field input:hover { border-color: #b9bee0; }
html body #solutions .site-solutions__search-field input:focus {
  border-color: #4950d6;
  outline: none;
  box-shadow: 0 0 0 4px rgba(73, 80, 214, .14), 0 1rem 2rem -1.5rem rgba(26, 31, 84, .35);
}
html body #solutions .site-solutions__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
html body #solutions .site-solutions__chips button {
  padding: .375rem .875rem;
  border: 1px solid #dfe3ee;
  border-radius: 62.4375rem;
  background: #fff;
  color: #4a5167;
  font: inherit;
  font-size: .8125rem;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
html body #solutions .site-solutions__chips button:hover { border-color: #c7cbf6; background: #eef0ff; color: #3844b5; }
html body #solutions .site-solutions__chips button:focus-visible { outline: 2px solid #4950d6; outline-offset: 2px; }
html body #solutions .site-solutions__count {
  margin: 0;
  color: #6b7285;
  font-size: .8125rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
html body #solutions .site-solutions__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
/* Cards and their motion wrappers set their own display; hidden must win. */
html body #solutions .site-solutions__grid > [hidden],
html body #solutions .site-solution[hidden],
html body #solutions .site-solutions__empty[hidden] { display: none !important; }
html body #solutions .site-solutions__empty {
  display: grid;
  justify-items: center;
  gap: .5rem;
  padding: 3rem 1.5rem;
  border: 1px dashed #cfd4e6;
  border-radius: 1.25rem;
  background: #f7f8fc;
  text-align: center;
}
html body #solutions .site-solutions__empty strong { color: #191c3b; font-size: 1.125rem; }
html body #solutions .site-solutions__empty p { margin: 0; color: #5d6578; }
html body #solutions .site-solutions__empty button {
  margin-top: .5rem;
  padding: .625rem 1.125rem;
  border: 0;
  border-radius: .75rem;
  background: #4950d6;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
@media (max-width: 600px) {
  html body #solutions .site-solutions__search { grid-template-columns: 1fr; }
  html body #solutions .site-solutions__search-field input { height: 3.125rem; font-size: 1rem; }
}
