/* ──────────────────────────────────────────────────────────────────────────
   Vice Neon (.vn) — етап 3a: сторінка пошуку (views/_search_vn.erb, SearchB.dc.html).
   Під html.vn:not([data-section="admin"]) .vn-search — нуль впливу на інші .vn-сторінки.
   ────────────────────────────────────────────────────────────────────────── */

html.vn:not([data-section="admin"]) .vn-search { display: flex; flex-direction: column; gap: 24px; }

/* ─── Шапка пошуку ───────────────────────────────────────────────────────── */
html.vn:not([data-section="admin"]) .vs-hero { display: flex; flex-direction: column; gap: 12px; max-width: 860px; width: 100%; margin: 0 auto; text-align: center; }
html.vn:not([data-section="admin"]) .vs-h1 {
  margin: 0; font-family: var(--vn-font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(28px, 4vw, 44px); line-height: 1;
}
html.vn:not([data-section="admin"]) .vs-box { position: relative; }
html.vn:not([data-section="admin"]) .vs-field {
  display: flex; align-items: center; gap: 12px; height: 60px; padding: 0 16px; border-radius: 20px;
  background: rgba(255, 255, 255, .05); border: 2px solid rgba(255, 255, 255, .14);
}
html.vn:not([data-section="admin"]) .vs-field:has(.vs-field__in:focus) { border-color: var(--vn-cyan); box-shadow: 0 0 0 6px rgba(46, 230, 214, .12); }
html.vn:not([data-section="admin"]) .vs-field__ic { width: 20px; height: 20px; color: var(--vn-cyan); flex: none; }
html.vn:not([data-section="admin"]) .vs-field__in { flex: 1; min-width: 0; border: 0; background: none; outline: none; color: var(--vn-text); font: 700 17px var(--vn-font-body); }
html.vn:not([data-section="admin"]) .vs-field__in::placeholder { color: var(--vn-muted); }
html.vn:not([data-section="admin"]) .vs-field__clear {
  width: 32px; height: 32px; flex: none; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08);
  color: var(--vn-muted); font-size: 16px;
}
html.vn:not([data-section="admin"]) .vs-hint { margin: 0; font-size: 13.5px; color: var(--vn-muted); }

/* ─── Автопідказки ───────────────────────────────────────────────────────── */
html.vn:not([data-section="admin"]) .vs-sug {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; padding: 8px; border-radius: 18px;
  background: #1A1428; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 30px 70px rgba(0, 0, 0, .6);
  display: flex; flex-direction: column; gap: 2px;
}
html.vn:not([data-section="admin"]) .vs-sug__it {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; text-decoration: none;
  color: var(--vn-text); background: transparent;
}
html.vn:not([data-section="admin"]) .vs-sug__it.is-sel { background: rgba(255, 255, 255, .08); }
html.vn:not([data-section="admin"]) .vs-sug__ic { width: 32px; height: 32px; flex: none; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, .06); color: var(--vn-cyan); }
html.vn:not([data-section="admin"]) .vs-sug__ic svg { width: 16px; height: 16px; }
html.vn:not([data-section="admin"]) .vs-sug__t { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.vn:not([data-section="admin"]) .vs-sug__t mark { background: rgba(255, 226, 122, .25); color: var(--vn-yellow); border-radius: 4px; padding: 0 1px; }
html.vn:not([data-section="admin"]) .vs-sug__k { font-size: 12px; color: var(--vn-muted-2); flex: none; }

/* ─── Таби й групи результатів ───────────────────────────────────────────── */
html.vn:not([data-section="admin"]) .vs-tabs { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
html.vn:not([data-section="admin"]) .vs-tab {
  height: 40px; padding: 0 16px; border-radius: var(--vn-radius-pill); border: 1px solid rgba(255, 255, 255, .1);
  background: transparent; color: var(--vn-text-2); font-weight: 800;
}
html.vn:not([data-section="admin"]) .vs-tab.is-on { border-color: var(--vn-cyan); background: rgba(46, 230, 214, .14); color: var(--vn-cyan); }
html.vn:not([data-section="admin"]) .vs-tab__n { font-family: var(--vn-font-mono); font-size: 12px; opacity: .7; }
html.vn:not([data-section="admin"]) .vs-groups { display: flex; flex-direction: column; gap: 18px; max-width: 980px; width: 100%; margin: 0 auto; }
html.vn:not([data-section="admin"]) .vs-group__h { font-family: var(--vn-font-display); font-weight: 800; font-size: 14px; text-transform: uppercase; color: var(--vn-cyan); margin-bottom: 8px; }
html.vn:not([data-section="admin"]) .vs-group__rows { display: flex; flex-direction: column; gap: 8px; }
html.vn:not([data-section="admin"]) .vs-row {
  display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 18px; background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .07); color: var(--vn-text); text-decoration: none;
}
html.vn:not([data-section="admin"]) .vs-row__ic { position: relative; width: 44px; height: 44px; flex: none; border-radius: 14px; display: grid; place-items: center; background: rgba(46, 230, 214, .12); color: var(--vn-cyan); overflow: hidden; }
html.vn:not([data-section="admin"]) .vs-row__ic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
html.vn:not([data-section="admin"]) .vs-row__ph { display: none; align-items: center; justify-content: center; }
html.vn:not([data-section="admin"]) .vs-row__t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
html.vn:not([data-section="admin"]) .vs-row__t b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.vn:not([data-section="admin"]) .vs-row__s { font-size: 12.5px; color: var(--vn-muted); }
