/* Cross-source-search — styles scoped under #tab-search so they never leak into
   the rest of the TAG-IT SPA. Ported from the portable package's discover.css. */

#tab-search {
  --ink: #000; --navy: #13384e; --navy-2: #1d4f6c;
  --gold: #8d0303; --gold-soft: #f6e8e8; --crimson: #8d0303; --green: #1e7e4f;
  --paper: #f0f2f5; --card: #fff; --text: #111; --muted: #666;
  --border: #ddd; --chip: #f0f0f0;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.04); --shadow-md: 0 2px 10px rgba(0,0,0,.10);
  --radius: 8px; --radius-sm: 6px;
  --font-body: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  --font-display: var(--font-body);
  color: var(--text); font-family: var(--font-body); direction: rtl; line-height: 1.55;
}
#tab-search * { box-sizing: border-box; }
#tab-search a { color: var(--navy-2); }
#tab-search h1, #tab-search h2, #tab-search h3 { font-family: var(--font-display); }

#tab-search .wrap { margin: 0 auto; padding: 0; min-width: 0; }
#tab-search .wrap main { min-width: 0; }

#tab-search .hint-box { background: var(--gold-soft); border: 1px solid #e3c9c9; border-radius: var(--radius); padding: 11px 14px; margin-bottom: 14px; font-size: .88rem; color: #4a2a2a; }

/* toolbar + view toggle */
#tab-search .toolbar { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 12px 14px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
#tab-search .toolbar input[type="search"] { flex: 1 1 240px; min-width: 180px; padding: 10px 13px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: .95rem; font-family: inherit; }
#tab-search .toolbar input[type="search"]:focus { outline: 2px solid var(--navy-2); border-color: var(--navy-2); }
#tab-search .toggle { font-size: .82rem; padding: 7px 12px; border: 1px solid var(--border); border-radius: 20px; background: var(--chip); cursor: pointer; user-select: none; white-space: nowrap; font-family: inherit; color: var(--ink); }
#tab-search .toggle:hover { border-color: var(--navy-2); }
#tab-search .toggle.primary { background: var(--gold); color: #fff; border-color: var(--gold); font-weight: 700; }
#tab-search .toggle.primary:hover { background: #6f0202; }
#tab-search .disc-view { display: inline-flex; border: 1px solid var(--border); border-radius: 20px; overflow: hidden; margin-inline-start: auto; }
#tab-search .disc-view .toggle { border: 0; border-radius: 0; background: #fff; }
#tab-search .disc-view .toggle:not(:last-child) { border-inline-end: 1px solid var(--border); }
#tab-search .disc-view .toggle.active { background: var(--navy); color: #fff; }

/* source selection chips */
#tab-search .disc-sources { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 8px; }
#tab-search .disc-sources-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
#tab-search .disc-sources-lbl { font-size: .84rem; color: var(--ink); font-weight: 700; }
#tab-search .disc-sources-count { font-size: .78rem; color: var(--muted); }
#tab-search .disc-src-link { border: 0; background: none; color: var(--navy-2); cursor: pointer; font-family: inherit; font-size: .78rem; font-weight: 700; padding: 0; text-decoration: underline; }
#tab-search .disc-src-link:hover { color: var(--gold); }
#tab-search .disc-chips-row { display: flex; flex-wrap: wrap; gap: 8px; }
#tab-search .disc-chip { display: inline-flex; align-items: center; gap: 3px; user-select: none; border: 1.5px solid var(--border); border-radius: 18px; padding: 3px 5px; background: #fff; font-size: .85rem; transition: border-color .12s, background .12s, opacity .12s; }
#tab-search .disc-chip.on { border-color: var(--src-color, var(--navy)); background: #fbfdff; }
#tab-search .disc-chip.off { opacity: .6; }
#tab-search .disc-chip.off:hover { opacity: .9; }
#tab-search .disc-chip-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; border: 0; background: none; font-family: inherit; font-size: inherit; color: inherit; padding: 3px 8px; border-radius: 14px; }
#tab-search .disc-chip-toggle:hover { background: rgba(0,0,0,.04); }
#tab-search .disc-chk { width: 17px; height: 17px; flex: none; border-radius: 5px; border: 1.5px solid var(--src-color, #b8b8b8); display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; color: #fff; line-height: 1; }
#tab-search .disc-chip.on .disc-chk { background: var(--src-color, var(--navy)); border-color: var(--src-color, var(--navy)); }
#tab-search .disc-chip.off .disc-chk { border-color: #b8b8b8; background: transparent; }
#tab-search .disc-chip-name { font-weight: 700; color: var(--ink); }
#tab-search .disc-chip.off .disc-chip-name { color: var(--muted); }
#tab-search .disc-chip-status { font-size: .72rem; font-style: italic; color: var(--navy-2); white-space: nowrap; }
#tab-search .disc-chip-status:empty { display: none; }
#tab-search .disc-chip-filter { border: 1px solid var(--border); background: #fff; cursor: pointer; font-family: inherit; font-size: .72rem; font-weight: 700; color: var(--muted); padding: 4px 9px; border-radius: 12px; }
#tab-search .disc-chip-filter:hover { border-color: var(--src-color, var(--navy-2)); color: var(--ink); }
#tab-search .disc-chip-filter.on { background: var(--src-color, var(--navy)); color: #fff; border-color: var(--src-color, var(--navy)); }
#tab-search .disc-chip-btn { border: 0; cursor: pointer; font-family: inherit; font-size: .74rem; font-weight: 700; padding: 4px 10px; border-radius: 12px; text-decoration: none; margin-inline-start: 2px; background: var(--src-color, var(--navy)); color: #fff; }
#tab-search .disc-chip-btn:hover { filter: brightness(.94); }

/* per-source filter box */
#tab-search .disc-srcfilter { margin: 0 0 8px; }
#tab-search .disc-srcfilter-box { border: 1px solid var(--border); border-top: 3px solid var(--src-color, var(--navy)); border-radius: var(--radius); background: #fff; padding: 9px 12px; max-width: 640px; }
#tab-search .disc-srcfilter-head { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; }
#tab-search .disc-srcfilter-name { font-weight: 700; font-size: .86rem; color: var(--ink); }
#tab-search .disc-srcfilter-lbl { font-size: .78rem; color: var(--muted); }
#tab-search .disc-srcfilter-close { margin-inline-start: auto; border: 0; background: none; cursor: pointer; color: var(--muted); font-size: .9rem; line-height: 1; padding: 2px 4px; }
#tab-search .disc-srcfilter-close:hover { color: var(--crimson); }
#tab-search .disc-fdot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
#tab-search .disc-filter-ctls { display: flex; flex-wrap: wrap; gap: 8px 14px; }
#tab-search .disc-filter-ctl { display: inline-flex; flex-direction: column; gap: 3px; font-size: .78rem; color: var(--muted); }
#tab-search .disc-filter-lbl { font-weight: 700; }
#tab-search .disc-filter-ctl input, #tab-search .disc-filter-ctl select { font-family: inherit; font-size: .82rem; padding: 4px 7px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fff; color: var(--ink); }
#tab-search .disc-filter-num { width: 90px; }

/* status line */
#tab-search .active-bar { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 12px; }
#tab-search .active-bar .lbl { font-size: .82rem; color: var(--muted); }
#tab-search .active-bar .lbl.ok { color: var(--green); font-weight: 700; }
#tab-search .active-bar .lbl.err { color: var(--crimson); font-weight: 700; }

/* results — columns (by source) */
#tab-search .disc-grid { display: flex; gap: 14px; align-items: flex-start; overflow-x: auto; padding-bottom: 10px; max-width: 100%; }
#tab-search .disc-col { flex: 1 0 300px; max-width: 400px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); border-top: 3px solid var(--src-color, var(--gold)); padding: 12px; }
#tab-search .disc-col-head { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; flex-wrap: nowrap; }
#tab-search .disc-col-head .src-badge { background: var(--src-color, var(--gold)); flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#tab-search .disc-col-count { font-size: .8rem; color: var(--muted); font-weight: 700; flex: none; }
#tab-search .disc-col-actions { display: flex; gap: 4px; align-items: center; margin-inline-start: auto; flex: none; }
#tab-search .disc-col-act { border: 1px solid var(--border); background: #fff; cursor: pointer; font-family: inherit; font-size: .72rem; font-weight: 700; color: var(--muted); padding: 2px 7px; border-radius: 10px; line-height: 1.5; white-space: nowrap; }
#tab-search .disc-col-act:hover { border-color: var(--navy-2); color: var(--navy-2); }
#tab-search .disc-col-hide { color: var(--crimson); padding: 2px 6px; }
#tab-search .disc-col-hide:hover { border-color: var(--crimson); color: #fff; background: var(--crimson); }
#tab-search .disc-attr { font-size: .74rem; color: var(--muted); margin: 0 0 10px; line-height: 1.4; }
#tab-search .disc-attr a { font-weight: 700; white-space: nowrap; }
#tab-search .disc-col-body { display: flex; flex-direction: column; gap: 9px; }
#tab-search .disc-col-msg { text-align: center; color: var(--muted); font-size: .86rem; padding: 18px 8px; }
#tab-search .disc-col-msg p { margin: 3px 0; }
#tab-search .disc-col-msg .toggle { margin-top: 8px; }
#tab-search .disc-col-msg.err { color: var(--crimson); }
#tab-search .disc-col-msg.err .muted { color: var(--muted); font-size: .78rem; word-break: break-word; }
#tab-search .disc-col-msg.queued p:first-child { font-weight: 700; color: var(--navy-2); }
#tab-search .disc-card { background: var(--card); padding: 11px 12px; }
#tab-search .disc-card .feed-title { font-size: 1rem; }

/* results — merged (by relevance) */
#tab-search .disc-merged { display: flex; flex-direction: column; gap: 10px; max-width: 900px; }
#tab-search .disc-merged .disc-card { border-inline-start: 4px solid var(--src-color, var(--gold)); }
#tab-search .disc-merged .src-badge { color: #fff; }

/* result card */
#tab-search .feed-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 14px 16px; border-inline-start: 4px solid var(--src-color, var(--gold)); transition: box-shadow .12s; }
#tab-search .feed-card:hover { box-shadow: var(--shadow-md); }
#tab-search .feed-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 7px; }
#tab-search .src-badge { font-family: var(--font-display); font-weight: 700; font-size: .76rem; color: #fff; padding: 2px 9px; border-radius: 11px; letter-spacing: .2px; }
#tab-search .feed-date { font-size: .82rem; color: var(--muted); font-weight: 700; }
#tab-search .feed-title { margin: 0 0 6px; font-size: 1.12rem; line-height: 1.4; font-weight: 700; }
#tab-search .feed-title a { color: var(--ink); text-decoration: none; }
#tab-search .feed-title a:hover { color: var(--navy-2); text-decoration: underline; }
#tab-search .feed-snippet { font-size: .9rem; color: #374151; margin: 0 0 10px; }
#tab-search .feed-chips { display: flex; flex-wrap: wrap; gap: 6px; }
#tab-search .tag { font-size: .76rem; padding: 3px 9px; border-radius: 13px; background: #eef; border: 1px solid #dde; color: #333; }
#tab-search .feed-empty { text-align: center; color: var(--muted); padding: 36px 20px; }
#tab-search .feed-empty p { margin: 4px 0; }
#tab-search .feed-empty .muted { font-size: .85rem; }

#tab-search .loading { text-align: center; color: var(--muted); padding: 24px; font-size: .9rem; }

/* ── tab bar (shared chrome for both tabs) ── */
.tagit-tabs { background: #fff; border-bottom: 1px solid #dfe3e8; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.tagit-tabs .container-fluid { display: flex; gap: 4px; padding-top: 0; padding-bottom: 0; }
.tagit-tab { appearance: none; border: 0; background: none; font-family: inherit; font-size: .98rem; font-weight: 700;
  color: #5b6b78; padding: 13px 20px; cursor: pointer; border-bottom: 3px solid transparent; display: inline-flex; align-items: center; gap: 8px; }
.tagit-tab:hover { color: #2c5364; background: #f6f8fa; }
.tagit-tab.active { color: #2c5364; border-bottom-color: #2c5364; }
.tagit-tab .tab-count { font-size: .72rem; font-weight: 700; color: #8a99a6; }
