/* Главная: поиск по сайту (_HomeSearch). Компактный в покое, раскрывается при фокусе и вводе. */
.ssearch { position: relative; z-index: 30; max-width: 760px; margin: 4px auto 28px; padding: 0 16px; transition: max-width .25s ease; }
.ssearch.is-active { max-width: 1288px; }

.ssearch__bar {
  position: relative; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 12px 0 18px;
  background: var(--card, #fff); border: 1px solid var(--line, #e4e6e2); border-radius: 999px;
  box-shadow: 0 6px 20px -14px rgba(20,24,26,.35); transition: border-color .15s, box-shadow .15s;
}
.ssearch.is-active .ssearch__bar { border-color: var(--green-500, #3c8b4f); box-shadow: 0 10px 30px -16px rgba(31,107,54,.45); }
.ssearch__ico { width: 20px; height: 20px; color: var(--green-700, #1f6b36); flex: none; }
.ssearch__input {
  flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 16px; color: var(--ink, #14181a);
}
.ssearch__input::placeholder { color: var(--muted, #7c868a); }
.ssearch__input::-webkit-search-cancel-button { display: none; }
.ssearch__clear {
  width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--line-2, #eef0ec); color: var(--ink-3, #4a5256);
  display: grid; place-items: center; cursor: pointer; flex: none;
}
.ssearch__clear svg { width: 16px; height: 16px; }
.ssearch__spin {
  width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line, #e4e6e2); border-top-color: var(--green-600, #2c7a3f);
  animation: ssearch-spin .7s linear infinite; flex: none;
}
@keyframes ssearch-spin { to { transform: rotate(360deg); } }

.ssearch__hints { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding: 0 6px; }
.ssearch__hints-label { font-size: 13px; color: var(--muted, #7c868a); margin-right: 2px; }
.ssearch__hint {
  padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line, #e4e6e2); background: var(--card, #fff);
  font: inherit; font-size: 13.5px; color: var(--ink-2, #2b3134); cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.ssearch__hint:hover { background: var(--green-50, #eef5ea); border-color: var(--green-50, #eef5ea); color: var(--green-700, #1f6b36); }

.ssearch__panel {
  position: absolute; left: 16px; right: 16px; top: 62px; max-height: min(72vh, 680px); overflow: auto;
  background: var(--card, #fff); border: 1px solid var(--line, #e4e6e2); border-radius: 22px;
  box-shadow: 0 24px 60px -24px rgba(20,24,26,.35); padding: 18px;
}
.ssearch__cols { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.ssearch__group + .ssearch__group { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-2, #eef0ec); }
.ssearch__ghead { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3, #4a5256); }
.ssearch__ghead svg { width: 16px; height: 16px; color: var(--green-700, #1f6b36); }
.ssearch__count { padding: 1px 8px; border-radius: 999px; background: var(--line-2, #eef0ec); font-size: 11.5px; letter-spacing: 0; color: var(--ink-3, #4a5256); }
.ssearch__more { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; letter-spacing: 0; text-transform: none; font-weight: 700; color: var(--green-700, #1f6b36); text-decoration: none; }
.ssearch__more svg { width: 14px; height: 14px; }

.ssearch__item {
  display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  padding: 8px 10px; margin: 0 -10px; border-radius: 12px; text-decoration: none; color: var(--ink, #14181a);
}
.ssearch__item.is-sel, .ssearch__item:hover { background: var(--green-50, #eef5ea); }
.ssearch__thumb { width: 64px; height: 48px; border-radius: 9px; overflow: hidden; background: var(--line-2, #eef0ec); display: grid; place-items: center; }
.ssearch__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssearch__thumb svg { width: 20px; height: 20px; color: var(--green-700, #1f6b36); }
.ssearch__body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ssearch__title { font-size: 15px; font-weight: 700; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ssearch__text { font-size: 13px; line-height: 1.4; color: var(--ink-3, #4a5256); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ssearch__meta { font-size: 12.5px; color: var(--muted, #7c868a); white-space: nowrap; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.ssearch mark { background: #fff1b8; color: inherit; border-radius: 3px; padding: 0 1px; }

.ssearch__side { position: sticky; top: 0; }
.ssearch__fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ssearch__foto { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--line-2, #eef0ec); outline: 2px solid transparent; outline-offset: 2px; transition: outline-color .15s; }
.ssearch__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; transform-origin: 100% 100%; }
.ssearch__foto:hover img { transform: scale(1.05); }
.ssearch__foto.is-sel { outline-color: var(--green-600, #2c7a3f); }

.ssearch__empty { padding: 10px 6px; }
.ssearch__empty b { font-size: 16px; }
.ssearch__empty p { margin: 6px 0 14px; color: var(--ink-3, #4a5256); font-size: 14px; }
.ssearch__empty-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ssearch__empty-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--green-50, #eef5ea); color: var(--green-700, #1f6b36); font-weight: 700; font-size: 14px; text-decoration: none; }
.ssearch__empty-btn svg { width: 16px; height: 16px; }

/* Секция-обёртка: заметный блок с заголовком и пояснением (владелец 2026-10-18). */
.ssearch-wrap {
  position: relative; z-index: 30; margin: 8px 56px 40px; padding: 36px 40px 30px; border-radius: 28px;
  background: linear-gradient(180deg, #eef5ea 0%, #f6faf3 100%); border: 1px solid #dcebd5;
}
.ssearch-wrap__head { text-align: center; max-width: 820px; margin: 0 auto 22px; }
.ssearch-wrap__head h2 { font-family: 'Lora', Georgia, serif; font-weight: 600; font-size: 40px; line-height: 1.08; margin: 8px 0 12px; color: var(--ink, #14181a); }
.ssearch-wrap__sub { margin: 0 auto; max-width: 680px; font-size: 16px; line-height: 1.5; color: var(--ink-3, #4a5256); }
.ssearch-wrap__kinds { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 16px 0 0; padding: 0; }
.ssearch-wrap__kinds li { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--green-700, #1f6b36); }
.ssearch-wrap__kinds svg { width: 16px; height: 16px; }
.ssearch-wrap .ssearch { margin: 0 auto; max-width: 860px; padding: 0; }
.ssearch-wrap .ssearch.is-active { max-width: 1100px; }
.ssearch-wrap .ssearch__bar { height: 60px; box-shadow: 0 10px 28px -16px rgba(31,107,54,.4); }
.ssearch-wrap .ssearch__hints { justify-content: center; }
.ssearch-wrap .ssearch__panel { left: 0; right: 0; top: 68px; }

/* ——— Встроенная выдача (не всплывающее окно): раздвигает страницу, группы карточками ——— */
.ssearch-wrap .ssearch.has-results { max-width: none; }
.ssearch__results { margin-top: 22px; text-align: left; }
.ssearch__rhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 2px 14px; font-size: 15px; color: var(--ink-3, #4a5256); }
.ssearch__rhead b { color: var(--ink, #14181a); }
.ssearch__reset { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line, #e4e6e2); background: #fff; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--ink-2, #2b3134); cursor: pointer; }
.ssearch__reset:hover { border-color: var(--green-500, #3c8b4f); color: var(--green-700, #1f6b36); }
.ssearch__reset svg, .ssearch__more svg, .ssearch__empty-btn svg { width: 15px; height: 15px; }
.ssearch__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.ssearch__results .ssearch__group { background: #fff; border: 1px solid var(--line, #e4e6e2); border-radius: 18px; padding: 14px 16px 10px; margin: 0; }
.ssearch__results .ssearch__group + .ssearch__group { margin-top: 0; padding-top: 14px; border-top: 1px solid var(--line, #e4e6e2); }
.ssearch__group--foto { grid-column: 1 / -1; }
.ssearch__gico { display: inline-flex; }
.ssearch__gico svg { width: 16px; height: 16px; color: var(--green-700, #1f6b36); }
.ssearch__list { display: flex; flex-direction: column; }
.ssearch__item[data-sel="true"] { background: var(--green-50, #eef5ea); }
.ssearch__thumb > span { display: grid; place-items: center; width: 100%; height: 100%; }
.ssearch__thumb svg { width: 20px; height: 20px; color: var(--green-700, #1f6b36); }
.ssearch__results .ssearch__fotos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 4px 0 6px; }
.ssearch__results .ssearch__foto { display: block; position: relative; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--line-2, #eef0ec); outline: 2px solid transparent; outline-offset: 2px; }
.ssearch__results .ssearch__foto .ssearch__thumb { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
.ssearch__results .ssearch__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; transform-origin: 100% 100%; }
.ssearch__results .ssearch__foto:hover img { transform: scale(1.05); }
.ssearch__results .ssearch__foto[data-sel="true"] { outline-color: var(--green-600, #2c7a3f); }
.ssearch__results .ssearch__empty { background: #fff; border: 1px solid var(--line, #e4e6e2); border-radius: 18px; padding: 18px 20px; }

/* Шапка блока: строка поиска ближе к заголовку, текст без висячих строк (владелец 2026-10-18). */
.ssearch-wrap { padding-top: 30px; }
.ssearch-wrap__head { margin-bottom: 16px; max-width: 900px; }
.ssearch-wrap__head h2 { margin: 6px 0 8px; }
.ssearch-wrap__sub { max-width: 760px; text-wrap: balance; }
.ssearch-wrap__kinds { margin-top: 12px; }

/* «Возможно, вы имели в виду»: похожие запросы + близкие услуги карточками. */
.ssearch__related { margin-top: 16px; text-align: left; }
.ssearch__rel-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ssearch__rel-label, .ssearch__rel-title { font-size: 13.5px; font-weight: 700; color: var(--ink-3, #4a5256); }
.ssearch__rel-title { margin: 16px 2px 10px; }
.ssearch__rel-title span { color: var(--green-700, #1f6b36); }
.ssearch__rel-cards { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(180px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.ssearch__rel-card { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 8px 8px 12px; border-radius: 16px; background: #fff; border: 1px solid var(--line, #e4e6e2); text-decoration: none; color: var(--ink, #14181a); transition: border-color .15s, box-shadow .15s, transform .15s; }
.ssearch__rel-card:hover { border-color: var(--green-500, #3c8b4f); box-shadow: 0 8px 22px -16px rgba(31,107,54,.5); transform: translateY(-2px); }
.ssearch__rel-pic { display: block; aspect-ratio: 4 / 3; border-radius: 11px; overflow: hidden; background: var(--line-2, #eef0ec); margin-bottom: 6px; }
.ssearch__rel-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssearch__rel-name { font-size: 14.5px; font-weight: 700; line-height: 1.3; padding: 0 4px; }
.ssearch__rel-text { font-size: 12.5px; line-height: 1.35; color: var(--ink-3, #4a5256); padding: 0 4px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.ssearch__related + .ssearch__rhead { margin-top: 22px; }

/* Близость: надпись «Поиск по сайту» прижата к заголовку (глобальный .eyebrow даёт 28px снизу). */
.ssearch-wrap .eyebrow { margin-bottom: 8px; }
.ssearch-wrap__head h2 { margin-top: 0; }
/* Карточки «Возможно, вам подойдёт»: запас сверху под подъём и обводку при наведении (overflow-x обрезал её). */
.ssearch__rel-cards { padding: 6px 2px 8px; margin: -6px -2px 0; }
/* Строка разделов отделена от поясняющего текста (владелец 2026-10-18: «всё сливается»). */
.ssearch-wrap__kinds { margin-top: 22px; }
.ssearch-wrap__head { margin-bottom: 22px; }
/* Превью «Возможно, вам подойдёт»: картинка 480px под карточку ~220px (×2 для retina), без растяжения. */
.ssearch__rel-cards { grid-auto-columns: minmax(200px, 240px); }
.ssearch__rel-pic img { image-rendering: auto; }
