.header .module-search .search-form {
  background: none;
  border-radius: 0;
  box-shadow: none;
  bottom: auto;
  font-size: inherit;
  opacity: 1;
  padding: 0;
  pointer-events: auto;
  position: relative;
  right: auto;
  transform: none;
  z-index: 1;
}

.header .module-search .search-form:before {
  display: none;
}

.module-search .search-form {
  align-items: center;
  display: grid;
  gap: 0;
  grid-template-columns: none;
  position: relative;
}

.module-search .search-label {
  grid-column: 1;
  grid-row: 1;
}

.module-search .search-form .input-text .input-type-text,
.module-search .search-input {
  background: rgb(var(--_color-white));
  border: 1px solid rgba(var(--_color-dark), 0.2);
  border-radius: 3em;
  color: rgb(var(--_color-font));
  height: 2.5em;
  min-width: calc(2.5 * var(--_rem));
  padding: 0 1em 0 3em;
}

.module-search .search-form .input-placeholder .input-label {
  padding: 0 1em 0 3em;
}

.header .module-search .search-button,
.module-search .search-button {
  display: none;
}

.module-search .search-submit {
  align-items: center;
  background: none;
  border: none;
  border-radius: 0;
  color: rgb(var(--_color-font));
  cursor: pointer;
  display: flex;
  font-size: 1em;
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  justify-content: center;
  padding: 0;
  width: 2.25em;
}

.module-search .search-submit:hover,
.module-search .search-submit:focus {
  background: none;
}

.header .module-search .search-form,
.header .module-search .search-form:hover,
.header .module-search .search-form:focus-within {
  background: none;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  pointer-events: auto;
}

.module-search .search-form .input-text .input-type-text {
  border: 1px solid rgba(var(--_color-dark), 0.2);
  border-radius: 3em;
  font-weight: 400;
  min-width: calc(2.5 * var(--_rem));
  padding: 0 1em 0 3em;
}

.module-search .search-submit,
.module-search .search-submit:hover,
.module-search .search-submit:focus {
  background: none;
  border-radius: 0;
  color: rgb(var(--_color-font));
}

.header .module-search > .search-button {
  display: none;
}

.header .module-search .search-form {
  display: grid;
  grid-template-columns: 1fr;
}

.header .module-search .search-input {
  box-sizing: border-box;
  font-size: calc(0.14 * var(--_rem));
  min-width: calc(3.08 * var(--_rem));
  padding: 0 1em 0 3em;
  width: 100%;
}

.header .module-search .search-submit {
  border: none;
  font-size: calc(0.20 * var(--_rem));
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  justify-self: start;
  width: 2.25em;
  z-index: 1;
}

.header .module-search .search-submit:before {
  line-height: 1;
}

@media (max-width: 62em) {
  .header .module-search {
    position: static;
  }

  .header .module-search .search-form,
  .header .module-search .search-form:hover,
  .header .module-search .search-form:focus-within {
    background: rgb(var(--_color-white));
    border-radius: calc(0.16 * var(--_rem));
    bottom: auto;
    box-shadow: 0 calc(0.05 * var(--_rem)) calc(0.16 * var(--_rem)) 0 rgba(0, 0, 0, 0.22), 0 calc(0.16 * var(--_rem)) calc(0.16 * var(--_rem)) 0 rgba(0, 0, 0, 0.20);
    box-sizing: border-box;
    display: grid;
    font-size: calc(0.16 * var(--_rem));
    grid-template-columns: calc(100% - 2.4em - calc(0.16 * var(--_rem))) 2.4em;
    max-width: calc(4.2 * var(--_rem));
    opacity: 0;
    padding: var(--_grid);
    pointer-events: none;
    position: absolute;
    right: 50%;
    top: calc(1 * var(--_rem));
    transform: translate(50%, 0);
    transition: opacity 0.2s;
    width: calc(100% - var(--_grid));
    z-index: 4;
  }

  .header .module-search > .search-button,
  .header .module-search .search-button {
    cursor: pointer;
    display: block;
    position: relative;
    z-index: 1;
  }

  .header .module-search .search-button:hover + .search-form,
  .header .module-search .search-button:focus + .search-form,
  .header .module-search .search-form:hover,
  .header .module-search .search-form:focus-within {
    opacity: 1;
    pointer-events: auto;
  }

  .header .module-search .search-input {
    box-sizing: border-box;
    font-size: calc(0.14 * var(--_rem));
    min-width: unset;
    padding: 0 1em;
    width: 100%;
  }

  .header .module-search .search-submit {
    grid-column: unset;
    grid-row: unset;
    justify-self: unset;
  }

  .module-search .search-form .input-placeholder .input-label {
    left: 1px;
    overflow: hidden;
    right: 1px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}