/* ============================================================
   search.css — страница поиска и подсветка
   ============================================================ */

.search-form {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin: 0 0 20px;
}
.search-form-input {
    position: relative; flex: 1 1 320px;
}
.search-form-input > svg {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; color: var(--text-mute);
}
.search-form-input input {
    width: 100%; padding: 12px 14px 12px 42px;
    background: var(--panel-deep); border: 1px solid var(--border);
    border-radius: var(--r-sm); color: var(--text);
    font: inherit; font-size: 15px; outline: none;
}
.search-form-input input:focus { border-color: var(--accent-30); background: var(--accent-10); }

.search-hint {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 14px 16px; border-radius: var(--r-sm);
    background: var(--accent-10); border: 1px solid var(--accent-30);
    color: var(--text-dim); font-size: 14px; margin-bottom: 20px;
}
.search-hint svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--accent); margin-top: 2px; }
.search-hint-warn { background: rgba(120,53,15,.2); border-color: #92400e; color: #fde68a; }
.search-hint-warn svg { color: #fcd34d; }

.search-tabs {
    display: flex; flex-wrap: wrap; gap: 6px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.search-tab {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: var(--r-sm);
    color: var(--text-dim); text-decoration: none;
    font-size: 14px;
    transition: background-color .15s, color .15s;
}
.search-tab:hover { background: var(--accent-10); color: var(--accent); text-decoration: none; }
.search-tab.active { background: var(--accent); color: #fff; }
.search-tab-count {
    padding: 1px 7px; border-radius: 999px;
    background: rgba(0,0,0,.15);
    font-size: 12px;
}

.search-summary {
    font-size: 14px; color: var(--text-dim);
    margin: 0 0 20px;
}

.search-group { margin-bottom: 28px; }
.search-group-title {
    display: flex; align-items: center; gap: 8px;
    font-size: 14px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .06em; color: var(--text-mute);
    margin: 0 0 10px;
}
.search-group-title svg { width: 18px; height: 18px; color: var(--accent); }
.search-group-count {
    padding: 1px 8px; border-radius: 999px;
    background: var(--panel-deep); border: 1px solid var(--border);
    color: var(--text-mute); font-size: 11px; font-weight: 500;
}

.search-results { display: flex; flex-direction: column; gap: 8px; }
.search-result {
    display: block; padding: 14px 16px;
    background: var(--panel-soft); border: 1px solid var(--border);
    border-radius: var(--r-sm); color: var(--text);
    text-decoration: none;
    transition: border-color .15s, background-color .15s;
}
.search-result:hover {
    border-color: var(--accent-30); background: var(--accent-10);
    text-decoration: none;
}
.search-result-title {
    font-weight: 600; font-size: 15px;
    color: var(--text); margin-bottom: 4px;
}
.search-result:hover .search-result-title { color: var(--accent); }
.search-result-snippet {
    font-size: 13.5px; color: var(--text-dim);
    line-height: 1.55; margin-bottom: 6px;
}
.search-result-meta {
    font-size: 12px; color: var(--text-mute);
}

mark {
    background: var(--accent);
    color: #fff;
    padding: 0 2px;
    border-radius: 3px;
}
html[data-theme='light'] mark { background: #fcd34d; color: #1a1a1a; }

@media (max-width: 640px) {
    .search-form { flex-direction: column; }
    .search-form-input { flex: 1 1 auto; }
    .search-tab { padding: 6px 10px; font-size: 13px; }
    .search-result { padding: 12px; }
}