:root,
.dark {
  --search-modal-content-bg: var(--vp-c-bg);
}

/**** Search modal */
.search-modal {
  display: none;
  cursor: pointer;
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100%;
  /* overflow-y: auto; */
  background: rgba(0, 0, 0, 0);
  justify-content: center;
  align-items: flex-start;
  backdrop-filter: blur(0px);
  /* Плавные переходы для анимации */
  transition:
    background-color 0.3s ease-out,
    backdrop-filter 0.3s ease-out;
}

.search-modal-inner-wrapper {
  cursor: default;
  margin-top: 5rem;
  background: var(--search-modal-content-bg);
  width: 760px;
  min-height: 6rem;
  max-height: calc(100vh - 8rem);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  box-sizing: border-box;
  overflow: auto;

  /* Плавная анимация появления */
  animation: modalFadeInOpacity 0.2s ease-out;
}

.search-modal-content {
  overflow-y: auto;
  box-sizing: border-box;
  padding: 1.25rem;
}

.search-modal-close-button {
  position: fixed;
  top: 16px;
  right: 16px;
  font-size: 22px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0px 3px 1px;
  background: #222;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  color: #bbb;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.3);
}

.search-modal-close-button:hover {
  filter: brightness(115%);
}

.search-modal-top-bar {
  display: none;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1.75rem;
}

.search-modal-mobile-close-button {
  font-size: 24px;
  padding: 4px 10px;
  cursor: pointer;
}

/* Анимация появления модального окна */
@keyframes modalFadeInOpacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Активное состояние модального окна */
.search-modal.active {
  display: flex;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
}

/* Классы для анимации появления */
.search-modal.fade-in {
  animation: modalFadeIn 0.3s ease-out forwards;
}

/* Классы для анимации исчезновения */
.search-modal.fade-out {
  animation: modalFadeOut 0.3s ease-out forwards;
}

/* Анимация исчезновения для внутреннего контента */
.search-modal.fade-out .search-modal-inner-wrapper {
  animation: modalContentFadeOut 0.3s ease-out forwards;
}

/* Убираем transition когда применяется анимация */
.search-modal.fade-in,
.search-modal.fade-out {
  transition: none;
}

/* Анимация появления фона модального окна */
@keyframes modalFadeIn {
  from {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }
  to {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
  }
}

/* Анимация исчезновения фона модального окна */
@keyframes modalFadeOut {
  from {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
  }
  to {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }
}

/* Анимация исчезновения контента модального окна */
@keyframes modalContentFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* Адаптивность для мобильных устройств */
@media (max-width: 840px) {
  .search-modal-inner-wrapper {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    margin-top: 0;
    box-shadow: none;
  }

  .search-modal-top-bar {
    display: flex;
  }

  .search-modal-close-button {
    display: none;
  }

  .search-modal-content {
    padding-bottom: 3rem;
  }
}
