.chs-hero-search {
  box-sizing: border-box;
  width: 100%;
  /* Reserve the form's exact height so content below never shifts */
  min-height: 2.75rem;
  font-family: var(--chs-font-body);
  color: var(--chs-black);
}

.chs-hero-search *,
.chs-hero-search *::before,
.chs-hero-search *::after {
  box-sizing: border-box;
}

.chs-hero-search__form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
}

.chs-hero-search__field {
  width: 100%;
  max-width: 22.5rem;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

.chs-hero-search__input {
  width: 100%;
  height: auto;
  min-height: 2.75rem;
  margin: 0;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  border-top-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  border-top-left-radius: var(--chs-radius-small);
  border-top-right-radius: var(--chs-radius-small);
  border-bottom-left-radius: var(--chs-radius-small);
  border-bottom-right-radius: var(--chs-radius-small);
  background-color: var(--chs-light-blue-lightest);
  color: var(--chs-black);
  font-family: inherit;
  font-size: var(--chs-text-regular);
  line-height: 1.6;
}

.chs-hero-search__input::placeholder {
  color: var(--chs-light-blue);
}

.chs-hero-search__input:focus {
  outline: 2px solid var(--chs-blue);
  outline-offset: 2px;
}

.chs-hero-search__button-wrap {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.chs-hero-search__submit {
  height: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding-top: 0.375rem;
  padding-right: 1.5rem;
  padding-bottom: 0.375rem;
  padding-left: 1.5rem;
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: var(--chs-blue);
  border-right-color: var(--chs-blue);
  border-bottom-color: var(--chs-blue);
  border-left-color: var(--chs-blue);
  border-top-left-radius: var(--chs-radius-pill);
  border-top-right-radius: var(--chs-radius-pill);
  border-bottom-left-radius: var(--chs-radius-pill);
  border-bottom-right-radius: var(--chs-radius-pill);
  background-color: var(--chs-blue);
  color: var(--chs-white);
  font-family: inherit;
  font-size: var(--chs-text-regular);
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition-property: background-color, border-color;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.chs-hero-search__submit:hover,
.chs-hero-search__submit:focus-visible {
  background-color: var(--chs-primary);
  border-top-color: var(--chs-primary);
  border-right-color: var(--chs-primary);
  border-bottom-color: var(--chs-primary);
  border-left-color: var(--chs-primary);
}

.chs-hero-search__submit:focus-visible {
  outline: 2px solid var(--chs-blue);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .chs-hero-search {
    /* Stacked: 3 rows at 2.75rem + two 0.75rem gaps */
    min-height: 9.75rem;
  }

  .chs-hero-search__form {
    flex-direction: column;
    flex-wrap: wrap;
  }

  .chs-hero-search__field {
    max-width: none;
  }

  .chs-hero-search__button-wrap {
    width: 100%;
  }

  .chs-hero-search__submit {
    width: 100%;
  }
}

