/* Страничные стили search. Извлечено из макета v2/25-search.html. */
.search-hero{ max-width:620px; }
.res li{ border-top:1px solid var(--line); }
.res li:first-child{ border-top:0; }
.res a{ display:flex; gap:20px; align-items:baseline; padding:16px 0; text-decoration:none; color:inherit; flex-wrap:wrap; }
.res a:hover b{ color:var(--accent); text-decoration:underline; }
.res b{ font-family:var(--f-head); font-weight:600; font-size:19px; letter-spacing:-.01em; }
.res .kind{ font-size:13.5px; color:var(--ink-faint); }
.res p{ flex:1 1 320px; font-size:15px; color:var(--ink-soft); }
/* На узком экране описание не помещается рядом с названием и переносится на
   свою строку — общий gap:20px превращается в провал между строками одной
   карточки. Разводим зазоры: по вертикали почти нет, по горизонтали остаётся. */
@media (max-width:609px){
  .res a{ gap:2px 12px; padding:13px 0; }
  .res p{ flex-basis:100%; }
}

.picks{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
@media (max-width:900px){ .picks{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .picks{ grid-template-columns:minmax(0,1fr); } }
.pick{ padding:16px 18px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:4px; }
.pick b{ font-weight:600; }
.pick span{ font-size:14px; color:var(--ink-soft); }
