/* Живой поиск loadfile.ru (Этап 1). Палитра — токены сайта (assets/site.css / inline главной). */
.lf-search{position:relative;max-width:560px;margin:0}
.lf-search__field{display:flex;align-items:center;gap:10px;background:var(--surface,#fff);
  border:1px solid var(--border-strong,#cdd5e0);border-radius:14px;padding:0 16px;
  transition:border-color .2s,box-shadow .2s}
.lf-search__field:focus-within{border-color:var(--brand,#4f6ef7);box-shadow:0 0 0 4px var(--glow,rgba(79,110,247,.18))}
.lf-search__ico{flex:0 0 auto;color:var(--text-mute,#8a93a6)}
.lf-search__input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;
  color:var(--text,#1a2030);padding:15px 0}
.lf-search__input::placeholder{color:var(--text-mute,#8a93a6)}
.lf-search__clear{border:0;background:transparent;color:var(--text-mute,#8a93a6);font-size:22px;line-height:1;
  cursor:pointer;padding:4px;display:none}
.lf-search__clear.is-on{display:inline-flex}
.lf-search__panel{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 10px);
  background:var(--surface,#fff);border:1px solid var(--border,#e3e8f0);border-radius:14px;
  box-shadow:var(--shadow,0 24px 60px -20px rgba(20,30,60,.35));overflow:hidden;display:none}
.lf-search__panel.is-open{display:block}
.lf-search__hint{padding:15px 18px;font-size:.85rem;color:var(--text-mute,#8a93a6)}
.lf-search__res{display:flex;flex-direction:column;max-height:62vh;overflow-y:auto}
.lf-search__item{display:flex;align-items:baseline;gap:12px;padding:13px 18px;text-decoration:none;
  color:var(--text,#1a2030);border-bottom:1px solid var(--border,#e3e8f0)}
.lf-search__item:last-child{border-bottom:0}
.lf-search__item:hover,.lf-search__item.is-active{background:var(--bg-2,#f4f7fc)}
.lf-search__badge{flex:0 0 auto;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;
  color:var(--brand,#4f6ef7);background:var(--glow,rgba(79,110,247,.14));border-radius:999px;padding:3px 9px}
.lf-search__ttl{font-size:.95rem;font-weight:600;line-height:1.32}
.lf-search__ttl mark{background:#fff2bf;color:inherit;padding:0 2px;border-radius:3px}
/* На тёмных hero-фонах подсказка под полем читается без правок — поле само светлое (surface). */
@media(max-width:560px){.lf-search__ttl{font-size:.9rem}}

/* ===== Кнопка-лупа в шапке (на всех страницах) ===== */
.hsearch{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
  border-radius:11px;border:1px solid var(--border-strong,#cdd5e0);background:var(--surface,#fff);
  color:var(--text-dim,#48526a);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.hsearch:hover{border-color:var(--brand,#4f6ef7);color:var(--brand,#4f6ef7)}
.hsearch:focus-visible{outline:none;border-color:var(--brand,#4f6ef7);box-shadow:0 0 0 4px var(--glow,rgba(79,110,247,.18))}

/* ===== Модалка поиска (оверлей) ===== */
html.lf-modal-open{overflow:hidden}
.lf-modal{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;
  align-items:flex-start;padding:12vh 16px 16px}
.lf-modal[hidden]{display:none}
.lf-modal__bg{position:absolute;inset:0;background:rgba(15,22,42,.5);backdrop-filter:blur(3px)}
.lf-modal__card{position:relative;width:100%;max-width:600px;background:var(--surface,#fff);
  border:1px solid var(--border,#e3e8f0);border-radius:18px;
  box-shadow:var(--shadow,0 30px 80px -24px rgba(20,30,60,.45));overflow:hidden;
  animation:lf-modal-in .16s ease-out}
@keyframes lf-modal-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lf-modal__field{border:0;border-bottom:1px solid var(--border,#e3e8f0);border-radius:0;padding:4px 16px}
.lf-modal__field:focus-within{box-shadow:none}
.lf-modal__input{padding:18px 0;font-size:1.08rem}
.lf-modal__esc{flex:0 0 auto;border:1px solid var(--border,#e3e8f0);background:var(--bg-2,#f4f7fc);
  color:var(--text-mute,#8a93a6);font:inherit;font-size:.7rem;letter-spacing:.04em;
  border-radius:7px;padding:4px 8px;cursor:pointer;text-transform:uppercase}
.lf-modal__esc:hover{color:var(--text,#1a2030)}
.lf-modal__scope{display:flex;gap:8px;padding:12px 16px 4px;flex-wrap:wrap}
.lf-chip{border:1px solid var(--border-strong,#cdd5e0);background:var(--surface,#fff);
  color:var(--text-dim,#48526a);font:inherit;font-size:.82rem;border-radius:999px;
  padding:6px 13px;cursor:pointer;transition:.18s}
.lf-chip:hover{border-color:var(--brand,#4f6ef7)}
.lf-chip.is-on{background:var(--brand,#4f6ef7);border-color:var(--brand,#4f6ef7);color:#fff}
.lf-modal__res{display:flex;flex-direction:column;max-height:56vh;overflow-y:auto;padding:6px 0}
.lf-modal__res .lf-search__item{border-bottom:1px solid var(--border,#e3e8f0)}
.lf-modal__res .lf-search__item:last-child{border-bottom:0}
@media(max-width:560px){.lf-modal{padding:8vh 10px 10px}.lf-modal__input{font-size:1rem}}
