.search {
  display: inline-flex;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  justify-content: flex-end;
}

.search .search__group {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  justify-content: flex-end;
  width: 24px;
  transition: width .5s;
  border-bottom: 1px solid transparent;
  margin-bottom: 0;
}

.search__btn {
  width: 24px;
  text-align: center;
}

.btn_search {
  position: relative;
  width: 26px !important;
  flex-shrink: 0;
  z-index: 10;
}

.btn_search:active {
  background-image: none;
}

.btn_search:focus,
.btn_search:focus-visible,
.btn_search:focus-within {
  outline: none;
}

.search__close,
.search__close:disabled {
  right: 0;
  font-size: 30px !important;
  transition: opacity .8s, width .5s;
  color: var(--color-text-gray) !important;
  opacity: 0;
  width: 0 !important;
  border-right: 1px solid var(--color-border-gray) !important;
}

.search .search__group .search__field,
.search .search__group .search__field:disabled {
  background-color: transparent;
  width: 0;
  transition: width .5s;
  border-radius: 0;
  padding: 10px 0;
}

.search .search__group .form-group {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
}

.search.open .search__group {
  width: 380px;
}

.search.open .search__group .search__field,
.search.open .search__group .search__field:disabled {
  width: 100%;
}

.search.open .search__group {
  border-bottom-color: var(--color-text-gray);
}

.search.open .search__close,
.search.open .search__close:disabled {
  display: block;
  padding-left: 10px;
  padding-right: 10px;
  opacity: 1;
  width: 40px !important;
}

.search.open .search__submit {
  width: 46px !important;
}

.search.open .search__group .form-group {
  padding-left: 10px;
}

@media (max-width: 767px) {
  .search.open .search__group {
    width: 100%;
    max-width: 300px;
    flex-grow: 1;
  }

  .search .search__close,
  .search .search__group,
  .search .search__group .search__field {
    transition: none;
  }
}

@media (max-width: 479px) {
  .search.open {
    width: 100%;
  }

  .search.open .search__group {
    max-width: 100%;
  }
}

@media (max-width: 375px) {
  .search.open .search__submit {
    width: auto;
  }
}