/* =========================================================
   NEYGEN — Smart Search: поиск в шапке + страница результатов
========================================================= */


/* ================================
   1. Поиск в шапке
================================ */

.navbar-brand-with-search {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.navbar-brand-with-search .neygen-home-search {
  max-width: 100%;
  margin: 0;
}

.navbar-brand-with-search .neygen-home-search form,
.navbar-brand-with-search .neygen-home-search .mod-finder {
  width: 100%;
  margin: 0;
}

.neygen-home-search label {
  display: none;
}

.neygen-home-search .input-group {
  width: 100%;
}

.neygen-home-search input[type="text"],
.neygen-home-search input[type="search"] {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #dfe5ee;
  border-radius: 12px;
  background: #ffffff;
  color: #333e50;
  font-size: 15px;
  outline: none;
  box-shadow: none;
  transition: 0.2s ease;
}

.neygen-home-search input[type="text"]:focus,
.neygen-home-search input[type="search"]:focus {
  border-color: #3f6ecb;
  box-shadow: 0 0 0 3px rgba(63, 110, 203, 0.12);
}


/* ================================
   2. Подсказки поиска в шапке
================================ */

.neygen-home-search .awesomplete {
  width: 100%;
  display: block;
}

.neygen-home-search .awesomplete input {
  width: 100%;
}

.neygen-home-search .awesomplete>ul {
  left: 0;
  right: 0;
  min-width: 100%;
  margin: 8px 0 0;
  padding: 6px;
  border: 1px solid #dfe5ee;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.14);
  list-style: none;
  overflow: hidden;
  z-index: 9999;
}

.neygen-home-search .awesomplete>ul::before {
  display: none;
}

.neygen-home-search .awesomplete>ul>li {
  padding: 9px 11px;
  border-radius: 8px;
  color: #333e50;
  font-size: 14px;
  line-height: 1.3;
  cursor: pointer;
}

.neygen-home-search .awesomplete>ul>li:hover,
.neygen-home-search .awesomplete>ul>li[aria-selected="true"] {
  background: #f1f5ff;
  color: #3f6ecb;
}

.neygen-home-search .awesomplete mark {
  padding: 0;
  background: transparent;
  color: #3f6ecb;
  font-weight: 700;
}


/* ================================
   3. Страница результатов поиска
================================ */

.com-finder,
.finder {
  max-width: 1320px;
  margin: 0 auto;
  padding: 32px 0px 60px;
}

.com-finder h1,
.com-finder .page-header h1,
.finder h1,
.finder .page-header h1 {
  margin: 0 0 24px;
  padding: 0;
  font-size: 32px;
  font-weight: 800;
  color: #333e50 !important;
}

.com-finder__search,
.finder .com-finder__search,
.finder .finder-search {
  margin-bottom: 28px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #e4e9f0;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

.com-finder__search label,
.finder .finder-search label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #333e50;
}

.com-finder__search .input-group,
.finder .finder-search .input-group {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.com-finder__search input[type="text"],
.com-finder__search input[type="search"],
.finder .finder-search input[type="text"],
.finder .finder-search input[type="search"] {
  min-width: 280px;
  height: 46px;
  padding: 0 16px;
  border: 1px solid #dfe5ee;
  border-radius: 12px;
  background: #ffffff;
  color: #333e50;
  font-size: 15px;
  outline: none;
  box-shadow: none;
}

.com-finder__search input[type="text"]:focus,
.com-finder__search input[type="search"]:focus,
.finder .finder-search input[type="text"]:focus,
.finder .finder-search input[type="search"]:focus {
  border-color: #3f6ecb;
  box-shadow: 0 0 0 3px rgba(63, 110, 203, 0.12);
}

.com-finder__search .btn,
.com-finder__search button,
.finder .finder-search .btn,
.finder .finder-search button {
  height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  background: #3f6ecb;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.com-finder__search .btn:hover,
.com-finder__search button:hover,
.finder .finder-search .btn:hover,
.finder .finder-search button:hover {
  background: #315bb0;
  color: #ffffff;
}

.com-finder__search .btn-secondary,
.com-finder__search button.btn-secondary,
.finder .finder-search .btn-secondary,
.finder .finder-search button.btn-secondary {
  background: #ffffff;
  color: #333e50;
  border: 1px solid #dfe5ee;
}

.com-finder__search .btn-secondary:hover,
.com-finder__search button.btn-secondary:hover,
.finder .finder-search .btn-secondary:hover,
.finder .finder-search button.btn-secondary:hover {
  background: #f5f7fb;
  color: #3f6ecb;
  border-color: #cbd7ee;
}


/* ================================
   4. Текст "найдено X элементов"
================================ */

.com-finder__explained,
.finder .com-finder__explained {
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #f8faff;
  border: 1px solid #e1e8ff;
  border-radius: 12px;
  color: #475569;
  font-size: 15px;
}


/* ================================
   5. Список результатов
================================ */

.com-finder__results,
.com-finder__results-list,
#search-results,
.finder #search-results {
  margin: 0;
  padding: 0;
  list-style: none;
}

.com-finder__results .result,
.com-finder__results .result__item,
.com-finder__results-list .result,
.com-finder__results-list .result__item,
#search-results .result,
#search-results .result__item,
.result__item {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: flex-start;

  margin: 0 0 14px;
  padding: 18px 22px;
  background: #ffffff;
  border: 1px solid #e4e9f0;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  transition: 0.18s ease;
}

.com-finder__results .result:hover,
.com-finder__results .result__item:hover,
.com-finder__results-list .result:hover,
.com-finder__results-list .result__item:hover,
#search-results .result:hover,
#search-results .result__item:hover,
.result__item:hover {
  border-color: #d4def0;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}


/* ================================
   6. Логотипы в результатах 48x48
================================ */

.com-finder__results .result img,
.com-finder__results .result__item img,
.com-finder__results-list .result img,
.com-finder__results-list .result__item img,
#search-results .result img,
#search-results .result__item img,
.result__item img {
  grid-column: 1;
  grid-row: 1 / span 10;

  display: block !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;

  object-fit: contain;
  object-position: center;
  border-radius: 10px;
  background: #f8fafc;
  padding: 4px;
  margin: 0 !important;
}

/* Если Joomla оборачивает картинку */
.result__image,
.result-image,
.result__item-image,
.result__figure,
.result figure,
.result__item figure,
.com-finder__results figure,
#search-results figure {
  grid-column: 1;
  grid-row: 1 / span 10;

  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.result__image img,
.result-image img,
.result__item-image img,
.result__figure img,
.result figure img,
.result__item figure img,
.com-finder__results figure img,
#search-results figure img {
  width: 48px !important;
  height: 48px !important;
}


/* ================================
   7. Текстовая часть результата
================================ */

.com-finder__results .result>*:not(img):not(figure):not(.result__image):not(.result-image):not(.result__item-image):not(.result__figure),
.com-finder__results .result__item>*:not(img):not(figure):not(.result__image):not(.result-image):not(.result__item-image):not(.result__figure),
#search-results .result>*:not(img):not(figure):not(.result__image):not(.result-image):not(.result__item-image):not(.result__figure),
#search-results .result__item>*:not(img):not(figure):not(.result__image):not(.result-image):not(.result__item-image):not(.result__figure),
.result__item>*:not(img):not(figure):not(.result__image):not(.result-image):not(.result__item-image):not(.result__figure) {
  grid-column: 2;
}

.result__url,
.result-url,
.com-finder__results .result__url,
.com-finder__results .result-url,
#search-results .result__url,
#search-results .result-url {
  display: block;
  margin: 0 0 6px;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  word-break: break-word;
}

.result__title,
.result-title,
.com-finder__results h3,
.com-finder__results h4,
#search-results h3,
#search-results h4 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
}

.result__title a,
.result-title a,
.com-finder__results h3 a,
.com-finder__results h4 a,
#search-results h3 a,
#search-results h4 a {
  color: #333e50;
  text-decoration: none;
}

.result__title a:hover,
.result-title a:hover,
.com-finder__results h3 a:hover,
.com-finder__results h4 a:hover,
#search-results h3 a:hover,
#search-results h4 a:hover {
  color: #3f6ecb;
}

.result__description,
.result-text,
.result__body,
.com-finder__results .result__description,
.com-finder__results .result__body,
#search-results .result__description,
#search-results .result__body {
  margin: 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.55;
}


/* ================================
   8. Служебные данные результата
================================ */

.result__taxonomy,
.result-taxonomy,
.result__meta,
.result-meta {
  margin-top: 10px;
  color: #94a3b8;
  font-size: 13px;
}


/* ================================
   9. Подсветка найденного слова
================================ */

.com-finder mark,
.finder mark,
#search-results mark {
  padding: 1px 4px;
  border-radius: 4px;
  background: #fff2a8;
  color: #333e50;
  font-weight: 700;
}


/* ================================
   10. Разделители и пагинация
================================ */

.com-finder hr,
.finder hr,
#search-results hr {
  display: none;
}

.com-finder .pagination,
.finder .pagination {
  margin-top: 26px;
}


/* ================================
   11. Мобильная адаптация
================================ */

@media (max-width: 768px) {

  .com-finder,
  .finder {
    padding: 24px 14px 44px;
  }

  .com-finder h1,
  .com-finder .page-header h1,
  .finder h1,
  .finder .page-header h1 {
    font-size: 26px;
  }

  .com-finder__search .input-group,
  .finder .finder-search .input-group {
    flex-direction: column;
  }

  .com-finder__search input[type="text"],
  .com-finder__search input[type="search"],
  .com-finder__search .btn,
  .com-finder__search button,
  .finder .finder-search input[type="text"],
  .finder .finder-search input[type="search"],
  .finder .finder-search .btn,
  .finder .finder-search button {
    width: 100%;
  }

  .com-finder__results .result,
  .com-finder__results .result__item,
  .com-finder__results-list .result,
  .com-finder__results-list .result__item,
  #search-results .result,
  #search-results .result__item,
  .result__item {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }

  .com-finder__results .result img,
  .com-finder__results .result__item img,
  .com-finder__results-list .result img,
  .com-finder__results-list .result__item img,
  #search-results .result img,
  #search-results .result__item img,
  .result__item img {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  .result__image,
  .result-image,
  .result__item-image,
  .result__figure,
  .result figure,
  .result__item figure,
  .com-finder__results figure,
  #search-results figure {
    width: 42px !important;
    height: 42px !important;
  }

  .result__title,
  .result-title,
  .com-finder__results h3,
  .com-finder__results h4,
  #search-results h3,
  #search-results h4 {
    font-size: 18px;
  }
}

@media (max-width: 640px) {

  .navbar-brand-with-search .neygen-home-search {
    display: none;
  }

  .neygen-home-search .mod-finder,
  .neygen-home-search form {
    flex-direction: column;
    align-items: stretch;
  }

  .neygen-home-search button,
  .neygen-home-search .btn {
    width: 100%;
  }
}