/* =====================================================================
   NestDaddy system layer (2026-11-08)
   Brings the search and news pages in line with /markets (gazette.css + its
   financial green). Loaded after each page's own styles; every rule starts with
   "html body:not(#nd)" so it wins over the page's inline <style> blocks without editing them.
   Remove the <link> to this file and a page returns exactly to how it was.
   ===================================================================== */
:root {
  --nd-ink: #15181e;  --nd-ink-2: #4a515c;  --nd-ink-3: #78808c;
  --nd-paper: #ffffff; --nd-band: #f4f5f7; --nd-rule: #d2d7de;
  --nd-accent: #0a7c4e; --nd-accent-d: #065c39;
  --nd-up: #0a7c4e; --nd-down: #c8102e;
  --nd-serif: "Newsreader", Georgia, "Times New Roman", serif;
  --nd-sans: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nd-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ---- one type family set, like /markets (no Geist, Inter, Segoe, JetBrains) ---- */
html body:not(#nd), html body:not(#nd) *:not(svg):not(svg *) { font-family: var(--nd-sans); }
html body:not(#nd) { color: var(--nd-ink); background: var(--nd-paper) !important; -webkit-font-smoothing: antialiased; }
html body:not(#nd) .result-description-modern { font-family: var(--nd-sans) !important; color: var(--nd-ink-2); }
html body:not(#nd) code, html body:not(#nd) pre, html body:not(#nd) kbd { font-family: var(--nd-mono); }

/* ---- header: flat, one hairline, logo on the same left edge as the content ---- */
html body:not(#nd) header.header { box-shadow: none; border-bottom: 1px solid var(--nd-rule); background: var(--nd-paper); }
html body:not(#nd) .logo-small { margin-left: 24px; text-decoration: none; }
html body:not(#nd) .logo-small, html body:not(#nd) .logo-small span {
  font-family: var(--nd-serif); font-weight: 800; font-size: 25px; letter-spacing: -0.02em; color: var(--nd-ink);
}
html body:not(#nd) .logo-small .logo-daddy { color: var(--nd-accent); }
html body:not(#nd) .search-input-header {
  background: var(--nd-paper); border: 1px solid var(--nd-rule); border-radius: 2px;
  font-size: 15px; color: var(--nd-ink); box-shadow: none;
}
html body:not(#nd) .search-input-header:focus { border-color: var(--nd-ink); outline: none; box-shadow: none; }
html body:not(#nd) .search-button-header {
  background: var(--nd-ink); color: #fff; border: 0; border-radius: 2px;
  font-weight: 600; font-size: 13px; letter-spacing: .04em; text-transform: uppercase;
}
html body:not(#nd) .search-button-header:hover { background: #000; }

/* ---- page band: white like /markets, not grey ---- */
html body:not(#nd) .results-container { background: var(--nd-paper) !important; }

/* ---- section tabs: the /markets nav (uppercase, one green underline, no boxes) ---- */
html body:not(#nd) a.tab {
  font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--nd-ink-3); background: none; border-radius: 0; box-shadow: none;
  border-bottom: 2px solid transparent;
}
html body:not(#nd) a.tab:hover { color: var(--nd-ink); }
html body:not(#nd) a.tab.active { color: var(--nd-ink); border-bottom-color: var(--nd-accent); }

/* ---- sort and category filters: plain inline text, no pills, no floating box ---- */
html body:not(#nd) a.sort-option, html body:not(#nd) a.filter-btn {
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 6px 0 !important; margin-right: 22px; font-size: 14px; font-weight: 500; color: var(--nd-ink-3) !important;
}
html body:not(#nd) a.sort-option:hover, html body:not(#nd) a.filter-btn:hover { color: var(--nd-ink) !important; }
html body:not(#nd) a.sort-option.active, html body:not(#nd) a.filter-btn.active {
  color: var(--nd-ink) !important; font-weight: 700; text-decoration: underline;
  text-decoration-color: var(--nd-accent); text-decoration-thickness: 2px; text-underline-offset: 6px;
}
html body:not(#nd) .global-news-filters { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0 0 6px; }

/* ---- location picker: a quiet control; the help button goes ---- */
html body:not(#nd) .location-select {
  border: 1px solid var(--nd-rule); border-radius: 2px; box-shadow: none; background: var(--nd-paper);
  font-size: 13px; color: var(--nd-ink-2);
}
html body:not(#nd) .tips-button { display: none !important; }
/* sort buttons and the location row stay hidden (owner 2026-11-08: "remove.. tapi search mmg detect ikut location
   user... cuma user xnampak mcm google"). Their elements stay in the page, so location detection keeps working. */
html body:not(#nd) .sort-options, html body:not(#nd) .location-filter { display: none !important; }
html body:not(#nd) #detectedLocation { font-style: normal; color: var(--nd-ink-3) !important; font-weight: 400 !important; font-size: 13px; }
html body:not(#nd) .global-news-filters label { display: none; }

/* ---- prices: the /markets "markets in brief" table, flat ---- */
html body:not(#nd) .price-widget { border: 0; border-top: 2px solid var(--nd-ink); border-radius: 0; box-shadow: none; background: none; }
html body:not(#nd) .price-widget-header { background: none; border: 0; padding-left: 0; padding-right: 0; }
html body:not(#nd) .price-widget-header, html body:not(#nd) .price-widget-header * {
  font-family: var(--nd-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nd-ink);
}
html body:not(#nd) .crypto-item { background: none; border: 0; border-left: 1px solid var(--nd-rule); border-radius: 0; box-shadow: none; }
html body:not(#nd) .crypto-item * { font-variant-numeric: tabular-nums; }

/* ---- web results: serif headline, ink, no floating thumbnails or empty boxes ---- */
html body:not(#nd) a.result-title-modern {
  font-family: var(--nd-serif); font-weight: 600; font-size: 21px; line-height: 1.25; color: var(--nd-ink); letter-spacing: -0.01em;
}
html body:not(#nd) a.result-title-modern:visited { color: #3d3550; }
html body:not(#nd) a.result-title-modern:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
html body:not(#nd) .result-thumbnail { border-radius: 0; box-shadow: none; }
html body:not(#nd) .result-thumbnail:not(:has(img)) { display: none; }

/* ---- news cards (results carousels and the World/Country/Tech tabs): no shadows, no floating cards ---- */
html body:not(#nd) a.news-card, html body:not(#nd) .global-news-card {
  background: none !important; border: 0 !important; border-top: 1px solid var(--nd-rule) !important;
  border-radius: 0 !important; box-shadow: none !important;
}
html body:not(#nd) .global-news-card:hover, html body:not(#nd) a.news-card:hover { box-shadow: none !important; transform: none !important; }
html body:not(#nd) .global-news-image, html body:not(#nd) .global-news-image img { border-radius: 0; }
html body:not(#nd) .global-news-title {
  font-family: var(--nd-serif); font-weight: 700; color: var(--nd-ink); letter-spacing: -0.01em;
}
html body:not(#nd) .global-news-badge, html body:not(#nd) .global-news-badge-header {
  font-family: var(--nd-mono); font-size: 10px; font-weight: 600; letter-spacing: .1em;
  background: var(--nd-ink) !important; color: #fff !important; border-radius: 0; box-shadow: none;
}
html body:not(#nd) .global-news-badge.breaking, html body:not(#nd) .global-news-badge-header.breaking { background: var(--nd-down) !important; }
