/*
Theme Name: NewzQuest
Theme URI: https://newzquest.in
Description: World-class AI-powered multilingual news portal — bilingual EN/HI, Quick Read/Full Story, Google Discover optimised, full JSON-LD schema, NShorts PWA integration, Groq AI summaries, TradingView market dashboard. Built for maximum page views, Core Web Vitals, and revenue.
Author: NewzQuest
Author URI: https://newzquest.in
Version: 9.15
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary
License URI: https://newzquest.in/terms/
Text Domain: newzquest
Tags: news, bilingual, hindi, multilingual, polylang, ai, google-discover, schema, tradingview, dark-mode, amp-compatible

Changelog 9.5 — Bug fixes, monetization strategy, mobile-first & performance:

- Language toggle (topbar EN/HI flags) was pure decoration — the
  buttons had a data-lang attribute but NO click handler or href
  anywhere in the theme. Now real links using Polylang's own
  pll_the_languages() URLs, so switching language lands on the correct
  translated version of whatever page you're on. Also fixed a class-
  name mismatch (active vs .nq-flag-active) that meant the current
  language was never visually highlighted even before this.
- Ticker speed: removed a redundant, conflicting wp_head duplicate of
  the speed-setting script (different fallback default than the
  authoritative wp_footer one — 40 vs the real Customizer default of
  26), which made "why doesn't the speed change" hard to diagnose.
- Dropped the fake "AI Sentiment Analysis" widget on single posts — it
  computed Positive/Neutral/Negative % from a plain formula based on
  post ID and comment count, not real analysis. Removed rather than
  relabeled.
- Removed automatic page creation/duplication entirely (nq_create_
  standard_pages, ran on theme activation) — the theme no longer
  creates, duplicates, or overwrites any Page. Existing page-*.php
  templates still work exactly the same once a Page is created manually
  and the template picked under Page Attributes.
- Most Read widget post count was hardcoded to 5 — now configurable
  under Customize → NewzQuest Content Settings.
- Monetization: added a sitewide Ad Density control (Standard / Light /
  Off) to moderate overall ad load; the homepage slot directly under
  the hero banner now defaults OFF (ads shouldn't compete with the
  first thing a visitor sees); unfilled slots now render an on-brand
  NewzQuest placeholder instead of an empty box; wired up two
  previously-registered-but-never-called slots (sidebar_top,
  article_after_para_3) that had Customizer toggles doing nothing.
- Social icons: removed a second, conflicting CSS definition of the
  same .nq-tsoc class (plain grey square vs. branded circular — two
  rules fighting the cascade); touch targets now widen to 32px with
  more breathing room below 600px.
- Gallery page template had no pagination at all — always showed only
  the newest 24 photos with no way to reach older ones. Fixed.
- New inc/performance.php: lazy-loads/async-decodes images sitewide,
  defers TradingView's third-party script until its container actually
  scrolls into view, adds preconnect/dns-prefetch hints for the
  external hosts the theme calls, strips unused WP front-end weight
  (emoji script, oEmbed discovery, RSD/WLW links, jQuery Migrate), and
  sets viewport-fit=cover for notched phones.
- New inc/auto-archive.php: a daily WP-Cron batch flags posts past a
  configurable age (default 365 days) as "archived" — nothing is
  unpublished or hidden, but archived posts stop being candidates for
  Trending Now / Most Read ranking, which is both editorially correct
  (old posts shouldn't out-rank this week's news on accumulated views)
  and a lighter query going forward.

Changelog 9.3 — Bilingual homepage fixes (new: inc/language-tabs.php):

- Category Tabs Section (homepage) previously showed a hardcoded English
  slug list (india/world/business/sports/technology/entertainment) on
  every visit regardless of language, and would silently show nothing
  useful on the Hindi homepage if those exact slugs didn't exist in
  Hindi. It's now driven by per-language settings under Customize →
  NewzQuest Content Settings → Category Tabs (Per Language) — Hindi and
  English tabs are fully independent, each with its own auto-pick
  fallback (busiest categories in that language).
- Trending Now (homepage "Latest News + Trending" row) ranked posts by
  comment count site-wide with no language filter at all, so a Hindi
  post's comments could rank it into the English homepage's list and
  vice versa. Ranking now always stays inside the visitor's current
  language (see nq_trending_query() in inc/language-tabs.php); ranking
  source and count are configurable from the same Customizer section.
- Homepage section labels (Default Hero Grid, Newspaper Pro,
  High-Density Grid, You May Have Missed, Latest Podcasts, Trending Now)
  are now registered with Polylang via pll_register_string(), so they
  can be translated per-language from Languages → Strings Translation
  in wp-admin — no .po/.mo files required, and no more identical label
  text showing on both the English and Hindi homepage.
- New page-topic-hub.php page template: a reusable landing page built
  entirely from existing, already-bilingual homepage building blocks
  (Category Tabs, Trending Now, Author Spotlight) — a working example
  for adding more pages to the theme without duplicating language logic.

Changelog 9.0 — Professional Upgrade (free-tier, deployable):

- Began breaking up the functions.php monolith into focused /inc/ modules,
  following the same require_once pattern already used for Category &
  Menu Sync: nav/social-icon walkers, Podcast CPT + RSS, Weather/AQI, and
  core SEO (canonical/meta/robots.txt) each now live in their own file.
  Behavior is unchanged — this is a structural refactor, verified with
  php -l on every file plus a full duplicate-function-name check. The
  rest of functions.php (Customizer, tickers, homepage widgets) is left
  as-is for now — those are larger, more interdependent blocks that need
  a slower, more careful extraction in a future pass rather than a rushed
  one alongside everything else.
- New monetization slot system (inc/ad-slots.php): six named placements
  (homepage after-hero, mid-feed, before-footer; article after-3rd-para,
  end-of-article; sidebar-top), each with its own Customizer on/off
  toggle and a dedicated WP action hook (nq_ad_slot_{id}) plus a generic
  nq_ad_slot action. No ad network is wired in — this only reserves the
  architecture (and the layout space, to avoid Core Web Vitals shift)
  so adding AdSense/affiliate content later is a hook, not a redesign.
- Fixed the actual root cause of "ticker speed setting has no visible
  effect": the JS duration calculation clamped to a 35s floor / 400s
  ceiling that swallowed most of the Customizer's speed range. The clamp
  is now much looser (6s–900s), so the full slider range is audible.
- Fixed the topbar weather widget "not looking good": it was reusing the
  full sidebar weather card's CSS (18px padding, border, drop shadow)
  with zero compact-specific styling of its own, so it rendered as a
  boxed card floating inline in a single-line topbar. Now has real
  compact styling (small inline icon + temp + city, no card chrome).
- Category dropdowns are now a 2-column panel on desktop (TOI-style),
  instead of one long single-file list, for sections with several
  subcategories.
- New "More Stories" section at the very bottom of the homepage — count
  configurable (Customize → Theme Layout & Sidebar Widgets → More
  Stories), default 8, set to 0 to disable — so the homepage never ends
  on a short/blank note, with a link through to the full posts archive.

Changelog 8.0:
- Language switcher: removed the duplicate switcher from the primary
  nav bar (it now lives only in the topbar and the mobile menu). The
  topbar switcher defaults to a compact flag icon (🇬🇧/🇮🇳/etc.)
  instead of full "EN"/"HI" text chips — switchable back to text via
  Customize → NewzQuest Branding → Language Switcher Style.
- Market Ticker now has its own real "Market Ticker Speed" control
  (Customize → Market Ticker). Previously it had NO Customizer setting
  at all — its speed was hardcoded to 38px/sec directly in the JS, so
  admins had no way to change it even though the Breaking Ticker did.
  Both tickers are now independently adjustable and verified wired
  end-to-end (Customizer setting → wp_head JS variable → marquee
  animation-duration calculation).
- Social icons (topbar row + large footer grid) are now resizable via
  Customize → NewzQuest Social Links → Social Icon Size (Small /
  Medium / Large), instead of fixed 28px/40px boxes.
- Footer "Quick Links" menu is now documented directly in the
  Customizer (Menus & Navigation section) and can be auto-built from
  your existing About/Contact/Advertise/Careers/Privacy Policy pages
  via Tools → NewzQuest Category Sync → Auto-Build Missing Menus Now.
- Header navigation no longer caps at a fixed 9-category whitelist —
  it now builds from your actual WordPress categories (core sections
  first, then any others you've created), with subcategory dropdowns
  pulled live from each category's real children, and overflow
  categories folded into "More" instead of disappearing.
- Homepage layout is no longer a single "pick one" radio choice.
  MSN-Style Hero Slider is now the permanent top-of-homepage hero, and
  Default Hero Grid / Newspaper Pro (tagDiv style) / High-Density Grid
  can each be independently toggled on as additional sections appended
  underneath it (Customize → Theme Layout & Sidebar Widgets) — every
  section pulls a fresh, non-overlapping batch of posts, so enabling
  more than one never repeats a story.

Changelog 7.7:
- Market Ticker is now fully configurable from Customize → NewzQuest
  Content Settings → Market Ticker: on/off toggle, and a symbol-set
  choice of Indices / Crypto / Forex / All, or your own custom
  TradingView symbol list — instead of a hardcoded 9-symbol list.
- Breaking Ticker: the existing (previously dead) "Show Breaking
  Ticker" toggle is now actually wired up in header.php, plus a new
  configurable headline count control.
- NShorts install banner is now configurable (on/off, install-button
  URL, show delay) and auto-hides once the footer scrolls into view
  via IntersectionObserver, so it can no longer sit on top of and
  block clicks on the footer's social icons/links.
- Added "Regional" (folding in Local + Hyperlocal subcategory posts)
  as a third column alongside India and World in the homepage
  lead-story + mini-stories block (2-col → 3-col).
- Regional/Local/Hyperlocal added to the primary nav's category list
  and to the bilingual Category & Menu Sync tool's category set.
- New "Auto-Build Editable Menus" tool (Tools → NewzQuest Category
  Sync) that builds a real, backend-editable Primary Navigation,
  Social Links Menu, Footer Categories, and Footer Authors menu from
  existing categories/social URLs/contributors whenever a location
  is still unassigned — never overwrites a menu you've already set.
- Footer Categories fallback (when no "categories" menu is assigned)
  now respects the visitor's current language under Polylang.
- Translated remaining hardcoded English UI strings: Login,
  Dashboard, Subscribe, the header search placeholder/aria-labels,
  and the Breaking ticker label/fallback message.

Changelog 7.6:
- Fixed a real display-corruption bug in the language switcher: PHP's
  substr() is byte-based, so slicing TranslatePress's Hindi display
  name ("हिंदी", multi-byte UTF-8) produced garbled text instead of
  "HI". Labels are now derived from the (always-ASCII) language code.
- Suppressed Chrome's native "Translate this page?" popup (added
  translate="no" + a notranslate meta tag) — it was appearing on top
  of the site's own EN/HI switcher and looking like a second, broken
  toggle.
- Footer Authors widget and homepage Editor's Choice: replaced the
  legacy 'who' => 'authors' query (which matches only the literal
  "Author" role and can exclude your actual top contributors, or
  surface stray accounts that happen to hold that role) with a
  capability + published-posts check. Avatars now consistently fall
  back to a neutral silhouette instead of the site's global default
  (which could be the site logo) when a contributor has no photo.
- Added Tools → NewzQuest Category Sync: a one-click, safe-to-re-run
  admin tool that creates the 36 requested categories (plus Hindi
  counterparts and Polylang translation links, if Polylang is active)
  and adds any missing ones into a "More" menu dropdown. This can't be
  done by editing theme files alone since it's a database/content
  change — see Tools → NewzQuest Category Sync after uploading this.
- Added a new selectable homepage layout, "MSN-Style Hero Slider"
  (Customizer → NewzQuest — Content Settings → Homepage Layout Style):
  a rotating large hero card with prev/next arrows, dot pagination,
  and a "More Headlines" list beside it, in the spirit of the MSN
  Discover feed.
- Re-confirmed the Ticker Speed Customizer fix from 7.5 end-to-end
  (Customizer → PHP → JS, single source of truth, no hidden ceiling).

Changelog 7.5:
- FIXED ROOT CAUSE of "edits don't seem to apply": wp_enqueue_style() had
  a hardcoded version string ('7.0') that never changed between releases,
  so the stylesheet's URL never changed either — browsers and any
  host-level cache kept serving old CSS indefinitely after every update.
  The version is now pulled from this file's own Version header, so it
  is IMPOSSIBLE for this to happen again as long as this number is
  bumped on every release (see note at the end of this changelog).
- FIXED the Ticker Speed Customizer control doing nothing: the JS was
  clamping the Customizer's value down to a second, hardcoded ceiling
  that fought it, and the PHP side was separately running the number
  through an inverted "3000 / speed" formula with its own disconnected
  20-300 range — two different, uncoordinated systems computing the
  same number. Replaced both with one direct px/sec value (Customizer
  → PHP → JS, no formulas, no second clamp), default 26px/s, range 15-60.
- Slowed the breaking-news ticker default pace (was reading as a blur
  for mixed Hindi/English headlines) and gave the market ticker its own
  independent fixed speed instead of secretly sharing the breaking
  ticker's variable.
- Social Links Menu: skip empty/placeholder ("#") entries instead of
  rendering a generic globe icon for each one; capped at 8 icons so the
  bar can't overflow regardless of how many links are added.
- Language switcher: added real TranslatePress support (previously only
  checked for Polylang, so TranslatePress installs silently fell back to
  a conflicting Google Translate widget).
- Weather sidebar widget header recolored to the site's brand red
  instead of the generic dark navy every other sidebar widget uses.

IMPORTANT — keeping this number in sync: this Version header is what
WordPress uses to cache-bust the theme's CSS (see the fix above) and is
the number shown in Appearance → Themes. Prior releases (7.2–7.4, only
ever mentioned in code comments) never bumped it, so there was no way
to visually confirm from wp-admin whether an uploaded update had
actually taken effect. Bump this number on every future release.

Changelog 7.1:
- Fixed nav dropdown clipping bug (overflow-x:auto on .nq-nav-list was
  forcing overflow-y:auto per CSS spec, clipping every dropdown flyout)
- Fixed dropdown click handler so parent links navigate normally; only
  the caret toggles the submenu now
- Added "View All" link to each nav dropdown
- Sticky header + sticky primary nav (JS-measured offset)
- Compact weather chip synced into the topbar date/time row
- Market ticker converted to a real moving marquee
- Sports live scores/schedule moved to below the first story
- Podcast promoted to a first-class nav tab
- Consolidated duplicate Quotes/Polls/Shayari widgets into one tabbed
  sidebar card; added a 4th "Thought for the Day" (Gita) tab
- Fixed logo mix-blend-mode regression (now opt-in via Customizer,
  was previously washing out transparent logos by default)
- Registered 6 sidebar widget toggles that existed in code but had no
  Customizer UI at all
- Added daily auto-content generator (Shayari from Ghalib/Mir/Zauq,
  Quotes, Polls, Gita Thought for the Day) via WP Cron
- Removed dead/orphaned breaking-news ticker code (function + 3x
  duplicate CSS) that was never actually called
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --ink:#111827;--paper:#F8FAFC;--paper-dim:#FFFFFF;--paper-dim-alt:#F1F5F9;--rule:#E2E8F0;
  --amber:#D90429;--amber-bg:#FEE2E2;--teal:#2563EB;--teal-bg:#DBEAFE;
  --muted:#64748B;--red:#EF4444;--red-bg:#FEE2E2;
  --primary:#D90429;--secondary:#0F172A;--accent:#2563EB;
  --success:#15803D;--warning:#B45309;
  /* v5.3 fix: --text and --text-muted were referenced in 17 places
     across this file (comments, captions, meta rows) but never
     defined, anywhere. An undefined custom property makes `color`
     fall back to "inherit" — in dark mode this meant those elements
     silently inherited whatever color their container happened to
     have, instead of the intended light-on-dark text, so some text
     could render at very low contrast or effectively invisible. */
  --text:var(--ink);--text-muted:var(--muted);
  --shadow-sm:0 1px 3px rgba(0,0,0,.05);
  --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:0 8px 24px rgba(0,0,0,.12);
  --radius:6px;--radius-lg:10px;
  --font-serif:Georgia,serif;
  --font-sans:'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
  --font-deva:'Noto Sans Devanagari', sans-serif;
}
html[data-theme="dark"]{
  --ink:#F8FAFC;--paper:#0F172A;--paper-dim:#1E293B;--paper-dim-alt:#334155;--rule:#334155;
  --amber:#FF4D6D;--amber-bg:#4C0519;--teal:#60A5FA;--teal-bg:#1E3A8A;
  --muted:#94A3B8;
  --text:var(--ink);--text-muted:var(--muted);
}
html[data-theme="dark"] img{filter:brightness(.85);}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{overflow-x:hidden;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100%;}
:lang(hi){font-family:var(--font-deva);}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--amber);}
img{max-width:100%;height:auto;display:block;}
ul,ol{margin:0;padding:0;}
.lead-img{aspect-ratio:16/9;width:100%;object-fit:cover;}
.thumb{aspect-ratio:4/3;width:100%;object-fit:cover;}
.qr-thumb{aspect-ratio:16/9;width:100%;object-fit:cover;}
.hero-slide img,.toi-main-img,.toi-mid-item img{aspect-ratio:16/9;width:100%;object-fit:cover;}

/* Smooth scrolling — but respect reduced motion */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* v9.12: .wrap used to be defined twice with different values here and
   further down (1180px vs 1200px) — while .nq-wrap (used by the shared
   header/footer on every page) was 1400px. Since nearly every template
   except the homepage uses plain .wrap for its main content, this meant
   the header/footer edges didn't line up with the actual page content
   below them on almost every page. Consolidated to one definition,
   further down this file, matching .nq-wrap exactly. */

/* ============================================================
   UTILITY BAR (sticky)
   ============================================================ */
.utility{background:var(--ink);color:rgba(250,248,243,.88);
  font-family:var(--font-mono);font-size:12px;
  position:relative;z-index:300;}
.utility.sticky{position:fixed;top:0;left:0;right:0;
  box-shadow:0 2px 10px rgba(0,0,0,.4);animation:slideDown .2s ease;}
@keyframes slideDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}
.utility-inner{display:flex;align-items:center;justify-content:space-between;
  height:42px;gap:12px;}
.utility-left{display:flex;align-items:center;gap:14px;}
.utility-right{display:flex;align-items:center;gap:8px;}

/* weather + datetime */
.weather-pill{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.aqi-pill{font-size:10px;padding:2px 7px;border-radius:999px;}
.aqi-good{background:#166534;color:#fff;}
.aqi-moderate{background:#92400E;color:#fff;}
.aqi-poor{background:#991B1B;color:#fff;}
.aqi-bad,.aqi-severe{background:#6B21A8;color:#fff;}
.datetime-pill{white-space:nowrap;opacity:.8;}

/* language + dark mode toggle */
.tabset{display:inline-flex;border:1px solid rgba(255,255,255,.2);
  border-radius:999px;overflow:hidden;background:transparent;}
.tabset button{font-family:var(--font-mono);font-size:11px;
  background:none;border:none;padding:5px 13px;cursor:pointer;
  color:rgba(250,248,243,.8);min-height:32px;min-width:44px;}
.tabset button.active{background:rgba(250,248,243,.2);color:#fff;}
.dark-toggle-btn{background:none;border:1px solid rgba(255,255,255,.2);
  color:rgba(250,248,243,.9);border-radius:999px;
  width:32px;height:32px;cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;}

/* language filter bar (archives) */
.lang-filter-bar{display:flex;align-items:center;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--rule);margin-bottom:16px;}
.lf-label{font-size:12px;color:var(--muted);font-family:var(--font-mono);}
.lang-pill{border:1px solid var(--rule);border-radius:999px;
  padding:4px 12px;font-size:12px;color:var(--ink);}
.lang-pill.active{background:var(--ink);color:var(--paper);}

/* ============================================================
   HERO BANNER (Customizer header image — max 180px not full-viewport)
   ============================================================ */
.hero-banner{height:clamp(100px,14vw,180px);background-size:cover;
  background-position:center;position:relative;overflow:hidden;}
.hero-banner-overlay{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,23,31,0) 0%,rgba(20,23,31,.5) 100%);}

/* ============================================================
   MASTHEAD
   ============================================================ */
.masthead{border-bottom:1px solid var(--rule);text-align:center;padding:20px 24px 14px;}
.site-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(28px,4vw,46px);margin:0;}
.site-title a{color:var(--ink);}
.custom-logo{max-height:54px;width:auto;display:inline-block;}
.tag{margin:4px 0 0;font-size:13px;color:var(--muted);
  font-style:italic;font-family:var(--font-serif);}

/* ============================================================
   PRIMARY NAV
   ============================================================ */
nav.primary{border-bottom:2px solid var(--ink);background:var(--paper);
  position:sticky;top:0;z-index:250;box-shadow:var(--shadow-sm);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  height:48px;gap:8px;}
nav.primary ul{list-style:none;display:flex;gap:0;margin:0;padding:0;
  font-size:13.5px;font-weight:500;overflow-x:auto;scrollbar-width:none;}
nav.primary ul::-webkit-scrollbar{display:none;}
nav.primary ul li a{display:block;padding:14px 13px;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav.primary ul li a:hover{color:var(--amber);border-bottom-color:var(--amber);}
nav.primary ul ul{display:none;position:absolute;top:100%;left:0;
  background:#fff;border:1px solid var(--rule);border-radius:var(--radius);
  padding:6px 0;min-width:160px;flex-direction:column;z-index:60;
  box-shadow:var(--shadow-md);}
nav.primary ul li:hover>ul{display:flex;}
nav.primary ul ul li a{padding:8px 14px;}
.nav-tools{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.menu-toggle{display:none;background:none;border:1px solid var(--rule);
  border-radius:var(--radius);padding:6px 10px;font-size:13px;cursor:pointer;
  min-height:36px;min-width:44px;}
@media (max-width:760px){
  nav.primary ul{display:none;flex-direction:column;position:absolute;
    top:48px;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--rule);padding:8px 20px;gap:0;z-index:50;}
  nav.primary ul.open{display:flex;}
  nav.primary ul li a{padding:10px 0;border-bottom:1px solid var(--rule);}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
}

.secondary-nav{background:var(--paper-dim);border-bottom:1px solid var(--rule);}
.secondary-nav .wrap{display:flex;justify-content:space-between;
  align-items:center;height:34px;}
.secondary-menu,.social-menu{list-style:none;display:flex;gap:16px;
  margin:0;padding:0;font-size:12px;}
.secondary-menu a{color:var(--muted);}
.social-menu a{color:var(--muted);}
@media (max-width:600px){
  .secondary-nav .wrap{flex-wrap:wrap;height:auto;padding:6px 20px;gap:6px;}}

/* ============================================================
   BREAKING TICKER — legacy .breaking classes removed (dead CSS, never
   rendered by any template; the live breaking bar uses .nq-breaking-bar,
   styled further down in this file).
   ============================================================ */

/* ============================================================
   MARKET TICKER
   ============================================================ */
.market-ticker-row{background:var(--paper);border-bottom:1px solid var(--rule);
  min-height:46px;}
.market-ticker-row .tradingview-widget-container{min-height:44px;}

/* ============================================================
   TRENDING TOPICS
   ============================================================ */
.trending-topics{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:14px 0;}
.tt-label{font-family:var(--font-mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.05em;color:var(--amber);font-weight:600;}
.tt-pill{background:var(--paper-dim);border:1px solid var(--rule);
  border-radius:999px;font-size:12px;padding:4px 12px;
  transition:background .15s,border-color .15s;}
.tt-pill:hover{background:var(--amber-bg);border-color:var(--amber);}

/* ============================================================
   HERO SLIDER
   ============================================================ */
.hero-slider{padding:16px 0 0;}
.hero-slides{position:relative;aspect-ratio:16/6;min-height:220px;
  border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-dim);}
.hero-slide{position:absolute;inset:0;opacity:0;
  transition:opacity .5s ease;display:block;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;
  transition:transform 6s ease;}
.hero-slide.active img{transform:scale(1.03);}
.hero-slide-fallback{width:100%;height:100%;
  background:linear-gradient(135deg,#1A2A3A,var(--ink));}
.hero-slide-text{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;
  background:linear-gradient(180deg,transparent,rgba(15,17,22,.88));}
.hero-slide-text .eyebrow{color:#F0A23A;font-size:11px;
  font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;}
.hero-slide-text h2{font-family:var(--font-serif);font-size:clamp(18px,2.5vw,28px);
  margin:6px 0 4px;color:#fff;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.4);}
.hero-dek{font-size:13px;color:rgba(255,255,255,.8);margin:0;line-height:1.4;}
.hero-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;}
.hero-dot{width:8px;height:8px;border-radius:50%;border:none;
  background:var(--rule);cursor:pointer;padding:0;min-width:24px;min-height:24px;
  display:flex;align-items:center;justify-content:center;}
.hero-dot::after{content:'';width:8px;height:8px;
  background:var(--rule);border-radius:50%;transition:background .2s;}
.hero-dot.active::after{background:var(--amber);}

/* ============================================================
   THREE-COLUMN TOI LEAD
   ============================================================ */
.toi-lead{padding:16px 0 8px;}
.toi-lead-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:20px;
  align-items:start;}
@media (max-width:960px){.toi-lead-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.toi-lead-grid{grid-template-columns:1fr;}}
.toi-col-main a{display:block;color:var(--ink);}
.toi-main-img{width:100%;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius);margin-bottom:10px;
  box-shadow:var(--shadow-md);transition:transform .3s ease;}
.toi-col-main a:hover .toi-main-img{transform:scale(1.02);}
.toi-main-headline{font-family:var(--font-serif);font-size:clamp(20px,2.4vw,28px);
  line-height:1.2;margin:8px 0 8px;font-weight:700;letter-spacing:-.01em;}
.toi-main-dek{font-size:14.5px;color:#3A3A35;line-height:1.55;}
.toi-col-mid{border-left:1px solid var(--rule);padding-left:18px;
  display:flex;flex-direction:column;gap:0;}
.toi-mid-item{display:flex;flex-direction:column;gap:6px;
  padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink);}
.toi-mid-item:first-child{padding-top:0;}
.toi-mid-item:last-child{border-bottom:none;}
.toi-mid-item img{aspect-ratio:16/9;object-fit:cover;border-radius:4px;
  transition:opacity .2s;}
.toi-mid-item:hover img{opacity:.9;}
.toi-mid-item span{font-size:13.5px;font-weight:500;line-height:1.35;}
.toi-col-right{display:flex;flex-direction:column;gap:14px;}

/* ============================================================
   QUICK READS RAIL
   ============================================================ */
.qr-section{padding:20px 0 4px;}
.qr-head{display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:12px;}
.qr-head h2{font-family:var(--font-serif);font-size:20px;margin:0;font-weight:700;}
.qr-head span{font-size:12px;color:var(--muted);font-family:var(--font-mono);}
.qr-rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;
  scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;}
.qr-card{flex:0 0 200px;scroll-snap-align:start;background:#fff;
  border:1px solid var(--rule);border-radius:var(--radius-lg);padding:14px;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;}
.qr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.qr-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius);margin-bottom:8px;}
.qr-card .cat{font-family:var(--font-mono);font-size:10px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--amber);}
.qr-card h3{font-size:14px;line-height:1.35;margin:6px 0 7px;font-weight:600;}
.qr-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 8px;flex:1;}
.qr-card .more{margin-top:auto;font-size:11px;font-family:var(--font-mono);color:var(--teal);}

/* ============================================================
   MAIN CONTENT GRID
   ============================================================ */
main{padding:16px 0 48px;}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start;}
@media (max-width:860px){.grid{grid-template-columns:1fr;}}

/* ============================================================
   SECONDARY CARD GRID
   ============================================================ */
.secondary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:24px;}
@media (max-width:760px){.secondary{grid-template-columns:1fr;}}
.card{display:block;border-radius:var(--radius);padding:4px;
  transition:transform .2s;}
.card:hover{transform:translateY(-3px);}
.card .thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);
  margin-bottom:8px;box-shadow:var(--shadow-sm);}
.card .thumb-placeholder{aspect-ratio:4/3;border-radius:var(--radius);
  background:linear-gradient(135deg,#33363D,var(--ink));}
.card h3{font-family:var(--font-serif);font-weight:600;font-size:16px;
  line-height:1.3;margin:0 0 5px;}
.card .meta{font-size:12px;color:var(--muted);font-family:var(--font-mono);}

/* ============================================================
   DENSE TOI CATEGORY BOXES
   ============================================================ */
.toi-grid-section{padding:8px 0 24px;}
.toi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:860px){.toi-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.toi-grid{grid-template-columns:1fr;}}
.toi-box{border:1px solid var(--rule);border-radius:var(--radius-lg);
  background:#fff;padding:14px;transition:box-shadow .2s;}
.toi-box:hover{box-shadow:var(--shadow-md);}
.toi-box-head{display:flex;justify-content:space-between;align-items:center;
  border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px;}
.toi-box-head h3{font-family:var(--font-serif);font-size:15px;margin:0;font-weight:700;}
.toi-box-head a{font-size:10px;font-family:var(--font-mono);color:var(--teal);}
.toi-feature{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;}
.toi-feature img,.toi-thumb-fallback{width:100%;aspect-ratio:16/9;
  object-fit:cover;border-radius:var(--radius);
  background:linear-gradient(135deg,#33363D,var(--ink));}
.toi-feature span{font-weight:600;font-size:13.5px;line-height:1.35;color:var(--ink);}
.toi-mini-grid{display:flex;flex-direction:column;gap:8px;}
.toi-mini-item{display:flex;gap:8px;align-items:flex-start;
  border-top:1px solid var(--paper-dim);padding-top:8px;}
.toi-mini-item img,.toi-mini-item .toi-thumb-fallback{width:60px;height:45px;
  flex:0 0 60px;object-fit:cover;border-radius:3px;
  background:linear-gradient(135deg,#33363D,var(--ink));}
.toi-mini-item span{font-size:12px;line-height:1.4;color:var(--ink);}
.toi-mini-item:hover span{color:var(--amber);}

/* ============================================================
   LATEST NEWS PLAIN GRID
   ============================================================ */
.latest-list-section{padding:8px 0 18px;}
.latest-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 24px;}
@media (max-width:760px){.latest-list-grid{grid-template-columns:1fr;}}
.latest-list-grid a{display:block;padding:9px 0;
  border-bottom:1px solid var(--rule);font-size:13.5px;line-height:1.4;
  color:var(--ink);transition:color .15s;}
.latest-list-grid a:hover{color:var(--amber);}

/* ============================================================
   EXPLORE TOPICS
   ============================================================ */
.explore-topics{padding:8px 0 24px;}
.explore-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px 8px;}
@media (max-width:860px){.explore-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:480px){.explore-grid{grid-template-columns:repeat(2,1fr);}}
.explore-grid a{font-size:12px;color:var(--muted);padding:4px 0;
  transition:color .15s;}
.explore-grid a:hover{color:var(--amber);}

/* ============================================================
   NSHORTS
   ============================================================ */
.nshorts-section{padding:16px 0 8px;}

/* ============================================================
   SIDEBAR WIDGETS
   ============================================================ */
.side-box{border:1px solid var(--rule);border-radius:var(--radius-lg);
  padding:16px;margin-bottom:18px;background:#fff;
  transition:box-shadow .2s;}
.side-box:hover{box-shadow:var(--shadow-sm);}
.side-box h4{font-family:var(--font-serif);font-size:16px;margin:0 0 10px;font-weight:700;}
.trend-item{display:flex;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--rule);font-size:13px;}
.trend-item:last-child{border-bottom:none;}
.trend-num{font-family:var(--font-mono);color:var(--amber);font-weight:700;min-width:18px;}

/* quote box */
.quote-box{font-family:var(--font-serif);font-style:italic;font-size:15px;
  line-height:1.6;background:linear-gradient(145deg,var(--teal-bg),var(--paper-dim));
  border-left:3px solid var(--teal);}
.quote-box h4{font-style:normal;}
.quote-box .attr{margin-top:10px;font-size:11px;font-style:normal;
  color:var(--teal);font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:.04em;}

/* AI summary */
.ai-summary-box{background:var(--teal-bg);border:1px solid var(--teal);
  border-radius:var(--radius);padding:12px 16px;margin:10px 0 14px;}
.ai-summary-box h4{margin:0 0 8px;font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;
  font-family:var(--font-mono);color:var(--teal);}
.ai-summary-box ul{margin:0;padding-left:18px;font-size:14px;line-height:1.65;}

/* TOC */
.toc-box{background:var(--paper-dim);border:1px solid var(--rule);
  border-radius:var(--radius);padding:12px 18px;margin:12px 0;}
.toc-box h4{margin:0 0 8px;font-size:12px;
  text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono);}
.toc-box ul{margin:0;padding-left:18px;font-size:14px;line-height:1.7;}

/* featured video */
.featured-video-item{display:flex;gap:10px;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--rule);}
.featured-video-item:last-child{border-bottom:none;}
.fv-thumb{position:relative;width:70px;height:50px;flex:0 0 70px;
  border-radius:4px;overflow:hidden;}
.fv-thumb img{width:100%;height:100%;object-fit:cover;}
.fv-play{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;background:rgba(20,23,31,.35);color:#fff;font-size:14px;}
.fv-title{font-size:12.5px;line-height:1.35;}

/* ad slot */
.ad-slot{margin:20px 0;border:1px dashed var(--rule);border-radius:var(--radius);
  background:var(--paper-dim);padding:16px;text-align:center;}
.ad-slot .lbl{font-family:var(--font-mono);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  display:block;margin-bottom:6px;}

/* ============================================================
   PROFESSIONAL ARTICLE PAGE
   ============================================================ */
.article-breadcrumb{font-size:12px;color:var(--muted);margin:10px 0 14px;
  display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.article-breadcrumb a{color:var(--teal);}
.bc-sep{opacity:.4;margin:0 2px;}
.article-badges{display:flex;gap:8px;align-items:center;
  margin:10px 0 6px;flex-wrap:wrap;}
.cat-badge{background:var(--amber-bg);color:var(--amber);
  border:1px solid var(--amber);font-size:11px;padding:3px 10px;
  border-radius:999px;font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:.04em;}
.format-badge{background:var(--amber);color:#fff;font-family:var(--font-mono);
  font-size:10px;padding:3px 8px;border-radius:3px;letter-spacing:.04em;}
.live-badge{background:var(--red)!important;}
.article-headline{font-family:var(--font-serif);font-weight:800;
  font-size:clamp(22px,3.5vw,38px);line-height:1.15;
  margin:10px 0 14px;letter-spacing:-.02em;}
.article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:12.5px;color:var(--muted);margin-bottom:14px;
  padding-bottom:14px;border-bottom:1px solid var(--rule);}
.article-author{display:flex;align-items:center;gap:8px;}
.article-author strong{color:var(--ink);font-size:13px;}
.article-date,.article-updated,.article-readtime{font-family:var(--font-mono);font-size:11px;}
.article-controls{display:flex;align-items:center;gap:10px;
  margin:12px 0;flex-wrap:wrap;}
.article-figure{margin:16px 0;}
.full-view,.quick-view{font-size:17px;line-height:1.75;color:#2A2A26;}
.full-view.shown,.quick-view:not(.hidden){display:block;}
.full-view:not(.shown){display:none;}

/* v9.9: Extended Market Indices (single Business articles) */
.nq-extended-indices { margin: 32px 0; padding: 20px; border: 1px solid var(--rule, #E2E8F0); border-radius: 12px; }
.nq-extended-indices-title { font-size: 16px; font-weight: 800; margin: 0 0 14px; }

/* v9.6: post typography upgrade — the content area had nothing beyond
   the base font-size/line-height above, so every element WordPress'
   the_content() can output (headings, links, blockquotes, lists,
   images) fell back to raw browser defaults. */
.full-view p,.quick-view p{margin:0 0 20px;}
.full-view h2,.quick-view h2{font-family:var(--font-serif);font-weight:800;font-size:26px;line-height:1.3;margin:36px 0 14px;color:#111827;}
.full-view h3,.quick-view h3{font-family:var(--font-serif);font-weight:700;font-size:21px;line-height:1.35;margin:28px 0 12px;color:#111827;}
.full-view a,.quick-view a{color:#D90429;text-decoration:underline;text-underline-offset:2px;}
.full-view a:hover,.quick-view a:hover{color:#B30020;}
.full-view strong,.quick-view strong{font-weight:700;color:#111827;}
.full-view blockquote,.quick-view blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid #D90429;font-style:italic;color:#374151;}
.full-view ul,.full-view ol,.quick-view ul,.quick-view ol{margin:0 0 20px;padding-left:26px;}
.full-view li,.quick-view li{margin-bottom:8px;}
.full-view img,.quick-view img{max-width:100%;height:auto;border-radius:8px;margin:8px 0;display:block;}
.full-view figure,.quick-view figure{margin:24px 0;}
.full-view figcaption,.quick-view figcaption{font-size:13px;color:#6B7280;text-align:center;margin-top:8px;}
.full-view hr,.quick-view hr{border:none;border-top:1px solid #E2E8F0;margin:32px 0;}
[data-theme="dark"] .full-view,[data-theme="dark"] .quick-view{color:#D1D5DB;}
[data-theme="dark"] .full-view h2,[data-theme="dark"] .full-view h3,
[data-theme="dark"] .quick-view h2,[data-theme="dark"] .quick-view h3{color:#F3F4F6;}
[data-theme="dark"] .full-view strong,[data-theme="dark"] .quick-view strong{color:#F3F4F6;}
[data-theme="dark"] .full-view blockquote,[data-theme="dark"] .quick-view blockquote{color:#9CA3AF;}
[data-theme="dark"] .full-view hr,[data-theme="dark"] .quick-view hr{border-top-color:#374151;}
@media (max-width:700px){
  .full-view,.quick-view{font-size:16px;line-height:1.7;}
  .full-view h2,.quick-view h2{font-size:22px;margin:28px 0 12px;}
  .full-view h3,.quick-view h3{font-size:18px;margin:22px 0 10px;}
}
.quick-view.hidden{display:none;}
.related-section{margin:28px 0 10px;}
.related-heading{font-family:var(--font-serif);font-size:19px;
  font-weight:700;border-bottom:2px solid var(--ink);
  padding-bottom:8px;margin:0 0 16px;}
.share-row{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap;}
.share-row a{border:1px solid var(--rule);border-radius:var(--radius);
  padding:7px 14px;font-size:12px;font-family:var(--font-mono);
  transition:background .15s;display:flex;align-items:center;gap:4px;
  min-height:36px;}
.share-row a:hover{background:var(--amber-bg);border-color:var(--amber);}
.nq-copy-shortlink{border:1px solid var(--rule);border-radius:var(--radius);
  padding:7px 14px;font-size:12px;font-family:var(--font-mono);
  transition:background .15s;display:flex;align-items:center;gap:4px;
  min-height:36px;background:#fff;cursor:pointer;color:inherit;}
.nq-copy-shortlink:hover{background:var(--amber-bg);border-color:var(--amber);}

/* Broken content image fallback (see footer.php error-listener) */
img.nq-img-broken{
  min-height:120px;object-fit:contain;background:var(--paper-2,#f3f1ec)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center/48px no-repeat;
  border:1px dashed var(--rule);
}
.reactions-row{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap;}
.reaction-btn{border:1px solid var(--rule);background:#fff;
  border-radius:999px;padding:7px 14px;font-size:14px;cursor:pointer;
  min-height:36px;min-width:44px;transition:background .15s;}
.reaction-btn:hover{background:var(--amber-bg);}
.reaction-btn .count{font-size:12px;color:var(--muted);font-family:var(--font-mono);margin-left:4px;}
.helpful-block{display:flex;align-items:center;gap:10px;
  margin:18px 0;font-size:13px;flex-wrap:wrap;}
.helpful-btn{border:1px solid var(--rule);background:#fff;
  border-radius:var(--radius);padding:7px 14px;cursor:pointer;
  font-size:13px;min-height:36px;min-width:44px;transition:background .15s;}
.helpful-btn:hover{background:var(--teal-bg);}
.fact-check-box{border:1px solid var(--teal);border-radius:var(--radius);
  padding:16px;margin:16px 0;background:var(--teal-bg);}
.verdict-tag{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.verdict-true{background:#D1FAE5;color:#065F46;}
.verdict-false{background:var(--red-bg);color:var(--red);}
.verdict-misleading{background:var(--amber-bg);color:var(--amber);}
.verdict-unverified{background:var(--paper-dim);color:var(--muted);}
.corrections-box{margin:16px 0;font-size:13px;color:var(--muted);}
.corrections-box h4{font-size:11px;text-transform:uppercase;
  letter-spacing:.05em;font-family:var(--font-mono);margin:0 0 6px;}
.corrections-box ul{padding-left:18px;}
.ai-badges{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap;}
.ai-badge{background:var(--paper-dim);border:1px solid var(--rule);
  border-radius:999px;font-size:11px;padding:3px 10px;
  color:var(--muted);font-family:var(--font-mono);}
.editorial-credits{display:flex;gap:14px;flex-wrap:wrap;
  font-size:12px;color:var(--muted);margin:4px 0 10px;}
.archive-count{font-size:13px;color:var(--muted);
  margin:0 0 14px;font-family:var(--font-mono);}

/* Engagement: polls, bookmarks, follow-topic */
.poll{border:1px solid var(--rule);border-radius:var(--radius-lg);
  padding:18px;margin:18px 0;background:#fff;}
.poll h4{margin:0 0 12px;font-family:var(--font-serif);font-size:17px;}
.poll-options label{display:block;margin-bottom:9px;font-size:14px;
  cursor:pointer;padding:4px 0;}
.poll-submit{background:var(--ink);color:var(--paper);border:none;
  border-radius:var(--radius);padding:9px 18px;font-size:13px;
  cursor:pointer;margin-top:6px;min-height:40px;min-width:80px;}
.poll-results div{padding:7px 0;border-bottom:1px solid var(--rule);font-size:13px;}
.bookmark-btn{border:1px solid var(--rule);border-radius:var(--radius);
  padding:6px 14px;font-size:12px;font-family:var(--font-mono);
  background:#fff;cursor:pointer;min-height:36px;min-width:44px;transition:background .15s;}
.bookmark-btn.active{background:var(--amber-bg);border-color:var(--amber);color:var(--amber);}
.follow-topic-btn{margin-left:8px;border:1px solid var(--teal);
  color:var(--teal);background:none;border-radius:999px;
  padding:4px 12px;font-size:11px;cursor:pointer;
  font-family:var(--font-mono);min-height:32px;min-width:44px;}
.follow-topic-btn.active{background:var(--teal);color:#fff;}

/* listen button */
.listen-btn{background:var(--ink);color:var(--paper);border:none;
  border-radius:999px;padding:9px 20px;font-size:13px;cursor:pointer;
  min-height:40px;transition:background .2s;}
.listen-btn:hover{background:var(--teal);}
.listen-status{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.4;}

/* font controls */
.font-controls{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap;}
.fs-btn{border:1px solid var(--rule);background:#fff;border-radius:var(--radius);
  padding:5px 12px;font-size:13px;cursor:pointer;
  min-height:36px;min-width:44px;transition:background .15s;}
.fs-btn:hover{background:var(--paper-dim);}

/* mode toggle (Quick Read / Full Story) */
.mode-toggle{margin:8px 0 14px;}
.tabset.mode-toggle button{font-family:var(--font-sans);font-size:13px;
  padding:7px 18px;color:var(--muted);min-height:36px;min-width:44px;}
.tabset.mode-toggle button.active{background:var(--ink);color:var(--paper);}

/* nq search */
.nq-search{display:flex;align-items:center;gap:6px;}
.nq-search .search-form{display:flex;}
.nq-search input[type="search"]{border:1px solid var(--rule);
  border-radius:999px;padding:6px 14px;font-size:13px;width:140px;
  background:var(--paper);min-height:36px;}
#nq-voice-search{background:none;border:1px solid var(--rule);
  border-radius:50%;width:36px;height:36px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;}
#nq-voice-search.listening{background:var(--amber);border-color:var(--amber);
  animation:nq-pulse 1s infinite;}
@keyframes nq-pulse{0%{box-shadow:0 0 0 0 rgba(181,96,10,.4);}
  70%{box-shadow:0 0 0 8px rgba(181,96,10,0);}
  100%{box-shadow:0 0 0 0 rgba(181,96,10,0);}}

/* progress bar */
#nq-progress-bar{position:fixed;top:0;left:0;height:3px;
  background:var(--amber);width:0;z-index:9999;transition:width .1s;}

/* TOI homepage category boxes extras */
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--amber);font-weight:600;}

/* hero slider */
.hero-banner,.hero-banner-overlay{/* already defined above */}

/* logo sizing */
.site-title .custom-logo{max-height:54px;width:auto;display:inline-block;}

/* DARK MODE overrides for white backgrounds */
html[data-theme="dark"] .toi-box,
html[data-theme="dark"] .qr-card,
html[data-theme="dark"] .side-box,
html[data-theme="dark"] .poll,
html[data-theme="dark"] .nq-search input{background:var(--paper-dim);color:var(--ink);}

/* RTL scaffold */
html[dir="rtl"] .utility-inner{flex-direction:row-reverse;}
html[dir="rtl"] .toi-col-mid{border-left:none;border-right:1px solid var(--rule);
  padding-left:0;padding-right:18px;}

/* ============================================================
   ANIMATIONS — composited only (transform + opacity) for performance
   ============================================================ */
.card,.qr-card,.toi-box,.toi-mid-item{
  will-change:transform;contain:layout style;}
@media (hover:hover){
  .card:hover,.qr-card:hover{transform:translateY(-3px);}
  .toi-box:hover{box-shadow:var(--shadow-md);}
}

/* ============================================================
   FOOTER
   ============================================================ */
footer{border-top:1px solid var(--rule);background:var(--paper-dim);margin-top:24px;}
footer .wrap{padding:32px 20px;display:flex;justify-content:space-between;
  gap:24px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.fmast{font-family:var(--font-serif);font-size:22px;color:var(--ink);font-weight:700;}
.fcols{display:flex;gap:32px;flex-wrap:wrap;}
.fcols div h5{font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);margin:0 0 10px;font-family:var(--font-mono);}
.fcols div a{display:block;margin-bottom:6px;transition:color .15s;}
.copyright{text-align:center;font-size:11px;color:var(--muted);
  padding:12px 0;border-top:1px solid var(--rule);font-family:var(--font-mono);}

/* ============================================================
   ACCESSIBILITY — increased contrast + touch targets
   ============================================================ */
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:3px;}
.skip-link{position:absolute;top:-40px;left:0;background:var(--amber);
  color:#fff;padding:8px 14px;z-index:9999;border-radius:0 0 var(--radius) 0;}
.skip-link:focus{top:0;}

/* AQI pill */
.aqi-pill{font-size:10px;padding:2px 7px;border-radius:999px;}

/* ============================================================
   RESPONSIVE UTILITIES
   ============================================================ */
@media (max-width:480px){
  .wrap{padding:0 14px;}
  .article-headline{font-size:22px;}
  .hero-slides{aspect-ratio:16/9;}
  .toi-lead-grid{grid-template-columns:1fr;}
  .share-row{gap:6px;}
  .share-row a{padding:6px 10px;font-size:11px;}
  .secondary{grid-template-columns:1fr;}
  .explore-grid{grid-template-columns:1fr 1fr;}
}

/* ============================================================
   v3.3 ADDITIONS
   ============================================================ */

/* ─── Utility bar layout fix ─── */
.utility-inner{max-width:1180px;margin:0 auto;padding:0 16px;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;min-height:40px;gap:8px;}
.utility-left{display:flex;align-items:center;gap:10px;
  font-size:12px;white-space:nowrap;}
.utility-center{display:flex;justify-content:center;align-items:center;}
.utility-right{display:flex;justify-content:flex-end;align-items:center;gap:8px;}
.util-sep{opacity:.3;}

/* Social icons in utility bar */
.top-social{list-style:none;display:flex;gap:4px;margin:0;padding:0;}
.top-social li a{display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:4px;
  color:rgba(250,248,243,.8);font-size:13px;
  background:rgba(255,255,255,.08);transition:background .15s;}
.top-social li a:hover{background:var(--amber);}

/* ─── Market ticker (line 2) — dark readable background ─── */
.market-ticker-row{background:#1A1D24 !important;border-bottom:none;
  min-height:44px;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.market-ticker-row .tradingview-widget-container{width:100%;}

/* ─── Secondary nav with dropdowns ─── */
.secondary-nav-bar{background:var(--paper-dim);
  border-bottom:2px solid var(--rule);
  position:relative;z-index:200;}
.secondary-nav-inner{max-width:1180px;margin:0 auto;padding:0 16px;
  display:flex;align-items:stretch;min-height:42px;}
.sec-menu{list-style:none;display:flex;gap:0;margin:0;padding:0;
  font-size:13px;font-weight:500;position:relative;}
.sec-menu>li{position:relative;}
.sec-menu>li>a{display:flex;align-items:center;gap:4px;
  padding:0 14px;height:42px;color:var(--ink);
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s;white-space:nowrap;}
.sec-menu>li>a:hover,.sec-menu>li:hover>a{
  color:var(--amber);border-bottom-color:var(--amber);}
/* dropdown */
.sec-menu ul{display:none;position:absolute;top:100%;left:0;
  min-width:200px;background:#fff;border:1px solid var(--rule);
  border-top:2px solid var(--amber);border-radius:0 0 var(--radius) var(--radius);
  padding:6px 0;z-index:300;
  box-shadow:0 8px 24px rgba(0,0,0,.12);}
.sec-menu li:hover>ul{display:block;}
.sec-menu ul li a{display:block;padding:9px 18px;font-size:13px;
  color:var(--ink);border-bottom:1px solid var(--paper-dim);}
.sec-menu ul li:last-child a{border-bottom:none;}
.sec-menu ul li a:hover{background:var(--amber-bg);color:var(--amber);}
/* nested third level */
.sec-menu ul ul{top:0;left:100%;}

/* has-children arrow indicator */
.sec-menu li.menu-item-has-children>a::after{
  content:'▾';font-size:10px;margin-left:3px;opacity:.6;}

/* ─── Primary nav: no wrapping, scroll on overflow ─── */
nav.primary{position:sticky;top:0;z-index:250;background:var(--paper);
  border-bottom:2px solid var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06);}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 16px;
  display:flex;align-items:center;justify-content:space-between;
  height:46px;gap:8px;}
nav.primary #primary-menu{list-style:none;display:flex;gap:0;
  margin:0;padding:0;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;}
nav.primary #primary-menu::-webkit-scrollbar{display:none;}
nav.primary #primary-menu>li>a{display:block;padding:12px 12px;
  font-size:13.5px;font-weight:600;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav.primary #primary-menu>li>a:hover{color:var(--amber);border-bottom-color:var(--amber);}
/* primary dropdown */
nav.primary #primary-menu>li{position:relative;}
nav.primary #primary-menu ul{display:none;position:absolute;top:100%;left:0;
  min-width:200px;background:#fff;
  border:1px solid var(--rule);border-top:2px solid var(--amber);
  border-radius:0 0 var(--radius) var(--radius);
  padding:6px 0;z-index:300;
  box-shadow:0 8px 24px rgba(0,0,0,.12);}
nav.primary #primary-menu li:hover>ul{display:block;}
nav.primary #primary-menu ul li a{display:block;padding:9px 18px;
  font-size:13px;color:var(--ink);
  border-bottom:1px solid var(--paper-dim);}
nav.primary #primary-menu ul li:last-child a{border-bottom:none;}
nav.primary #primary-menu ul li a:hover{background:var(--amber-bg);color:var(--amber);}
nav.primary #primary-menu li.menu-item-has-children>a::after{
  content:'▾';font-size:10px;margin-left:3px;opacity:.6;}

/* ─── Quote + Poll Slider ─── */
.qp-slider-wrap{display:flex;flex-direction:column;gap:16px;}
.qp-standalone-card .qp-panel{padding:14px;}
.qp-tabs{display:flex;gap:6px;margin-bottom:12px;}
.qp-tab{border:1px solid var(--rule);background:var(--paper-dim);
  border-radius:999px;padding:5px 14px;font-size:12px;
  font-family:var(--font-mono);cursor:pointer;transition:all .15s;min-height:32px;}
.qp-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.qp-panel{display:none;}
.qp-panel.active{display:block;}
.qp-track{position:relative;}
.qp-card{display:none;animation:fadeSlide .3s ease;}
.qp-card.active{display:block;}
@keyframes fadeSlide{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:translateX(0);}}
.qp-card.quote-card{font-family:var(--font-serif);font-style:italic;
  font-size:15px;line-height:1.6;padding:4px 0 12px;}
.qp-card.shayari-card{
  font-family:var(--font-serif);font-style:italic;font-size:16px;
  line-height:2;padding:10px 14px 16px;text-align:center;
  background:linear-gradient(180deg,rgba(217,4,41,.04),transparent);
  border-left:3px solid var(--amber);border-radius:0 8px 8px 0;
}
.qp-card.shayari-card p{margin:0;}
.qp-tab[data-target="shayari"]{font-family:var(--font-serif);}
.qp-card.gita-card{
  padding:10px 14px 16px;background:linear-gradient(180deg,rgba(217,119,6,.06),transparent);
  border-left:3px solid #D97706;border-radius:0 8px 8px 0;
}
.qp-gita-title{font-family:var(--font-serif);font-weight:700;font-size:14px;color:#B45309;margin-bottom:6px;}
.qp-card.gita-card .qp-text{font-size:14px;line-height:1.6;color:var(--ink);}
.qp-nav{display:flex;align-items:center;gap:8px;margin-top:10px;}
.qp-prev,.qp-next{border:1px solid var(--rule);background:#fff;
  border-radius:50%;width:40px;height:40px;cursor:pointer;
  font-size:15px;display:flex;align-items:center;justify-content:center;
  transition:background .15s;}
.qp-prev:hover,.qp-next:hover{background:var(--amber);border-color:var(--amber);color:#fff;}
.qp-count{font-size:11px;color:var(--muted);font-family:var(--font-mono);flex:1;text-align:center;}

/* (dead .breaking ticker-background rules removed — unused class) */

/* ─── Dark mode: readable backgrounds for market ticker & breaking ─── */
html[data-theme="dark"] .market-ticker-row{background:#0D0F14 !important;}
html[data-theme="dark"] .breaking{background:#0D0F14;}
html[data-theme="dark"] .secondary-nav-bar{background:var(--paper-dim);}
html[data-theme="dark"] .sec-menu ul,
html[data-theme="dark"] nav.primary #primary-menu ul{background:var(--paper-dim);}
html[data-theme="dark"] .sec-menu ul li a,
html[data-theme="dark"] nav.primary #primary-menu ul li a{color:var(--ink);}

/* ─── Mobile: collapse secondary nav ─── */
@media (max-width:760px){
  .secondary-nav-bar{display:none;}
  .utility-inner{grid-template-columns:1fr auto;gap:4px;}
  .utility-center{display:none;}
  .market-ticker-row{overflow:hidden;}
}

/* ============================================================
   NEWZQUEST REDESIGNED HOMEPAGE STYLES
   ============================================================ */

/* ─── Top Info Bar ─── */
.top-info-bar {
  background: var(--secondary);
  color: #F8FAFC;
  font-size: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding: 8px 0;
  font-family: var(--font-sans);
}
.top-info-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.top-info-left, .top-info-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.info-item a {
  color: rgba(248, 250, 252, 0.85);
  transition: color 0.15s;
}
.info-item a:hover {
  color: var(--amber);
}
.info-sep {
  opacity: 0.3;
}
.live-dot-pulse {
  width: 6px;
  height: 6px;
  background: var(--red);
  border-radius: 50%;
  display: inline-block;
  margin-right: 4px;
  animation: pulse-anim 1.5s infinite;
}
@keyframes pulse-anim {
  0% { box-shadow: 0 0 0 0 rgba(239,68,68,0.7); }
  70% { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}
.top-info-bar .tabset {
  border: 1px solid rgba(255,255,255,0.25);
}
.top-info-bar .tabset button {
  padding: 4px 10px;
  min-height: 26px;
  font-size: 10.5px;
  color: rgba(255,255,255,0.85);
}
.top-info-bar .tabset button.active {
  background: rgba(255,255,255,0.2);
  color: #fff;
}
.top-info-bar .dark-toggle-btn {
  width: 26px;
  height: 26px;
  font-size: 12px;
}

/* ─── Main Header Logo Row ─── */
.main-header {
  background: var(--paper-dim);
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
}
.main-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.header-logo img {
  max-height: 48px;
  width: auto;
}
.site-title-text {
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 28px;
  color: var(--ink);
}
.header-right-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.login-btn-header {
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--rule);
  padding: 7px 16px;
  border-radius: 999px;
  color: var(--ink);
  transition: all 0.15s;
  background: #FFF;
}
.login-btn-header:hover {
  background: var(--secondary);
  color: #FFF;
  border-color: var(--secondary);
}
.header-lang-switcher .tabset {
  border: 1px solid var(--rule);
}
.header-lang-switcher .tabset button {
  color: var(--muted);
  min-height: 32px;
}
.header-lang-switcher .tabset button.active {
  background: var(--secondary);
  color: #FFF;
}

/* ─── Sub-Navigation Bar ─── */
.subnav-bar {
  background: var(--paper-dim);
  border-bottom: 2px solid var(--secondary);
  padding: 0;
}
.subnav-bar-inner {
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.subnav-bar-inner::-webkit-scrollbar {
  display: none;
}
.subnav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.subnav-list li a {
  display: block;
  padding: 12px 16px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: all 0.15s;
  border-bottom: 3px solid transparent;
}
.subnav-list li a:hover {
  color: var(--amber);
  border-bottom-color: var(--amber);
}

/* ─── Hero Section Grid ─── */
.hero-section-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}
.hero-slides-wrapper {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background: var(--secondary);
}
.hero-slides {
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  display: block;
}
.hero-slide.active {
  opacity: 1;
  z-index: 2;
}
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-slide-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 30px 24px;
  background: linear-gradient(to top, rgba(15,23,42,0.95) 0%, rgba(15,23,42,0.4) 60%, rgba(15,23,42,0) 100%);
  color: #FFF;
  z-index: 5;
}
.eyebrow-badge {
  background: var(--amber);
  color: #FFF;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-bottom: 10px;
}
.hero-slide-text h2 {
  font-size: clamp(20px, 3vw, 28px);
  margin: 0 0 10px;
  line-height: 1.25;
  color: #FFF;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  font-family: var(--font-sans);
  font-weight: 700;
}
.hero-slide-text p.hero-dek {
  color: rgba(255,255,255,0.85);
  margin: 0 0 15px;
  font-size: 14px;
  line-height: 1.45;
  font-family: var(--font-sans);
}
.hero-read-more {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--amber);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: inline-block;
  transition: transform 0.15s;
}
.hero-slide:hover .hero-read-more {
  transform: translateX(4px);
}
.hero-dots {
  position: absolute;
  bottom: 15px;
  right: 20px;
  display: flex;
  gap: 6px;
  z-index: 10;
}
.hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  padding: 0;
  transition: background 0.15s;
}
.hero-dot.active {
  background: var(--amber);
  transform: scale(1.1);
}

/* ─── Top Videos Sidebar ─── */
.hero-video-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.hero-video-sidebar .side-box {
  flex: 1;
  background: var(--secondary);
  color: #FFF;
  border: none;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hero-video-sidebar .side-box h4 {
  color: #FFF;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.featured-video-item {
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.featured-video-item:last-child {
  border-bottom: none;
}
.featured-video-item .fv-thumb {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  width: 90px;
  height: 60px;
  flex-shrink: 0;
}
.featured-video-item .fv-play {
  background: rgba(217, 4, 41, 0.85);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 9px;
  padding-left: 2px;
}
.featured-video-item .fv-title {
  color: rgba(255,255,255,0.9);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.15s;
}
.featured-video-item:hover .fv-title {
  color: var(--amber);
}

/* (dead .breaking / .live-ticker-badge rules removed — unused, belonged
   to the newzquest_breaking_ticker() function that was never called) */

/* ─── Latest News & Trending Now ─── */
.latest-trending-section {
  margin-bottom: 24px;
}
.latest-trending-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
}
.section-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.section-header h2 {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  color: var(--ink);
  letter-spacing: 0.02em;
}
.header-line {
  flex: 1;
  height: 2px;
  background: var(--rule);
}
.latest-news-feed {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.latest-item-row {
  display: flex;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rule);
}
.latest-item-row:last-child {
  border-bottom: none;
}
.latest-item-thumb {
  width: 120px;
  height: 80px;
  border-radius: var(--radius);
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}
.latest-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s;
}
.latest-item-row:hover .latest-item-thumb img {
  transform: scale(1.05);
}
.latest-item-content h3 {
  font-size: 15.5px;
  font-weight: 600;
  margin: 4px 0 8px;
  line-height: 1.35;
}
.latest-item-content h3 a {
  color: var(--ink);
  transition: color 0.15s;
}
.latest-item-content h3 a:hover {
  color: var(--amber);
}
.latest-item-cat {
  font-size: 10.5px;
  color: var(--amber);
  font-weight: 700;
  text-transform: uppercase;
}
.item-meta {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.item-divider {
  opacity: 0.5;
}

/* Trending Now list */
.trending-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.trending-now-block .trend-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
}
.trending-now-block .trend-item:last-child {
  border-bottom: none;
}
.trending-now-block .trend-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--muted);
  line-height: 1;
  opacity: 0.4;
  min-width: 24px;
}
.trend-item:hover .trend-num {
  color: var(--amber);
  opacity: 0.8;
}
.trend-content h4 {
  font-size: 13.5px;
  font-weight: 600;
  margin: 0 0 4px;
  line-height: 1.35;
}
.trend-content h4 a {
  color: var(--ink);
}
.trend-content h4 a:hover {
  color: var(--amber);
}
.trend-score-badge {
  font-size: 9.5px;
  font-weight: 700;
  color: var(--warning);
  text-transform: uppercase;
}

/* ─── Regional (India) & International (World) ─── */
.regional-international-section {
  margin-bottom: 24px;
}
.two-column-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.category-stories-wrapper {
  background: var(--paper-dim);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--rule);
}
.cat-story-large {
  margin-bottom: 16px;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 16px;
}
.cat-large-thumb-link {
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 16/9;
  margin-bottom: 12px;
  box-shadow: var(--shadow-sm);
}
.cat-large-thumb-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s;
}
.cat-story-large:hover .cat-large-thumb-link img {
  transform: scale(1.03);
}
.cat-large-content h3 {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.3;
}
.cat-large-content h3 a {
  color: var(--ink);
}
.cat-large-content h3 a:hover {
  color: var(--amber);
}
.cat-large-content p.excerpt {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0 0 10px;
}
.cat-stories-small-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cat-story-small-item {
  display: flex;
  gap: 12px;
  align-items: center;
}
.cat-story-small-item .small-thumb {
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.small-item-text h4 {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 3px;
  line-height: 1.35;
}
.small-item-text h4 a {
  color: var(--ink);
}
.small-item-text h4 a:hover {
  color: var(--amber);
}
.small-item-text span.date {
  font-size: 10px;
  color: var(--muted);
}
.no-news-msg {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  padding: 20px 0;
}

/* ─── Tech & AI & Business ─── */
.tech-business-section {
  margin-bottom: 24px;
}
.cat-grid-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.cat-grid-item {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 10px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: transform 0.15s, box-shadow 0.15s;
}
.cat-grid-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.cat-grid-thumb {
  display: block;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16/9;
  margin-bottom: 8px;
}
.cat-grid-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-grid-item-text h3 {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 6px;
  line-height: 1.35;
  flex: 1;
}
.cat-grid-item-text h3 a {
  color: var(--ink);
}
.cat-grid-item-text h3 a:hover {
  color: var(--amber);
}
.cat-grid-item-text span.date {
  font-size: 10px;
  color: var(--muted);
}

/* ─── Videos Gallery Row ─── */
.videos-row-section {
  margin-bottom: 30px;
}
.videos-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.video-gallery-card {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 8px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: all 0.15s;
}
.video-gallery-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.video-card-thumb {
  display: block;
  aspect-ratio: 16/9;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}
.video-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-play-btn-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15,23,42,0.3);
  color: #FFF;
  font-size: 20px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transition: background 0.15s, transform 0.15s;
}
.video-gallery-card:hover .video-play-btn-overlay {
  background: rgba(217, 4, 41, 0.85);
  transform: scale(1.08);
}
.video-card-caption h4 {
  font-size: 12.5px;
  font-weight: 600;
  margin: 8px 0 0;
  line-height: 1.35;
}
.video-card-caption h4 a {
  color: var(--ink);
}
.video-card-caption h4 a:hover {
  color: var(--amber);
}
.video-thumb-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--secondary), #000);
}

/* ─── Interactive Widget Strip ─── */
.interactive-widgets-section {
  background: var(--paper-dim-alt);
  padding: 30px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  margin-bottom: 24px;
}
.widgets-four-col-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.widget-card-col {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.widget-header {
  border-bottom: 2px solid var(--secondary);
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.widget-header h3 {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  color: var(--secondary);
}

/* Today's Poll styling */
.poll-container-widget .poll {
  border: none;
  padding: 0;
  margin: 0;
  background: transparent;
}
.poll-container-widget .poll h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.4;
}
.poll-container-widget .poll-options label {
  font-size: 13px;
  margin-bottom: 6px;
}
.poll-container-widget .poll-submit {
  width: 100%;
  min-height: 36px;
  background: var(--secondary);
  font-weight: 600;
  transition: background 0.15s;
}
.poll-container-widget .poll-submit:hover {
  background: var(--amber);
}

/* Daily Quotes styling */
.quote-container-widget {
  font-family: var(--font-serif);
  font-style: italic;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.quote-text-en {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ink);
}
.quote-translation-divider {
  text-align: center;
  font-size: 16px;
  font-style: normal;
  color: var(--amber);
  margin: 6px 0;
  font-weight: bold;
}
.quote-text-hi {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.quote-attribution {
  font-family: var(--font-sans);
  font-style: normal;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--teal);
  margin-top: 10px;
  letter-spacing: 0.05em;
}

/* Shayari styling */
.shayari-container-widget {
  display: flex;
  flex-direction: column;
}
.shayari-original {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink);
  font-weight: 600;
  background: #FFFBEB;
  border-left: 3px solid #F59E0B;
  padding: 8px 10px;
  border-radius: 0 4px 4px 0;
  margin-bottom: 10px;
}
.shayari-english-meaning {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
  margin-bottom: 12px;
}
.more-shayari-btn {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--teal);
  margin-top: auto;
  align-self: flex-start;
}

/* AI Shorts styling */
.shorts-feed-container {
  display: flex;
  flex-direction: column;
  max-height: 250px;
}
.shorts-subhead {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  margin: 0 0 8px;
}
.shorts-vertical-rail {
  overflow-y: auto;
  padding-right: 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.shorts-vertical-rail::-webkit-scrollbar {
  width: 4px;
}
.shorts-vertical-rail::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.15);
  border-radius: 99px;
}
.short-rail-item {
  border-bottom: 1px solid var(--rule);
  padding-bottom: 8px;
}
.short-rail-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.short-rail-item h4 {
  font-size: 12.5px;
  font-weight: 600;
  margin: 0 0 4px;
  line-height: 1.3;
}
.short-rail-item h4 a {
  color: var(--ink);
}
.short-rail-item h4 a:hover {
  color: var(--amber);
}
.short-read-excerpt {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
  margin: 0 0 4px;
}
.short-time-badge {
  font-size: 9px;
  color: var(--teal);
  font-weight: 700;
  text-transform: uppercase;
}

/* ─── Photo Stories & Weather ─── */
.photo-weather-section {
  margin-bottom: 24px;
}
.photo-weather-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
}
.photo-stories-rail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.photo-story-card {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: block;
}
.photo-story-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.photo-story-card:hover img {
  transform: scale(1.05);
}
.photo-story-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0) 100%);
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #FFF;
}
.photo-story-icon {
  font-size: 16px;
  margin-bottom: 6px;
}
.photo-story-overlay h3 {
  font-size: 14.5px;
  font-weight: 700;
  margin: 0;
  line-height: 1.35;
  color: #FFF;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.weather-card-container {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}

/* ─── Newsletter & Tag Cloud ─── */
.newsletter-tags-section {
  margin-bottom: 40px;
}
.newsletter-box {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.newsletter-desc {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 16px;
}
.newsletter-form {
  display: flex;
  gap: 10px;
}
.newsletter-form input[type="email"] {
  flex: 1;
  border: 1px solid var(--rule);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 13px;
  background: #FFF;
}
.subscribe-btn {
  background: var(--amber);
  color: #FFF;
  border: none;
  font-weight: 700;
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s;
}
.subscribe-btn:hover {
  background: var(--secondary);
}
.tag-cloud-container {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-cloud-container a {
  background: #FFF;
  border: 1px solid var(--rule);
  padding: 5px 12px;
  border-radius: 99px;
  color: var(--ink);
  transition: all 0.15s;
  font-size: 12px !important;
}
.tag-cloud-container a:hover {
  background: var(--secondary);
  color: #FFF;
  border-color: var(--secondary);
}

/* ============================================================
   RESPONSIVE DESIGN ADAPTATIONS
   ============================================================ */
@media (max-width: 860px) {
  .hero-section-grid {
    grid-template-columns: 1fr;
  }
  .latest-trending-grid {
    grid-template-columns: 1fr;
  }
  .two-column-grid {
    grid-template-columns: 1fr;
  }
  .widgets-four-col-grid {
    grid-template-columns: 1fr 1fr;
  }
  .photo-weather-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .top-info-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .top-info-right {
    width: 100%;
    justify-content: space-between;
  }
  .main-header-inner {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .widgets-four-col-grid {
    grid-template-columns: 1fr;
  }
  .photo-stories-rail {
    grid-template-columns: 1fr;
  }
  .videos-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }
  .newsletter-form {
    flex-direction: column;
  }
}

/* ============================================================
   UPGRADE V3.4.0: DETAILED VISUAL, READABILITY & ANIMATION REPAIR
   ============================================================ */

/* 1. Header & Utility Bar Squish Repair */
.top-info-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 8px 16px;
}
.top-info-left, .top-info-right {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.info-item {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
}
.info-item a {
  color: #FFF;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.info-item a:hover {
  opacity: 0.8;
}
.live-dot-pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: var(--primary);
  border-radius: 50%;
  margin-right: 6px;
  animation: pulse-dot 1.5s infinite ease-in-out;
}
@keyframes pulse-dot {
  0% { transform: scale(0.85); opacity: 0.5; }
  50% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(0.85); opacity: 0.5; }
}

/* 2. Language Switcher Toggle Visibility */
.lang-switch .tabset, .header-lang-switcher .tabset {
  display: inline-flex;
  background: rgba(255, 255, 255, 0.1);
  padding: 3px;
  border-radius: 99px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.header-lang-switcher .tabset {
  background: var(--panel-bg);
  border-color: var(--rule);
}
.lang-switch .tabset button, .header-lang-switcher .tabset button {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  padding: 4px 12px;
  border-radius: 99px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.header-lang-switcher .tabset button {
  color: var(--text-muted);
}
.lang-switch .tabset button.active, .lang-switch .tabset button:hover {
  background: #FFF;
  color: var(--secondary) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.header-lang-switcher .tabset button.active, .header-lang-switcher .tabset button:hover {
  background: var(--primary);
  color: #FFF !important;
}

/* 3. Search Actions Fix */
.header-right-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.nq-search {
  display: flex;
  align-items: center;
  background: var(--paper);
  border: 1.5px solid var(--rule);
  border-radius: 99px;
  padding: 2px 10px;
  transition: border-color 0.2s ease;
}
.nq-search:focus-within {
  border-color: var(--primary);
}
.nq-search .search-form {
  display: flex;
  align-items: center;
}
.nq-search input[type="search"] {
  border: none !important;
  outline: none !important;
  padding: 4px 8px !important;
  font-size: 13px !important;
  width: 150px;
  background: transparent !important;
  height: auto !important;
  min-height: auto !important;
}
.nq-search .search-submit {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 13px;
}
#nq-voice-search {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  margin-left: 6px;
  opacity: 0.7;
  transition: opacity 0.15s;
}
#nq-voice-search:hover {
  opacity: 1;
}

/* 4. Widget Column Constraints (Anti-Stretching) */
.widgets-four-col-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.widget-card-col {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 12px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  height: 380px; /* Constrain height */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.widget-card-col:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08);
}
.widget-card-col .widget-header {
  border-bottom: 2px solid var(--primary);
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.widget-card-col .widget-header h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}
.widget-card-col .widget-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-right: 2px;
}
/* Custom slim scrollbar for widgets */
.widget-card-col .widget-body::-webkit-scrollbar {
  width: 4px;
}
.widget-card-col .widget-body::-webkit-scrollbar-track {
  background: transparent;
}
.widget-card-col .widget-body::-webkit-scrollbar-thumb {
  background: var(--rule);
  border-radius: 99px;
}

/* Specific content stylings within widgets to preserve neatness */
.quote-container-widget, .shayari-container-widget {
  justify-content: center;
}
.quote-text-en, .shayari-original {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  font-style: italic;
}
.quote-text-hi {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
}
.quote-translation-divider {
  text-align: center;
  color: var(--primary);
  font-weight: bold;
  margin: 4px 0;
}
.quote-attribution {
  font-size: 11px;
  font-weight: 700;
  text-align: right;
  margin-top: 8px;
  color: var(--text-muted);
}
.shayari-english-meaning {
  font-size: 12px;
  line-height: 1.4;
  margin-top: 8px;
  color: var(--text-muted);
  border-top: 1px dashed var(--rule);
  padding-top: 6px;
}
.more-shayari-btn {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--primary);
  margin-top: auto;
  text-decoration: none;
  align-self: flex-start;
}
.shorts-subhead {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.short-rail-item {
  border-bottom: 1px solid var(--rule);
  padding: 8px 0;
}
.short-rail-item:last-child {
  border-bottom: none;
}
.short-rail-item h4 {
  font-size: 13px;
  margin-bottom: 4px;
}
.short-rail-item h4 a {
  color: var(--text);
  text-decoration: none;
}
.short-rail-item h4 a:hover {
  color: var(--primary);
}
.short-read-excerpt {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
  margin-bottom: 4px;
}
.short-time-badge {
  font-size: 9px;
  font-weight: bold;
  background: var(--rule);
  padding: 2px 6px;
  border-radius: 4px;
}

/* 5. Photo Stories Improvement */
.photo-stories-rail {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.photo-story-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/11;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.photo-story-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.photo-story-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}
.photo-story-card:hover img {
  transform: scale(1.05);
}
.photo-story-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
  padding: 12px;
  color: #FFF;
}
.photo-story-overlay h3 {
  font-size: 12px;
  font-weight: 600;
  margin: 4px 0 0 0;
  line-height: 1.3;
  color: #FFF;
}
.photo-story-icon {
  font-size: 10px;
  background: var(--primary);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: bold;
}

/* 6. Hardware-Accelerated Animations */
.subnav-bar-inner a {
  transition: color 0.15s ease, border-color 0.15s ease;
}
.cat-grid-item {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;
}
.cat-grid-item:hover {
  transform: translateY(-3px);
}
.latest-item-row {
  transition: transform 0.2s ease;
}
.latest-item-row:hover {
  transform: translateX(4px);
}

/* 7. Ad Slot Branding */
.ad-slot {
  display: block;
  margin: 15px auto;
  text-align: center;
}
.ad-slot .lbl {
  display: block;
  font-size: 9px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.ad-placeholder-graphic {
  transition: border-color 0.2s ease;
}
.ad-placeholder-graphic:hover {
  border-color: var(--primary) !important;
}

/* 8. 404 Error Page Styling */
.err-404-container {
  max-width: 650px;
  margin: 60px auto;
  text-align: center;
  padding: 0 16px;
}
.err-404-title {
  font-size: 96px;
  font-weight: 900;
  color: var(--primary);
  line-height: 1;
  margin: 0 0 10px 0;
}
.err-404-sub {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 15px 0;
}
.err-404-text {
  font-size: 15px;
  color: var(--text-muted);
  margin-bottom: 30px;
  line-height: 1.5;
}
.err-404-search {
  max-width: 400px;
  margin: 0 auto 30px auto;
}
.err-404-topics {
  margin-top: 40px;
  border-top: 1px solid var(--rule);
  padding-top: 30px;
}
.err-404-topics h4 {
  font-size: 14px;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: var(--secondary);
}
.err-404-grid-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

/* ============================================================
   v4.0 UPGRADE — VISUAL POLISH, ANIMATIONS & MOBILE FIXES
   ============================================================ */

/* 1. Mobile Subnav Horizontal Scroll */
.subnav-bar {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.subnav-bar::-webkit-scrollbar { display: none; }
.subnav-bar-inner {
  display: flex;
  flex-wrap: nowrap;
  min-width: max-content;
  gap: 4px;
  padding: 0 12px;
}
.subnav-bar-inner a { white-space: nowrap; flex-shrink: 0; }

/* 2. Hero Slide — Clip-Path Wipe Transition */
.hero-slide {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.6s cubic-bezier(0.77,0,0.175,1), opacity 0.3s ease;
  opacity: 0;
  position: absolute;
  inset: 0;
}
.hero-slide.active {
  clip-path: inset(0 0% 0 0);
  opacity: 1;
  position: relative;
}

/* 3. Sports Schedule Rail */
.sports-schedule-section {
  background: var(--secondary);
  color: #FFF;
  padding: 16px 0;
  margin-top: 20px;
}
.sports-rail {
  display: flex;
  overflow-x: auto;
  gap: 16px;
  padding: 4px 0 8px;
  scrollbar-width: none;
}
.sports-rail::-webkit-scrollbar { display: none; }
.sport-match-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 12px 16px;
  min-width: 200px;
  flex-shrink: 0;
  text-decoration: none;
  color: #FFF;
  transition: background 0.2s ease, transform 0.2s ease;
  display: block;
}
.sport-match-card:hover {
  background: rgba(255,255,255,0.14);
  transform: translateY(-2px);
}
.sport-match-teams { font-size: 13px; font-weight: 700; color: #FFF; margin-bottom: 4px; }
.sport-match-meta  { font-size: 11px; color: rgba(255,255,255,0.6); }
.sport-match-badge {
  display: inline-block;
  font-size: 9px; font-weight: 700;
  background: var(--primary);
  color: #FFF;
  padding: 2px 6px; border-radius: 3px;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.nq-sports-scores-section .qp-tabs { margin: 0 0 12px; }
.nq-sports-tabs .qp-tab {
  background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.2);
}
.nq-sports-tabs .qp-tab.active { background: #fff; color: var(--secondary); border-color: #fff; }
.sport-score-card .nq-score { font-weight: 800; font-family: var(--font-mono); }
.sport-match-badge.nq-live-badge {
  background: #DC2626; display: inline-flex; align-items: center; gap: 4px;
  animation: nqLivePulse 1.8s ease-in-out infinite;
}
@keyframes nqLivePulse { 0%,100%{opacity:1;} 50%{opacity:.6;} }

/* 4. Sticky Sidebar */
.side-col {
  position: sticky;
  top: 80px;
  align-self: flex-start;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: thin;
}

/* 5. Mobile Hamburger Menu */
.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  border-radius: 6px;
  transition: background 0.2s ease;
}
.menu-toggle:hover { background: var(--rule); }
.menu-toggle span {
  display: block;
  width: 22px; height: 2px;
  background: var(--text);
  border-radius: 99px;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  transform-origin: center;
}
.menu-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.menu-toggle.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.menu-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* 6. NShorts PWA Install Banner */
.nshorts-install-banner {
  background: linear-gradient(135deg, var(--secondary), #1E3A5F);
  color: #FFF;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 13px;
  flex-wrap: wrap;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 8888;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.18);
}
.nshorts-install-banner strong { font-size: 14px; }
.nshorts-install-banner .install-btn {
  background: var(--primary);
  color: #FFF;
  border: none;
  border-radius: 99px;
  padding: 8px 20px;
  font-size: 12px; font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.nshorts-install-banner .install-btn:hover { opacity: 0.85; }
.nshorts-install-banner .close-banner {
  background: none;
  border: none;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  font-size: 20px;
  padding: 0;
  line-height: 1;
}
.nshorts-install-banner.hidden { display: none !important; }

/* 7. Market / ePaper / Live TV / Crypto Page Layouts */
.market-page-wrap, .epaper-page-wrap, .livetv-page-wrap, .crypto-page-wrap {
  padding: 30px 0;
}
.tv-widget-section, .market-section, .crypto-section { margin-bottom: 40px; }
.section-divider-heading {
  font-size: 18px; font-weight: 700;
  color: var(--secondary);
  border-bottom: 2px solid var(--primary);
  padding-bottom: 10px; margin-bottom: 20px;
}
.epaper-archive-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 10px;
}
.epaper-archive-list li a {
  display: inline-block;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px; text-decoration: none;
  color: var(--text);
  transition: border-color 0.15s ease, color 0.15s ease;
}
.epaper-archive-list li a:hover { border-color: var(--primary); color: var(--primary); }

/* 8. Category / Tag Archive Hero Card */
.archive-hero-card {
  position: relative;
  border-radius: 12px; overflow: hidden;
  margin-bottom: 30px;
  min-height: 320px;
  background: var(--secondary);
}
.archive-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 60%);
  display: flex; flex-direction: column;
  justify-content: flex-end;
  padding: 30px; color: #FFF;
}
.archive-hero-overlay h2 {
  font-size: 26px; font-weight: 800; line-height: 1.3;
  margin-bottom: 8px; color: #FFF;
}

/* 9. Comments Area */
.comments-area {
  margin-top: 40px;
  border-top: 2px solid var(--rule);
  padding-top: 30px;
}
.comments-title { font-size: 20px; font-weight: 700; color: var(--secondary); margin-bottom: 24px; }
.comment-list   { list-style: none; padding: 0; margin: 0 0 40px 0; }
.comment {
  display: flex; gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
}
.comment:last-child { border-bottom: none; }
.comment img.avatar { border-radius: 50%; flex-shrink: 0; width: 48px; height: 48px; }
.comment-meta-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.comment-author-name { font-weight: 700; font-size: 14px; color: var(--secondary); }
.comment-date  { font-size: 11px; color: var(--text-muted); }
.comment-text  { font-size: 14px; line-height: 1.6; color: var(--text); }
.comment-reply-link {
  font-size: 11px; font-weight: 700;
  color: var(--primary); text-decoration: none;
  margin-top: 6px; display: inline-block;
}
.comment-form label {
  display: block; font-size: 12px; font-weight: 700;
  color: var(--text-muted); margin-bottom: 4px;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  border: 1.5px solid var(--rule);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px; font-family: inherit;
  background: var(--paper); color: var(--text);
  transition: border-color 0.2s ease;
  resize: vertical;
  box-sizing: border-box;
}
.comment-form input:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: var(--primary);
}
.comment-form .submit {
  background: var(--primary); color: #FFF;
  border: none; border-radius: 99px;
  padding: 12px 30px;
  font-size: 14px; font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.comment-form .submit:hover { opacity: 0.85; }

/* 10. Video Gallery Grid */
.videos-gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.video-gallery-card { background: var(--paper); border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
.video-card-thumb { position: relative; display: block; }
.video-card-thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.video-play-btn-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px;
  background: rgba(0,0,0,0.3);
  color: #FFF;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.video-card-thumb:hover .video-play-btn-overlay { opacity: 1; }
.video-card-caption { padding: 10px 12px; }
.video-card-caption h4 { font-size: 13px; font-weight: 700; margin: 0 0 4px 0; line-height: 1.4; }
.video-card-caption h4 a { color: var(--text); text-decoration: none; }
.video-card-caption h4 a:hover { color: var(--primary); }

/* 11. Archive Layout Responsive */
@media (max-width: 900px) {
  .archive-layout-grid { grid-template-columns: 1fr !important; }
  .videos-gallery-grid { grid-template-columns: repeat(2,1fr); }
}

/* 12. Global Responsive Fixes */
@media (max-width: 860px) {
  .side-col { position: static; max-height: none; overflow-y: visible; }
  .menu-toggle { display: flex; }
  .sports-schedule-section { padding: 12px 0; }
  .archive-hero-card { min-height: 220px; }
  .archive-hero-overlay h2 { font-size: 20px; }
}
@media (max-width: 600px) {
  .sports-rail { gap: 12px; }
  .sport-match-card { min-width: 160px; padding: 10px 12px; }
  .nshorts-install-banner { flex-direction: column; align-items: flex-start; }
  .videos-gallery-grid { grid-template-columns: 1fr; }
}


/* ================================================================
   v4.1 FULL UI REDESIGN — NewzQuest Reference Layout
   Brand: #D90429 red | #0F172A navy | #F8FAFC light bg
   ================================================================ */

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.wrap { max-width: 1400px; margin: 0 auto; padding: 0 16px; width: 100%; box-sizing: border-box; }
body { font-family: 'Inter', 'Noto Sans Devanagari', system-ui, sans-serif; color: #111827; background: #F8FAFC; font-size: 15px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

/* ── TOP BAR ── */
.nq-topbar { background: #0F172A; color: rgba(255,255,255,0.85); font-size: 11.5px; border-bottom: 2px solid #D90429; }
.nq-topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 36px; gap: 12px; overflow: hidden; }
.nq-topbar-left { display: flex; align-items: center; gap: 14px; overflow: hidden; }
.nq-topbar-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.nq-breaking-badge { background: #D90429; color: #FFF; font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 3px; text-transform: uppercase; letter-spacing: .05em; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.live-dot-pulse { width: 7px; height: 7px; background: #FFF; border-radius: 50%; animation: pulse-red 1.4s ease-in-out infinite; display: inline-block; }
@keyframes pulse-red { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }
.topbar-link { color: rgba(255,255,255,.75); font-size: 11px; transition: color .15s; white-space: nowrap; }
.topbar-link:hover { color: #FFF; }
.topbar-datetime { font-size: 11px; color: rgba(255,255,255,.6); white-space: nowrap; }

/* ── Language Toggle ── */
.nq-lang-toggle-top, .nq-nav-lang { display: flex; align-items: center; gap: 3px; }
.lang-btn, .lang-pill { font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 3px; color: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.2); transition: all .15s; cursor: pointer; letter-spacing: .04em; }
.lang-btn.active, .lang-pill.active { background: #D90429; color: #FFF; border-color: #D90429; }
.lang-btn:hover, .lang-pill:hover { color: #FFF; border-color: rgba(255,255,255,.5); }

/* ── Social Icons Top Bar ── */
.nq-social-top { display: flex; align-items: center; gap: 6px; }
.social-icon-link { color: rgba(255,255,255,.6); transition: color .15s; display: flex; align-items: center; }
.social-icon-link:hover { color: #FFF; }

/* ── Market Ticker ── */
.nq-market-ticker { height: 44px; overflow: hidden; background: #FFF; border-bottom: 1px solid #E2E8F0; }

/* ── Main Header ── */
.nq-main-header { background: #FFF; border-bottom: 1px solid #E2E8F0; padding: 10px 0; position: sticky; top: 0; z-index: 700; box-shadow: 0 1px 6px rgba(0,0,0,.06); }
.nq-main-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

/* ── Logo ── */
.nq-logo-zone a.custom-logo-link img { max-height: 52px; width: auto; }
.nq-text-logo { font-size: 26px; font-weight: 900; letter-spacing: -.02em; line-height: 1; display: flex; align-items: center; }
.nq-text-logo-footer { font-size: 22px; }
.logo-newz { color: #0F172A; }
.logo-quest { color: #D90429; }

/* Fix: when custom logo uploaded, hide site-name text (WP adds img tag inside the link) */
.custom-logo-link { display: flex; align-items: center; }
site-title-text { display: none; } /* never shown if logo set */

/* ── Header Actions ── */
.nq-header-actions { display: flex; align-items: center; gap: 10px; }
.nq-search-form { display: flex; align-items: center; border: 1.5px solid #E2E8F0; border-radius: 6px; overflow: hidden; background: #F8FAFC; transition: border-color .15s; }
.nq-search-form:focus-within { border-color: #D90429; }
.nq-search-input { border: none; background: transparent; padding: 7px 10px; font-size: 13px; width: 180px; outline: none; color: #111827; }
.nq-search-btn { background: none; border: none; padding: 7px 10px; cursor: pointer; color: #64748B; display: flex; align-items: center; }
.nq-search-btn:hover { color: #D90429; }
.nq-cta-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none; white-space: nowrap; transition: all .15s; }
.nq-cta-outline { border: 1.5px solid #CBD5E1; color: #0F172A; background: transparent; }
.nq-cta-outline:hover { border-color: #D90429; color: #D90429; }
.nq-cta-primary { background: #D90429; color: #FFF; border: 1.5px solid #D90429; }
.nq-cta-primary:hover { background: #B30020; border-color: #B30020; }
.menu-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; border-radius: 5px; }
.menu-toggle span { display: block; width: 22px; height: 2px; background: #0F172A; border-radius: 99px; transition: all .3s; }
.menu-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ── Primary Nav ── */
.nq-primary-nav {
  background: #0F172A;
  position: sticky;
  top: var(--nq-header-h, 64px); /* --nq-header-h is set by JS to the logo bar's real height */
  z-index: 690;
}
.nq-nav-inner { display: flex; align-items: center; justify-content: space-between; }
.nq-nav-list { display: flex; list-style: none; flex-wrap: wrap; scrollbar-width: none; }
/* NOTE: this used to have overflow-x:auto for horizontal scroll on tight
   widths, but per the CSS overflow spec, setting overflow-x to anything
   other than visible forces overflow-y to compute as "auto" too — which
   was silently clipping every dropdown flyout below the nav bar. That was
   the actual root cause of "dropdowns not working". Using flex-wrap
   instead avoids the clip while still degrading gracefully on tight
   viewports (the mobile hamburger takes over below 861px anyway). */
.nq-nav-list > li > a { display: block; color: rgba(255,255,255,.85); font-size: 13px; font-weight: 600; padding: 14px 14px; white-space: nowrap; letter-spacing: .02em; transition: color .15s, background .15s; }
.nq-nav-list > li > a:hover, .nq-nav-list > li.current-menu-item > a { color: #FFF; background: rgba(255,255,255,.08); }
.nav-arrow { font-size: 9px; margin-left: 3px; opacity: .7; }

/* ── Dropdown Menus ── */
.nq-nav-list .nav-item { position: relative; }
.nav-dropdown { display: none; position: absolute; top: 100%; left: 0; background: #FFF; min-width: 180px; border-radius: 0 0 8px 8px; box-shadow: 0 8px 24px rgba(0,0,0,.14); z-index: 999; border-top: 2px solid #D90429; list-style: none; padding: 6px 0; }
.nav-dropdown li a { display: block; padding: 9px 16px; font-size: 13px; color: #1E293B; font-weight: 500; transition: background .12s, color .12s; white-space: nowrap; }
.nav-dropdown li a:hover { background: #FEE2E2; color: #D90429; }
.nav-item.has-dropdown:hover .nav-dropdown,
.nav-item.has-dropdown:focus-within .nav-dropdown { display: block; }
.nq-nav-lang { display: flex; align-items: center; gap: 4px; padding: 0 8px; flex-shrink: 0; }

/* ── Mobile Nav Overlay ── */
.nq-nav-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 599; }
.nq-nav-overlay.visible { display: block; }
body.nav-open { overflow: hidden; }

/* ── Breaking Ticker ── */
/* v5.3: removed .breaking-ticker-* rule set here — dead code, never
   referenced by any template. The live breaking-news ticker uses the
   .nq-breaking-* classes defined further below. */
.ticker-item { display: inline-block; padding: 0 32px; font-size: 13px; font-weight: 500; color: #1E293B; }
.ticker-item a { color: inherit; }
.ticker-item a:hover { color: #D90429; }
.ticker-separator { color: #D90429; padding: 0 8px; }

/* ── Hero Section ── */
.nq-hero { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin: 20px auto; }
.nq-hero-main { position: relative; border-radius: 10px; overflow: hidden; background: #0F172A; min-height: 420px; }
.nq-hero-main-link { display: block; position: relative; height: 100%; }
.nq-hero-img { width: 100%; height: 100%; object-fit: cover; min-height: 420px; display: block; opacity: .75; transition: opacity .3s; }
.nq-hero-main:hover .nq-hero-img { opacity: .85; }
.nq-hero-main-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px 28px; background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.4) 60%, transparent 100%); color: #FFF; }
.nq-hero-headline { font-size: clamp(18px, 2.2vw, 28px); font-weight: 800; line-height: 1.25; margin: 8px 0; color: #FFF; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.nq-hero-dek { font-size: 14px; color: rgba(255,255,255,.82); line-height: 1.5; margin-bottom: 8px; }
.nq-hero-meta { font-size: 12px; color: rgba(255,255,255,.6); }
.nq-hero-dots { position: absolute; bottom: 16px; right: 20px; display: flex; gap: 6px; }
.hero-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.4); border: none; cursor: pointer; padding: 0; transition: background .2s, transform .2s; }
.hero-dot.active { background: #FFF; transform: scale(1.2); }

/* ── Hero Sidebar (3 stacked cards) ── */
.nq-hero-sidebar { display: flex; flex-direction: column; gap: 10px; }
.nq-hero-side-card { display: flex; gap: 10px; background: #FFF; border: 1px solid #E2E8F0; border-radius: 8px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.nq-hero-side-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.1); transform: translateY(-1px); }
.nq-hero-side-thumb { width: 110px; flex-shrink: 0; }
.nq-side-img { width: 110px; height: 80px; object-fit: cover; display: block; }
.nq-hero-side-content { padding: 10px 10px 10px 2px; display: flex; flex-direction: column; justify-content: space-between; gap: 4px; flex: 1; }
.nq-hero-side-content h3 { font-size: 13px; font-weight: 700; line-height: 1.35; color: #111827; }
.nq-side-date { font-size: 11px; color: #64748B; }

/* ── Category Badge ── */
.nq-cat-badge { display: inline-block; font-size: 9px; font-weight: 800; padding: 2px 7px; border-radius: 3px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.badge-red { background: #D90429; color: #FFF; }
.badge-white { background: #FFF; color: #D90429; }
.badge-muted { background: #E2E8F0; color: #475569; }
.badge-sm { font-size: 8px; padding: 1px 5px; }

/* ── 3-Col Feature Grid ── */
.nq-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 28px; }
.nq-feature-card { background: #FFF; border: 1px solid #E2E8F0; border-radius: 10px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.nq-feature-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.1); transform: translateY(-2px); }
.nq-feature-thumb-link { display: block; position: relative; overflow: hidden; }
.nq-feature-img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; transition: transform .3s; }
.nq-feature-card:hover .nq-feature-img { transform: scale(1.04); }
.nq-feature-thumb-link .nq-cat-badge { position: absolute; top: 10px; left: 10px; }
.nq-feature-body { padding: 14px 16px 16px; }
.nq-feature-body h3 { font-size: 15px; font-weight: 700; line-height: 1.4; margin-bottom: 6px; }
.nq-feature-body h3 a:hover { color: #D90429; }
.nq-feature-excerpt { font-size: 12.5px; color: #64748B; line-height: 1.55; margin-bottom: 8px; }
.nq-card-meta { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }
.nq-card-date { font-size: 11px; color: var(--muted); }

/* ── Content + Sidebar Layout ── */
.nq-content-sidebar-wrap { display: grid; grid-template-columns: 1fr 300px; gap: 30px; margin-top: 28px; align-items: start; }
.nq-content-main { min-width: 0; }
.nq-sidebar { position: sticky; top: 80px; align-self: flex-start; }

/* ── Section Heads ── */
.nq-section { margin-bottom: 32px; }
.nq-section-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #D90429; padding-bottom: 8px; margin-bottom: 16px; }
.nq-section-head h2, .nq-section-head h3 { font-size: 17px; font-weight: 800; color: #0F172A; text-transform: uppercase; letter-spacing: .04em; }
.nq-see-all { font-size: 12px; font-weight: 600; color: #D90429; white-space: nowrap; }
.nq-see-all:hover { text-decoration: underline; }

/* ── Latest List ── */
.nq-list-feed { display: flex; flex-direction: column; gap: 0; }
.nq-list-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #F1F5F9; transition: background .15s; }
.nq-list-item:hover { background: #FAFBFC; }
.nq-list-thumb { flex-shrink: 0; width: 100px; }
.nq-list-thumb img { width: 100px; height: 66px; object-fit: cover; border-radius: 5px; }
.nq-list-body { flex: 1; min-width: 0; }
.nq-list-body h3 { font-size: 14px; font-weight: 700; margin: 4px 0 6px; line-height: 1.35; }
.nq-list-body h3 a:hover { color: #D90429; }

/* ── 2-Col Blocks ── */
.nq-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 32px; }
.nq-cat-block {} 
.nq-cat-lead { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.nq-cat-lead-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 7px; display: block; }
.nq-cat-lead-body h3 { font-size: 15px; font-weight: 700; line-height: 1.35; margin: 4px 0 4px; }
.nq-cat-lead-body h3:hover { color: #D90429; }
.nq-cat-lead-body p { font-size: 12.5px; color: #64748B; line-height: 1.5; }
.nq-cat-mini { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-top: 1px solid #F1F5F9; }
.nq-cat-mini a { font-size: 13.5px; font-weight: 600; color: #1E293B; line-height: 1.4; }
.nq-cat-mini a:hover { color: #D90429; }
.nq-cat-mini span { font-size: 11px; color: var(--muted); }

/* ── Mini Card Grid ── */
.nq-mini-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.nq-mini-card { position: relative; }
.nq-mini-card a { display: block; position: relative; }
.nq-mini-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; }
.nq-mini-card .nq-cat-badge { position: absolute; top: 6px; left: 6px; }
.nq-mini-card h4 { font-size: 12px; font-weight: 700; line-height: 1.35; margin-top: 6px; }
.nq-mini-card h4 a:hover { color: #D90429; }

/* ── Interactive Strip (Poll/Quote/Shayari/AI) ── */
.nq-interactive-strip { margin-bottom: 32px; }
.nq-interactive-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.nq-interactive-card { background: #FFF; border: 1px solid #E2E8F0; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 10px; min-height: 220px; }
.nq-ic-head { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #D90429; border-bottom: 1px solid #F1F5F9; padding-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.nq-ic-head small { font-size: 9px; color: var(--muted); font-weight: 600; letter-spacing: .05em; }
.nq-ic-meta { font-size: 13px; color: #64748B; }
.nq-ic-readmore { font-size: 11px; font-weight: 700; color: #D90429; margin-top: auto; }
.nq-ic-readmore:hover { text-decoration: underline; }

/* Poll card */
.nq-poll-question { font-size: 13px; font-weight: 700; color: #1E293B; line-height: 1.4; margin-bottom: 8px; }
.nq-poll-option { display: flex; align-items: center; gap: 6px; font-size: 12px; padding: 4px 0; cursor: pointer; color: #374151; }
.nq-poll-vote-btn { margin-top: 8px; background: #D90429; color: #FFF; border: none; border-radius: 5px; padding: 6px 16px; font-size: 12px; font-weight: 700; cursor: pointer; width: 100%; }
.nq-poll-vote-btn:hover { background: #B30020; }

/* Quote card */
.nq-quote-card { background: linear-gradient(135deg, #FFF5F5, #FFF); border-color: #FECACA; }
.nq-quote-block { border-left: 3px solid #D90429; padding-left: 12px; }
.nq-quote-block p { font-size: 13px; font-style: italic; color: #374151; line-height: 1.55; }
.nq-quote-block cite { font-size: 11px; color: var(--muted); display: block; margin-top: 6px; }

/* Shayari card */
.nq-shayari-card { background: linear-gradient(135deg, #F0F9FF, #FFF); border-color: #BAE6FD; }
.nq-shayari-block p { font-size: 14px; line-height: 1.8; color: #1E293B; font-weight: 500; }

/* AI Shorts card */
.nq-ai-card { background: linear-gradient(135deg, #F8F8FF, #FFF); }
.nq-ai-short-item { border-bottom: 1px solid #F1F5F9; padding-bottom: 8px; }
.nq-ai-short-item:last-child { border-bottom: none; }
.nq-ai-short-item h4 { font-size: 12.5px; font-weight: 700; margin-bottom: 3px; line-height: 1.35; }
.nq-ai-short-item h4 a:hover { color: #D90429; }
.nq-ai-short-item p { font-size: 11px; color: #64748B; margin-bottom: 3px; }
.nq-ai-read { font-size: 10px; font-weight: 700; color: #D90429; }

/* ── Sidebar ── */
.nq-sidebar-box { background: #FFF; border: 1px solid #E2E8F0; border-radius: 10px; padding: 16px; margin-bottom: 20px; }
.nq-ranked-item { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid #F1F5F9; }
.nq-ranked-item:last-child { border-bottom: none; }
.nq-rank-num { font-size: 22px; font-weight: 900; color: #D90429; opacity: .35; min-width: 24px; line-height: 1; }
.nq-ranked-item h4 { font-size: 13px; font-weight: 700; line-height: 1.35; margin-bottom: 2px; }
.nq-ranked-item h4 a:hover { color: #D90429; }
.nq-trend-score { font-size: 10px; font-weight: 700; color: #D90429; }
.nq-ad-sidebar { margin-bottom: 20px; }
.nq-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; }
.nq-tag-cloud a { font-size: 11px; background: #F1F5F9; border: 1px solid #E2E8F0; border-radius: 99px; padding: 3px 10px; color: #475569; transition: all .15s; }
.nq-tag-cloud a:hover { background: #D90429; color: #FFF; border-color: #D90429; }

/* ── Newsletter Block ── */
.nq-newsletter-block { background: linear-gradient(135deg, #0F172A, #1E3A5F); color: #FFF; border-radius: 10px; padding: 28px 24px; text-align: center; margin-bottom: 32px; }
.nq-newsletter-block h3 { font-size: 20px; font-weight: 800; margin-bottom: 6px; }
.nq-newsletter-block p { font-size: 13px; color: rgba(255,255,255,.75); margin-bottom: 16px; }
.nq-newsletter-form { display: flex; gap: 8px; max-width: 440px; margin: 0 auto; }
.nq-newsletter-form input { flex: 1; border: none; border-radius: 6px; padding: 10px 14px; font-size: 13px; outline: none; }
.nq-newsletter-form button { background: #D90429; color: #FFF; border: none; border-radius: 6px; padding: 10px 20px; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.nq-newsletter-form button:hover { background: #B30020; }

/* ── Ad Slots ── */
.nq-ad-leaderboard { margin: 12px auto; }
.nq-ad-mid { margin: 20px auto; }
.ad-lbl { display: block; text-align: center; font-size: 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.ad-placeholder { background: #F1F5F9; border: 1px dashed #CBD5E1; color: var(--muted); font-size: 11px; padding: 18px; text-align: center; border-radius: 5px; font-family: monospace; }

/* ── Footer ── */
.nq-footer { background: #0F172A; color: rgba(255,255,255,.75); margin-top: 40px; }
.nq-footer-inner { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 32px; padding: 48px 16px 32px; }
.nq-footer-brand { display: flex; flex-direction: column; gap: 14px; }
.nq-footer-tagline { font-size: 12.5px; color: rgba(255,255,255,.55); line-height: 1.6; }
.nq-footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.fsocial-link { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 6px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); transition: all .15s; }
.fsocial-link svg { width: 16px; height: 16px; }
.fsocial-link:hover { background: #D90429; color: #FFF; }
.nq-footer-col h5 { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #FFF; margin-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 8px; }
.nq-footer-col a { display: block; font-size: 13px; color: rgba(255,255,255,.6); padding: 3px 0; transition: color .15s; }
.nq-footer-col a:hover { color: #FFF; }

/* Footer Newsletter Strip */
.nq-footer-newsletter { background: rgba(217,4,41,.12); border-top: 1px solid rgba(217,4,41,.25); border-bottom: 1px solid rgba(255,255,255,.05); padding: 20px 16px; }
.nq-footer-nl-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.nq-footer-nl-inner strong { font-size: 14px; color: #FFF; display: block; margin-bottom: 2px; }
.nq-footer-nl-inner span { font-size: 12px; color: rgba(255,255,255,.6); }
.nq-footer-newsletter .nq-newsletter-form { margin: 0; max-width: 360px; }

/* Copyright bar */
.nq-copyright { background: #060F1C; padding: 12px 16px; }
.nq-copyright-inner { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,.4); }
.nq-copyright-right { display: flex; align-items: center; gap: 6px; }
.nq-copyright-right .lang-pill { background: transparent; color: rgba(255,255,255,.4); border-color: rgba(255,255,255,.15); }
.nq-copyright-right .lang-pill.active { background: #D90429; color: #FFF; border-color: #D90429; }

/* ── Dark Mode ── */
[data-theme="dark"] body { background: #0D1117; color: #E2E8F0; }
[data-theme="dark"] .nq-main-header { background: #111827; border-color: #1F2937; }
[data-theme="dark"] .nq-feature-card, [data-theme="dark"] .nq-hero-side-card, [data-theme="dark"] .nq-list-item, [data-theme="dark"] .nq-interactive-card, [data-theme="dark"] .nq-sidebar-box { background: #1F2937; border-color: #374151; color: #E2E8F0; }
[data-theme="dark"] .nq-feature-body h3 a, [data-theme="dark"] .nq-list-body h3 a, [data-theme="dark"] .nq-hero-side-content h3 { color: #F1F5F9; }
[data-theme="dark"] .nq-primary-nav { background: #060F1C; }
[data-theme="dark"] .nav-dropdown { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nav-dropdown li a { color: #E2E8F0; }
[data-theme="dark"] .nav-dropdown li a:hover { background: #374151; color: #FFF; }
[data-theme="dark"] .nq-search-form { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-search-input { color: #E2E8F0; }
[data-theme="dark"] .nq-tag-cloud a { background: #374151; border-color: #4B5563; color: #CBD5E1; }
[data-theme="dark"] .nq-section-head h2, [data-theme="dark"] .nq-section-head h3 { color: #F1F5F9; }
[data-theme="dark"] .nq-cat-mini a { color: #E2E8F0; }
[data-theme="dark"] .nq-topbar { background: #060F1C; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .nq-hero { grid-template-columns: 3fr 2fr; }
  .nq-footer-inner { grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
  .nq-interactive-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 860px) {
  .nq-topbar { display: none; } /* Collapse on mobile */
  .nq-hero { grid-template-columns: 1fr; }
  .nq-hero-sidebar { display: none; } /* Show stacked below on mobile */
  .nq-feature-grid { grid-template-columns: repeat(2,1fr); }
  .nq-content-sidebar-wrap { grid-template-columns: 1fr; }
  .nq-sidebar { position: static; }
  .nq-two-col { grid-template-columns: 1fr; }
  .nq-mini-grid { grid-template-columns: repeat(2,1fr); }
  .nq-interactive-grid { grid-template-columns: 1fr 1fr; }
  .nq-footer-inner { grid-template-columns: 1fr 1fr; }
  /* overflow-x:auto removed here — it clipped dropdown flyouts in this
     width range (701–860px) before the hamburger takes over at 700px.
     .nq-nav-list now wraps instead via flex-wrap, so nothing is clipped. */
  .menu-toggle { display: flex; }
  .nq-nav-list > li > a { padding: 12px 10px; font-size: 12px; }
  .nq-search-input { width: 120px; }
  .nq-footer-nl-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 540px) {
  .nq-feature-grid { grid-template-columns: 1fr; }
  .nq-mini-grid { grid-template-columns: 1fr; }
  .nq-interactive-grid { grid-template-columns: 1fr; }
  .nq-footer-inner { grid-template-columns: 1fr; }
  .nq-newsletter-form { flex-direction: column; }
  .nq-header-actions .nq-cta-outline { display: none; }
  .nq-search-input { width: 100px; }
}


/* ================================================================
   V5.1 COMPLETE LAYOUT CSS — NewzQuest Professional Theme
   All new class names used in header.php / front-page.php / footer.php
   Brand: #D90429 red | #0F172A navy | #F8FAFC light
   ================================================================ */

/* ─── TOP BAR ─── */
.nq-topbar {
  background: #0F172A;
  color: rgba(255,255,255,0.85);
  font-size: 12px;
  border-bottom: 2px solid #D90429;
  overflow: hidden;
}
.nq-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 38px;
  gap: 12px;
}
.nq-topbar-left { display: flex; align-items: center; gap: 14px; overflow: hidden; }
.nq-topbar-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.nq-breaking-badge {
  background: #D90429;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: .06em;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.nq-topbar-date { font-size: 11px; color: rgba(255,255,255,.65); white-space: nowrap; }
.nq-top-social { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
/* v9.5: the old plain grey/rounded-square .nq-tsoc rule that used to
   live here was a second, competing definition of the exact same class
   as the branded circular version further down this file (search
   "OFFICIAL BRAND SOCIAL ICONS") — same selector, different border-
   radius/background/sizing, fighting over which one the cascade
   actually applies. Removed here so there's exactly one definition. */
.nq-topbar-lang { display: flex; align-items: center; gap: 4px; }
/* (duplicate .nq-lang-chip rule removed — consolidated version with
   "visible always in topbar" comment appears later in this file) */
.nq-dark-btn {
  background: none; border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.8); border-radius: 4px;
  width: 26px; height: 26px; cursor: pointer;
  font-size: 12px; display: flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.nq-dark-btn:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ─── MAIN HEADER ─── */
.nq-header {
  background: #fff;
  border-bottom: 1px solid #E2E8F0;
  position: sticky;
  top: 0;
  z-index: 700;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.nq-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 68px;
}

/* Logo */
.nq-logo-area { flex-shrink: 0; }
.nq-logo-link { display: flex; align-items: center; }
.nq-logo-img {
  max-height: 46px;
  width: auto;
  display: block;
  /* IMPORTANT: no blend mode by default. Most uploaded logos are already
     transparent PNG/SVG — forcing mix-blend-mode:multiply on those washes
     out or hides any light-colored parts of the artwork (this caused a
     real "invisible/low-contrast logo" regression). Blending is opt-in:
     only logos that genuinely ship with a white/solid rectangular
     background should use it. */
}
/* Opt-in: enabled via Customize → Branding → "My logo has a white/solid
   background box" — only then does header.php add the .solid-bg class. */
.nq-logo-img.solid-bg { mix-blend-mode: multiply; }
[data-theme="dark"] .nq-logo-img.solid-bg { mix-blend-mode: screen; }
.nq-wordmark {
  font-size: 26px; font-weight: 900; letter-spacing: -.02em;
  display: flex; align-items: center; line-height: 1;
  text-decoration: none;
}
.logo-newz { color: #0F172A; }
.logo-quest { color: #D90429; }

/* Search */
.nq-header-search {
  flex: 1; max-width: 400px;
  display: flex; align-items: center;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  overflow: hidden;
  background: #F8FAFC;
  transition: border-color .15s;
}
.nq-header-search:focus-within { border-color: #D90429; }
.nq-header-search-input {
  flex: 1; border: none; background: transparent;
  padding: 8px 12px; font-size: 13px; outline: none; color: #111827;
}
.nq-header-search-btn {
  background: none; border: none; padding: 8px 12px;
  cursor: pointer; color: #64748B; display: flex; align-items: center;
  transition: color .15s;
}
.nq-header-search-btn:hover { color: #D90429; }

/* Actions */
.nq-header-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.nq-btn-outline {
  display: inline-flex; align-items: center; padding: 7px 16px;
  border: 1.5px solid #CBD5E1; border-radius: 6px;
  font-size: 13px; font-weight: 600; color: #0F172A;
  background: transparent; white-space: nowrap; transition: all .15s;
}
.nq-btn-outline:hover { border-color: #D90429; color: #D90429; }
.nq-btn-primary {
  display: inline-flex; align-items: center; padding: 7px 18px;
  background: #D90429; border: 1.5px solid #D90429; border-radius: 6px;
  font-size: 13px; font-weight: 700; color: #fff;
  white-space: nowrap; transition: all .15s; cursor: pointer;
}
.nq-btn-primary:hover { background: #B30020; border-color: #B30020; }

/* Hamburger */
.nq-hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 12px;
  border-radius: 5px;
  min-width: 44px; min-height: 44px;
  align-items: center; justify-content: center;
}
.nq-hamburger span {
  display: block; width: 22px; height: 2px;
  background: #0F172A; border-radius: 99px; transition: all .3s;
}
.nq-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.nq-hamburger.open span:nth-child(2) { opacity: 0; }
.nq-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ─── PRIMARY NAV ─── */
.nq-primary-nav {
  background: #0F172A;
  position: sticky;
  top: var(--nq-header-h, 64px);
  z-index: 690;
}
.nq-nav-inner {
  display: flex; align-items: center; justify-content: flex-start;
  gap: 0;
}
/* Language toggle as the first nav item: sits flush against Home with a
   thin divider, rather than floating apart from the menu (space-between
   would otherwise stretch a big gap between a 2-item flex row). */
.nq-nav-lang-row-first {
  border-right: 1px solid rgba(255,255,255,.14);
  margin-right: 4px;
}
.nq-nav-list {
  display: flex; list-style: none; margin: 0; padding: 0;
  flex-wrap: wrap; scrollbar-width: none;
}
.nq-nav-item { position: relative; }
.nq-nav-item > a {
  display: flex; align-items: center; gap: 4px;
  color: rgba(255,255,255,.85); font-size: 13px; font-weight: 600;
  padding: 14px 13px; white-space: nowrap;
  letter-spacing: .02em; transition: color .15s, background .15s;
}
.nq-nav-item > a:hover,
.nq-nav-item.nq-nav-cur > a { color: #fff; background: rgba(255,255,255,.08); }
.nq-nav-arrow {
  font-size: 9px; opacity: .7; margin-left: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 8px 6px; margin: -8px -6px -8px 4px; /* expand tap target without affecting layout */
  cursor: pointer;
}

/* Dropdown */
.nq-nav-dropdown {
  display: none; position: absolute; top: 100%; left: 0;
  background: #fff; min-width: 180px;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  z-index: 999; border-top: 2px solid #D90429;
  list-style: none; padding: 6px 0; margin: 0;
}
.nq-nav-dropdown li a {
  display: block; padding: 9px 16px; font-size: 13px;
  color: #1E293B; font-weight: 500; transition: background .12s, color .12s;
  white-space: nowrap;
}
.nq-nav-dropdown li a:hover { background: #FEE2E2; color: #D90429; }
.nq-nav-dropdown-viewall {
  font-weight: 700 !important; color: #D90429 !important;
  border-bottom: 1px solid #F1F5F9; margin-bottom: 4px; padding-bottom: 10px !important;
}
.nq-nav-item.has-sub:hover .nq-nav-dropdown,
.nq-nav-item.has-sub:focus-within .nq-nav-dropdown { display: block; }

/* Nav lang */
.nq-nav-lang-row {
  display: flex; align-items: center; gap: 4px; padding: 0 10px; flex-shrink: 0;
}
.nq-nav-lang-btn {
  font-size: 10px; font-weight: 700; padding: 3px 8px;
  border-radius: 3px; color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.2); transition: all .15s; white-space: nowrap;
}
.nq-nav-lang-btn.active { background: #D90429; color: #fff; border-color: #D90429; }
.nq-nav-lang-btn:hover { color: #fff; border-color: rgba(255,255,255,.4); }

/* Mobile overlay */
.nq-mobile-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.5); z-index: 599;
}
.nq-mobile-overlay.visible { display: block; }
body.nq-nav-open { overflow: hidden; }

/* ─── BREAKING NEWS BAR ─── */
.nq-breaking-bar {
  background: #0F172A;
  border-bottom: 2px solid #D90429;
  padding: 0;
  overflow: hidden;
  height: 40px;
}
.nq-breaking-inner {
  display: flex; align-items: center; height: 40px; gap: 0;
}
.nq-breaking-label {
  background: #D90429; color: #fff;
  font-size: 10px; font-weight: 800;
  padding: 0 12px; height: 100%;
  display: flex; align-items: center; gap: 6px;
  text-transform: uppercase; letter-spacing: .06em;
  white-space: nowrap; flex-shrink: 0;
}
.nq-breaking-track-wrap { overflow: hidden; flex: 1; }
.nq-breaking-track {
  display: flex; align-items: center;
  white-space: nowrap;
  /* animation-duration is set dynamically by adjustTickerSpeed() JS;
     220s is just the pre-JS fallback for a calmer initial pace */
  animation: nq-breaking-scroll 220s linear infinite;
  will-change: transform;
}
.nq-breaking-track:hover { animation-play-state: paused; }
.nq-brk-item {
  display: inline-block; padding: 0 24px;
  font-size: 13px; font-weight: 500;
  color: rgba(255,255,255,.9); transition: color .15s;
}
.nq-brk-item:hover { color: #D90429; }
.nq-brk-sep { color: #D90429; padding: 0 6px; }
@keyframes nq-breaking-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ─── MARKET TICKER BAR ─── */
.nq-market-bar {
  background: #fff;
  border-bottom: 1px solid #E2E8F0;
  min-height: 46px;
  overflow: hidden;
}
.nq-tv-widget { width: 100%; min-height: 44px; }
.nq-market-bar-fallback {
  display: flex; align-items: center; justify-content: center;
  height: 44px; font-size: 13px; font-weight: 600;
  color: var(--muted); text-decoration: none;
}
.nq-market-bar-fallback:hover { color: var(--primary); }
[data-theme="dark"] .nq-market-bar-fallback { color: var(--text-muted); }

.nq-market-snapshot {
  display: flex; align-items: center; gap: 14px;
  min-height: 44px; padding: 0 16px; font-size: 12.5px;
  font-family: var(--font-mono); color: var(--ink);
}
.nq-mkt-scroll { flex: 1; overflow: hidden; }
.nq-mkt-track {
  display: flex; align-items: center; gap: 32px; white-space: nowrap;
  width: max-content;
  /* animation-duration is set dynamically by adjustMarketTickerSpeed() JS;
     this is just the pre-JS fallback */
  animation: nq-mkt-scroll 75s linear infinite;
}
.nq-mkt-track:hover { animation-play-state: paused; }
@keyframes nq-mkt-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.nq-mkt-item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.nq-mkt-item strong { font-weight: 700; }
.nq-mkt-chg { font-weight: 600; }
.nq-mkt-up .nq-mkt-chg { color: #16A34A; }
.nq-mkt-down .nq-mkt-chg { color: #DC2626; }
.nq-mkt-updated {
  flex-shrink: 0; font-size: 11px; color: var(--muted);
  text-decoration: none; white-space: nowrap;
}
.nq-mkt-updated:hover { color: var(--primary); }
[data-theme="dark"] .nq-market-snapshot { color: #E5E7EB; }
[data-theme="dark"] .nq-mkt-updated { color: var(--text-muted); }
@media (max-width: 640px) {
  .nq-market-snapshot { gap: 10px; font-size: 11.5px; }
  .nq-mkt-track { gap: 20px; }
}

/* ─── HOMEPAGE HERO ZONE ─── */
.nq-homepage-hero {
  display: grid;
  grid-template-columns: 1fr 300px 240px;
  gap: 16px;
  margin: 24px 0 28px;
  align-items: start;
}

/* Big Hero Card */
.nq-hero-main {
  position: relative; border-radius: 12px;
  overflow: hidden; background: #0F172A;
  min-height: 440px; display: block;
}
.nq-hero-main-link {
  display: block; position: relative; height: 100%;
}
.nq-hero-img {
  width: 100%; height: 440px; object-fit: cover;
  display: block; opacity: .8; transition: opacity .3s;
}
.nq-hero-main:hover .nq-hero-img { opacity: .88; }
.nq-hero-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 32px 28px 28px;
  background: linear-gradient(to top, rgba(0,0,0,.95) 0%, rgba(0,0,0,.5) 55%, transparent 100%);
  color: #fff;
}
.nq-hero-title {
  font-size: clamp(18px, 2vw, 28px); font-weight: 800;
  line-height: 1.25; margin: 8px 0 10px; color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.nq-hero-meta-row {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: rgba(255,255,255,.65);
}
.nq-meta-sep { opacity: .5; }

/* Side Cards (right of hero) */
.nq-hero-side-col { display: flex; flex-direction: column; gap: 10px; }
.nq-side-card {
  display: flex; gap: 10px; background: #fff;
  border: 1px solid #E2E8F0; border-radius: 8px;
  overflow: hidden; transition: box-shadow .2s, transform .2s;
  min-height: 85px;
}
.nq-side-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.1); transform: translateY(-1px); }
.nq-side-card-thumb { width: 110px; flex-shrink: 0; overflow: hidden; }
.nq-side-img { width: 110px; height: 82px; object-fit: cover; display: block; }
.nq-ph { width: 100%; height: 82px; background: linear-gradient(135deg, #1E293B, #0F172A); }
.nq-side-card-body {
  padding: 10px 10px 10px 4px;
  display: flex; flex-direction: column;
  justify-content: space-between; gap: 4px; flex: 1; min-width: 0;
}
.nq-side-card-title {
  font-size: 13px; font-weight: 700; line-height: 1.35;
  color: #111827; overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}
.nq-side-card-date { font-size: 11px; color: #64748B; }

/* Right Sidebar */
.nq-home-sidebar { display: flex; flex-direction: column; gap: 16px; }
.nq-sb-widget {
  background: #fff; border: 1px solid #E2E8F0;
  border-radius: 10px; overflow: hidden;
}
.nq-sb-head {
  background: #0F172A; padding: 10px 14px;
}
.nq-sb-title {
  font-size: 11px; font-weight: 800;
  color: #fff; text-transform: uppercase;
  letter-spacing: .08em; margin: 0;
}
.nq-sb-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 14px; border-bottom: 1px solid #F1F5F9;
  transition: background .15s;
}
.nq-sb-item:last-child { border-bottom: none; }
.nq-sb-item:hover { background: #FAFBFC; }
.nq-sb-num {
  font-size: 20px; font-weight: 900; color: #D90429;
  opacity: .3; min-width: 24px; line-height: 1; flex-shrink: 0;
}
.nq-sb-item-body { min-width: 0; }
.nq-sb-item-title {
  display: block; font-size: 12.5px; font-weight: 600;
  line-height: 1.35; color: #1E293B;
  overflow: hidden; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.nq-sb-item-date { font-size: 10px; color: var(--muted); }

/* Ad slot */
.nq-sb-ad-slot {
  background: #F8FAFC; border: 1px solid #E2E8F0;
  border-radius: 10px; overflow: hidden; text-align: center; padding: 10px;
}
.nq-ad-lbl { font-size: 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; display: block; margin-bottom: 6px; }
.nq-ad-ph {
  background: #F1F5F9; border: 1px dashed #CBD5E1;
  color: var(--muted); font-size: 11px; display: flex;
  align-items: center; justify-content: center; border-radius: 5px;
  font-family: monospace;
}

/* ─── BADGES ─── */
.nq-badge {
  display: inline-block; font-size: 9px; font-weight: 800;
  padding: 2px 7px; border-radius: 3px; text-transform: uppercase;
  letter-spacing: .06em; white-space: nowrap;
  background: #D90429; color: #fff;
}
.nq-badge-light { background: rgba(255,255,255,.2); color: #fff; }
.nq-badge-top {
  position: absolute; top: 10px; left: 10px;
  background: #D90429; color: #fff;
}

/* ─── SECTION HEADERS ─── */
.nq-section { margin-bottom: 32px; }
.nq-section-head {
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 2px solid #D90429; padding-bottom: 8px; margin-bottom: 18px;
}
.nq-section-head h2 {
  font-size: 16px; font-weight: 800; color: #0F172A;
  text-transform: uppercase; letter-spacing: .04em; margin: 0;
}
.nq-see-all-link {
  font-size: 12px; font-weight: 600; color: #D90429; white-space: nowrap;
  transition: text-decoration .15s;
}
.nq-see-all-link:hover { text-decoration: underline; }

/* ─── FEATURE CARDS GRID (3 col) ─── */
.nq-feature-section { padding-top: 4px; }
.nq-feature-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.nq-feat-card {
  background: #fff; border: 1px solid #E2E8F0;
  border-radius: 10px; overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.nq-feat-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.09); transform: translateY(-2px); }
.nq-feat-img-link { display: block; position: relative; overflow: hidden; }
.nq-feat-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform .3s; }
.nq-feat-card:hover .nq-feat-img { transform: scale(1.04); }
.nq-feat-body { padding: 14px 16px 16px; }
.nq-feat-body h3 { font-size: 15px; font-weight: 700; line-height: 1.4; margin: 0 0 6px; }
.nq-feat-body h3 a { color: #111827; transition: color .15s; }
.nq-feat-body h3 a:hover { color: #D90429; }
.nq-feat-body p { font-size: 12.5px; color: #64748B; line-height: 1.55; margin: 0 0 8px; }
.nq-feat-meta { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); }

/* ─── LATEST NEWS + TRENDING (2 col) ─── */
.nq-latest-trending-row {
  display: grid; grid-template-columns: 2fr 1fr; gap: 32px;
}
.nq-latest-list { display: flex; flex-direction: column; gap: 0; }
.nq-lat-item {
  display: flex; gap: 14px; padding: 12px 0;
  border-bottom: 1px solid #F1F5F9; transition: background .12s;
}
.nq-lat-item:last-child { border-bottom: none; }
.nq-lat-item:hover { background: #FAFBFC; border-radius: 6px; padding-left: 4px; }
.nq-lat-thumb { flex-shrink: 0; width: 110px; border-radius: 6px; overflow: hidden; }
.nq-lat-img { width: 110px; height: 72px; object-fit: cover; display: block; }
.nq-lat-body { flex: 1; min-width: 0; }
.nq-lat-body h3 { font-size: 14px; font-weight: 700; margin: 4px 0 6px; line-height: 1.35; color: #111827; }
.nq-lat-date { font-size: 11px; color: var(--muted); }

/* Trending */
.nq-trend-list { display: flex; flex-direction: column; gap: 0; }
.nq-trend-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 12px 0; border-bottom: 1px solid #F1F5F9;
  transition: background .12s;
}
.nq-trend-item:last-child { border-bottom: none; }
.nq-trend-item:hover { background: #FAFBFC; border-radius: 6px; padding-left: 4px; }
.nq-trend-num {
  font-size: 28px; font-weight: 900; color: #E2E8F0;
  min-width: 36px; line-height: 1; flex-shrink: 0;
  transition: color .15s;
}
.nq-trend-item:hover .nq-trend-num { color: #D90429; opacity: 1; }
.nq-trend-body { flex: 1; min-width: 0; }
.nq-trend-body h4 { font-size: 13.5px; font-weight: 700; margin: 4px 0 4px; line-height: 1.35; color: #111827; }
.nq-trend-date { font-size: 11px; color: var(--muted); }

/* ─── CATEGORY 2-COL BLOCKS ─── */
.nq-cat-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
/* ─── CATEGORY 3-COL BLOCKS (India / World / Regional) ─── */
.nq-cat-three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 900px) { .nq-cat-three-col { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .nq-cat-three-col { grid-template-columns: 1fr; gap: 24px; } }
.nq-cat-block {}
.nq-cat-lead-card {
  display: flex; flex-direction: column; gap: 0;
  margin-bottom: 12px; border-radius: 8px; overflow: hidden;
  transition: box-shadow .2s;
}
.nq-cat-lead-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.nq-cat-lead-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; border-radius: 8px 8px 0 0; }
.nq-cat-lead-body { padding: 12px 0; }
.nq-cat-lead-body h3 {
  font-size: 16px; font-weight: 700; margin: 4px 0 6px;
  line-height: 1.35; color: #111827; transition: color .15s;
}
.nq-cat-lead-card:hover .nq-cat-lead-body h3 { color: #D90429; }
.nq-cat-date { font-size: 11px; color: var(--muted); }
.nq-cat-minis { display: flex; flex-direction: column; gap: 0; }
.nq-cat-mini {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; border-top: 1px solid #F1F5F9;
  color: #1E293B; transition: color .15s;
}
.nq-cat-mini:hover { color: #D90429; }
.nq-cat-mini-img { width: 64px; height: 46px; object-fit: cover; border-radius: 4px; flex-shrink: 0; display: block; }
.nq-cat-mini span { font-size: 13px; font-weight: 600; line-height: 1.35; }

/* ─── 4-CARD MINI GRID ───
   v9.6: the actual grid-template-columns/breakpoints for .nq-four-grid
   now live in one place only — search "4-CARD MINI GRID" further down
   this file (near .nq-mini-card's second definition) — removed here to
   stop this block's 1100/700/480px breakpoints from fighting a second,
   unconditional base rule later in the file that always won regardless
   of viewport, which was producing a cramped 4-column grid on tablets
   between roughly 1024-1100px wide. */
.nq-mini-card {
  background: #fff; border: 1px solid #E2E8F0;
  border-radius: 8px; overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.nq-mini-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); transform: translateY(-2px); }
.nq-mini-img-link { display: block; position: relative; overflow: hidden; }
.nq-mini-img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; transition: transform .3s; }
.nq-mini-card:hover .nq-mini-img { transform: scale(1.04); }
.nq-mini-body { padding: 10px 12px 12px; }
.nq-mini-body h3 { font-size: 13px; font-weight: 700; line-height: 1.35; margin: 0 0 5px; }
.nq-mini-body h3 a { color: #111827; transition: color .15s; }
.nq-mini-body h3 a:hover { color: #D90429; }
.nq-mini-date { font-size: 11px; color: var(--muted); }

/* ─── INTERACTIVE SECTION ─── */
.nq-interactive-section {}
.nq-interactive-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.nq-ic-card {
  background: #fff; border: 1px solid #E2E8F0;
  border-radius: 10px; padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
  min-height: 200px;
}
.nq-ic-head {
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: #D90429;
  border-bottom: 1px solid #F1F5F9; padding-bottom: 10px;
}
.nq-ic-poll {}
.nq-ic-question { font-size: 14px; font-weight: 700; color: #1E293B; line-height: 1.4; }
.nq-poll-opt { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 4px 0; cursor: pointer; color: #374151; }
.nq-poll-btn {
  margin-top: 6px; background: #D90429; color: #fff;
  border: none; border-radius: 5px; padding: 8px 16px;
  font-size: 13px; font-weight: 700; cursor: pointer; width: 100%;
  transition: background .15s;
}
.nq-poll-btn:hover { background: #B30020; }
.nq-ic-link { font-size: 12px; font-weight: 700; color: #D90429; margin-top: auto; }
.nq-ic-link:hover { text-decoration: underline; }
.nq-ic-empty { font-size: 13px; color: var(--muted); }

.nq-ic-quote-card { background: linear-gradient(135deg,#FFF5F5,#fff); border-color: #FECACA; }
.nq-quote { border-left: 3px solid #D90429; padding-left: 12px; margin: 0; }
.nq-quote p { font-size: 13.5px; font-style: italic; color: #374151; line-height: 1.6; }
.nq-quote cite { font-size: 11px; color: var(--muted); display: block; margin-top: 8px; font-style: normal; }

.nq-ic-shayari-card { background: linear-gradient(135deg,#F0F9FF,#fff); border-color: #BAE6FD; }
.nq-shayari p { font-size: 14px; line-height: 1.8; color: #1E293B; font-weight: 500; }

/* ─── FOOTER V5 ─── */
.nq-footer-v5 {
  background: #0F172A; color: rgba(255,255,255,.75);
  margin-top: 48px;
}
.nq-footer-v5-inner {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap;
  gap: 20px; padding: 28px 0 24px;
}
.nq-footer-v5-logo {}
.nq-footer-logo-link { display: flex; align-items: center; }
.nq-footer-logo-img {
  max-height: 40px; width: auto; display: block;
  /* Previously forced every logo to a flat white silhouette via
     filter:brightness(0) invert(1) — that destroyed the logo's actual
     colors entirely. Removed; transparent PNG/SVG logos now show as
     uploaded. Opt-in blending for logos with a visible solid background
     box is available via .solid-bg (see Customize → Branding). */
}
.nq-footer-logo-img.solid-bg { mix-blend-mode: screen; }
.nq-footer-v5-links { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 20px; }
.nq-footer-v5-links a { font-size: 13px; color: rgba(255,255,255,.6); transition: color .15s; }
.nq-footer-v5-links a:hover { color: #fff; }
.nq-footer-v5-social { display: flex; align-items: center; gap: 8px; }
.nq-fsoc {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 6px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.7);
  transition: all .15s;
}
.nq-fsoc svg { width: 15px; height: 15px; }
.nq-fsoc:hover { background: #D90429; color: #fff; }
.nq-footer-v5-copy {
  background: #060F1C; border-top: 1px solid rgba(255,255,255,.06);
}
.nq-footer-v5-copy .nq-wrap {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 8px; padding-top: 12px; padding-bottom: 12px;
  font-size: 11.5px; color: rgba(255,255,255,.4);
}

/* ─── DARK MODE ─── */
[data-theme="dark"] .nq-header { background: #111827; border-color: #1F2937; }
[data-theme="dark"] .nq-logo-img { filter: brightness(.9); }
[data-theme="dark"] .nq-header-search { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-header-search-input { color: #E2E8F0; }
[data-theme="dark"] .nq-btn-outline { color: #E2E8F0; border-color: #374151; }
[data-theme="dark"] .nq-btn-outline:hover { border-color: #D90429; color: #D90429; }
[data-theme="dark"] .nq-hamburger span { background: #E2E8F0; }
[data-theme="dark"] .nq-market-bar { background: #111827; border-color: #1F2937; }
[data-theme="dark"] .nq-side-card { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-side-card-title { color: #E2E8F0; }
[data-theme="dark"] .nq-sb-widget { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-sb-item { border-bottom-color: #374151; }
[data-theme="dark"] .nq-sb-item:hover { background: #263241; }
[data-theme="dark"] .nq-sb-item-title { color: #F1F5F9; }
[data-theme="dark"] .nq-sb-item-date { color: #94A3B8; }
[data-theme="dark"] .nq-sb-num { opacity: .5; }
[data-theme="dark"] .nq-feat-card { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-feat-body h3 a { color: #E2E8F0; }
[data-theme="dark"] .nq-mini-card { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-mini-body h3 a { color: #E2E8F0; }
[data-theme="dark"] .nq-ic-card { background: #1F2937; border-color: #374151; }
[data-theme="dark"] .nq-ic-question { color: #E2E8F0; }
[data-theme="dark"] .nq-lat-body h3 { color: #E2E8F0; }
[data-theme="dark"] .nq-trend-body h4 { color: #E2E8F0; }
[data-theme="dark"] .nq-wordmark .logo-newz { color: #E2E8F0; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1100px) {
  .nq-homepage-hero { grid-template-columns: 1fr 260px 210px; }
}
@media (max-width: 900px) {
  .nq-homepage-hero { grid-template-columns: 1fr 240px; }
  .nq-home-sidebar { display: none; }
  .nq-latest-trending-row { grid-template-columns: 1fr; }
  .nq-cat-two-col { grid-template-columns: 1fr; }
  .nq-feature-grid { grid-template-columns: repeat(2,1fr); }
  .nq-interactive-grid { grid-template-columns: 1fr 1fr; }
  .nq-topbar-date { display: none; }
  .nq-header-inner { height: 60px; }
  .nq-header-search { max-width: 240px; }
}
@media (max-width: 700px) {
  .nq-homepage-hero { grid-template-columns: 1fr; }
  .nq-hero-side-col { display: none; }
  .nq-hero-img { height: 280px; min-height: 280px; }
  .nq-hero-main { min-height: 280px; }
  .nq-feature-grid { grid-template-columns: 1fr; }
  .nq-interactive-grid { grid-template-columns: 1fr; }
  .nq-hamburger { display: flex; }
  .nq-header-search { display: none; }
  .nq-btn-outline { display: none; }
  .nq-primary-nav { overflow-x: auto; }
  .nq-nav-lang-row { display: none; } /* hidden from nav bar on mobile */
  /* Language row becomes visible inside the open mobile drawer */
  .nq-nav-list.open + .nq-nav-lang-row,
  .nq-mobile-lang-row { display: flex !important; }
  .nq-topbar { display: none; }
  /* Mobile nav */
  .nq-nav-list {
    display: none; flex-direction: column; position: fixed;
    top: 0; left: 0; bottom: 0; width: 280px;
    background: #0F172A; z-index: 700;
    overflow-y: auto; padding: 60px 0 20px; gap: 0;
  }
  .nq-nav-list.open { display: flex; }
  .nq-nav-item > a { padding: 12px 20px; font-size: 14px; }
  .nq-nav-dropdown {
    position: static; background: rgba(255,255,255,.06);
    border: none; box-shadow: none; border-radius: 0;
    border-top: none; margin: 0;
  }
  .nq-nav-item.has-sub.open .nq-nav-dropdown { display: block; }
  .nq-nav-dropdown li a { color: rgba(255,255,255,.75); padding: 8px 28px; }
}
@media (max-width: 480px) {
  .nq-wrap { padding: 0 14px; }
}

/* ============================================================
   ARCHIVE & CATEGORY PAGES SYSTEM (Clean, Production-Ready)
   ============================================================ */
.nq-archive-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
  align-items: start;
}
@media (max-width: 860px) {
  .nq-archive-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.nq-archive-header {
  border-bottom: 3px solid var(--primary);
  padding-bottom: 14px;
  margin-bottom: 28px;
}
.nq-archive-title {
  font-size: 26px;
  font-weight: 800;
  color: var(--secondary);
  margin: 0 0 6px 0;
}
.nq-archive-desc {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}
.nq-archive-count {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 6px;
}

/* Category Page Hero Card */
.nq-archive-hero-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 28px;
  min-height: 340px;
  background: var(--secondary);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.nq-archive-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
  transition: transform 0.3s ease;
}
.nq-archive-hero-card:hover .nq-archive-hero-img {
  transform: scale(1.02);
}
.nq-archive-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.1) 65%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  z-index: 2;
}
.nq-archive-hero-title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 10px 0;
  color: #FFF;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nq-archive-hero-title a {
  color: #FFF !important;
}
.nq-archive-hero-excerpt {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  margin: 0 0 12px 0;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nq-archive-hero-meta {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
}

/* v9.6: hero card had a fixed min-height with no floor for how much
   text could actually fit — a long clamped title+excerpt+meta stack
   could still exceed 340px on narrow cards. Let it grow a bit taller
   on mobile where line-wrapping eats more vertical space. */
@media (max-width: 560px) {
  .nq-archive-hero-card { min-height: 400px; }
}

/* v9.6: category/eyebrow label above archive card titles — previously
   this only worked via an inline style in category.php with no real
   CSS class backing it at all. */
.nq-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--primary, #D90429);
  display: block;
  margin-bottom: 5px;
}

/* v9.8: Homepage Hindi/English tabs */
.nq-home-lang-tabs {
  display: flex; max-width: 1200px; margin: 0 auto; padding: 0 20px;
}
.nq-home-lang-tab {
  flex: 1; text-align: center; padding: 14px 10px; font-size: 17px; font-weight: 700;
  background: var(--paper, #f4f4f5); color: var(--text-muted, #64748B);
  border-bottom: 3px solid transparent; text-decoration: none;
}
.nq-home-lang-tab.active {
  background: #fff; color: var(--ink, #1a1a2e); border-bottom-color: #D90429;
}
@media (max-width: 700px) {
  .nq-home-lang-tab { font-size: 15px; padding: 12px 8px; }
}
.nq-archive-lang-tabs {
  display: flex; gap: 8px; margin-bottom: 16px;
}
.nq-archive-lang-tab {
  padding: 6px 18px; border-radius: 999px; font-size: 13px; font-weight: 700;
  border: 1.5px solid var(--rule, #E2E8F0); color: var(--text-muted, #64748B);
  transition: all .15s;
}
.nq-archive-lang-tab.active {
  background: var(--primary, #D90429); border-color: var(--primary, #D90429); color: #fff;
}
.nq-archive-lang-tab:hover:not(.active) { border-color: var(--primary, #D90429); color: var(--primary, #D90429); }

/* v9.6: date-recency group headings (Today / Yesterday / This Week / Earlier)
   inside category archives — keeps the newest batch of posts visually
   distinct from older ones instead of one flat undifferentiated grid. */
.nq-archive-group { margin-bottom: 28px; }
.nq-archive-group-heading {
  font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  color: var(--text-muted, #64748B); margin: 0 0 14px; padding-bottom: 8px;
  border-bottom: 2px solid var(--rule, #E2E8F0);
}

/* Archive Grid & Rows */
.nq-archive-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 560px) {
  .nq-archive-grid {
    grid-template-columns: 1fr;
  }
}
.nq-archive-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nq-archive-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.08);
}
.nq-archive-card-thumb {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}
.nq-archive-card-body {
  padding: 14px;
}
.nq-archive-card-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 6px 0;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nq-archive-card-title a {
  color: var(--ink);
}

/* Archive feed as list row */
.nq-archive-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.nq-archive-list-row {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 8px;
  padding: 15px;
  display: flex;
  gap: 16px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nq-archive-list-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
@media (max-width: 560px) {
  .nq-archive-list-row {
    flex-direction: column;
  }
  .nq-archive-list-row .latest-item-thumb {
    width: 100% !important;
  }
}
.nq-archive-row-thumb {
  width: 100%;
  border-radius: 4px;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.nq-archive-row-content {
  flex: 1;
  min-width: 0;
}
.nq-archive-row-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.4;
  margin-top: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.nq-archive-row-title a {
  color: var(--ink);
}
.nq-archive-row-excerpt {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 8px;
  overflow-wrap: break-word;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nq-archive-row-meta {
  font-size: 11px;
  color: var(--text-muted);
}

/* Author Profile Card styling */
.nq-author-profile {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 12px;
  padding: 30px;
  display: flex;
  gap: 24px;
  align-items: center;
  margin-bottom: 40px;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}
@media (max-width: 600px) {
  .nq-author-profile {
    flex-direction: column;
    text-align: center;
    padding: 20px;
  }
}
.nq-author-avatar-img {
  border-radius: 50%;
  border: 3px solid var(--primary);
  display: block;
}
.nq-author-title {
  font-size: 26px;
  font-weight: 700;
  color: var(--secondary);
  margin: 4px 0 8px 0;
}
.nq-author-bio {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 700px;
}

/* Custom Page Layouts (Live TV, ePaper, NShorts) */
.nq-live-embed {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 20px;
  margin-bottom: 28px;
}
.nq-yt-embed-wrap {
  position: relative;
  padding-bottom: 56.25%;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
}
.nq-yt-embed-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.nq-live-badge {
  background: #D90429;
  color: #FFF;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-transform: uppercase;
}
.nq-livetv-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
}
.nq-livetv-offline {
  text-align: center;
  max-width: 480px;
  padding: 32px;
}
.nq-livetv-icon {
  font-size: 56px;
  display: block;
  margin-bottom: 14px;
}
.nq-social-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 700;
  transition: all .15s;
}
.nq-social-cta.yt { background: #FF0000; color: #FFF; }
.nq-social-cta.yt:hover { background: #E00000; }
.nq-social-cta.tg { background: #229ED9; color: #FFF; }
.nq-social-cta.tg:hover { background: #1B85B8; }
.nq-video-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.nq-video-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.nq-video-card:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,.1);
  transform: translateY(-2px);
}
.nq-video-thumb-link {
  position: relative;
  display: block;
}
.nq-video-thumb-link img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.nq-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: rgba(0,0,0,.7);
  color: #FFF;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background .15s;
}
.nq-video-thumb-link:hover .nq-play-btn {
  background: #D90429;
}
.nq-video-body {
  padding: 10px 12px;
}
.nq-video-body h3 {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}
.nq-video-body h3 a:hover {
  color: #D90429;
}
@media(max-width:860px){
  .nq-live-embed { grid-template-columns: 1fr; }
  .nq-video-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:540px){
  .nq-video-grid { grid-template-columns: 1fr; }
}

/* ePaper Viewer */
.nq-epaper-viewer {
  width: 100%;
  border: 1px solid var(--rule);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  background: var(--paper-dim-alt);
}
.nq-epaper-iframe {
  width: 100%;
  height: 80vh;
  min-height: 600px;
  border: none;
  display: block;
}
.nq-epaper-placeholder {
  text-align: center;
  padding: 60px 24px;
  background: var(--paper-dim-alt);
  border: 2px dashed var(--rule);
  border-radius: 12px;
}
.nq-epaper-placeholder h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 12px 0 8px;
  color: var(--secondary);
}
.nq-epaper-placeholder p {
  font-size: 14px;
  color: var(--text-muted);
}

/* NShorts Page Layout */
.nq-nshorts-hero {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: center;
  background: linear-gradient(135deg, #0F172A, #1E3A5F);
  border-radius: 14px;
  padding: 48px 40px;
  color: #FFF;
  margin-bottom: 36px;
}
.nq-nshorts-hero-text h1 {
  font-size: 28px;
  font-weight: 900;
  margin: 0 0 12px;
  line-height: 1.2;
}
.nq-nshorts-hero-text p {
  font-size: 15px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
}
.nq-nshorts-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nq-phone-mockup {
  background: rgba(255,255,255,.08);
  border: 2px solid rgba(255,255,255,.15);
  border-radius: 20px;
  padding: 40px 24px;
  text-align: center;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 40px;
  color: rgba(255,255,255,.6);
}
.nq-nshorts-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 36px;
}
.nq-nshorts-feature-card {
  background: var(--paper-dim);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 20px;
  transition: box-shadow .2s;
}
.nq-nshorts-feature-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.nq-nshorts-icon {
  font-size: 28px;
  display: block;
  margin-bottom: 10px;
}
.nq-nshorts-feature-card h3 {
  font-size: 15px;
  font-weight: 800;
  color: var(--secondary);
  margin-bottom: 6px;
}
.nq-nshorts-feature-card p {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.55;
}
@media(max-width:860px){
  .nq-nshorts-hero { grid-template-columns: 1fr; }
  .nq-nshorts-hero-visual { display: none; }
  .nq-nshorts-features { grid-template-columns: 1fr 1fr; }
}
@media(max-width:540px){
  .nq-nshorts-features { grid-template-columns: 1fr; }
}

/* ============================================================
   DARK MODE SELECTORS
   ============================================================ */
html[data-theme="dark"] .nq-dark-btn {
  background: none;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 5px;
  padding: 4px 7px;
  cursor: pointer;
  color: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  transition: all .15s;
}
html[data-theme="dark"] .nq-dark-btn:hover {
  color: #fff;
  border-color: rgba(255,255,255,.5);
}
html[data-theme="dark"] body {
  background: #0D1117;
  color: #E2E8F0;
}
html[data-theme="dark"] .nq-main-header {
  background: #111827;
  border-color: #1F2937;
}
html[data-theme="dark"] .nq-feature-card,
html[data-theme="dark"] .nq-hero-side-card,
html[data-theme="dark"] .nq-interactive-card,
html[data-theme="dark"] .nq-sidebar-box {
  background: #1F2937;
  border-color: #374151;
  color: #E2E8F0;
}
html[data-theme="dark"] .nq-primary-nav {
  background: #060F1C;
}
html[data-theme="dark"] .nav-dropdown {
  background: #1F2937;
  border-color: #374151;
}
html[data-theme="dark"] .nav-dropdown li a {
  color: #E2E8F0;
}
html[data-theme="dark"] .nq-section-head h2,
html[data-theme="dark"] .nq-section-head h3 {
  color: #F1F5F9;
}

/* ============================================================
   v7.0 HOMEPAGE LAYOUTS & SIDEBAR OVERHAUL
   ============================================================ */

/* Main layout grid config */
.nq-main-layout-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 900px) {
  .nq-main-layout-grid.sb-right {
    grid-template-columns: 2.2fr 1fr;
  }
  .nq-main-layout-grid.sb-left {
    grid-template-columns: 1fr 2.2fr;
  }
  .nq-main-layout-grid.sb-left .nq-primary-content-col {
    grid-column: 2;
  }
  .nq-main-layout-grid.sb-left .nq-home-sidebar {
    grid-column: 1;
    grid-row: 1;
  }
  .nq-main-layout-grid.sb-none {
    grid-template-columns: 1fr;
  }
}

/* Sidebar structure */
.nq-home-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ─── NEWSPAPER PRO LAYOUT ─── */
.nq-np-hero-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .nq-np-hero-row {
    grid-template-columns: 1.6fr 1fr;
  }
}

.nq-np-hero-main {
  position: relative;
  background: var(--paper);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--rule);
  transition: transform .2s ease;
}
.nq-np-hero-main:hover {
  transform: translateY(-2px);
}
.nq-np-img-wrap {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--paper-dim);
}
.nq-np-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nq-np-hero-main-body {
  padding: 20px;
}
.nq-np-hero-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.25;
  margin-bottom: 10px;
}
.nq-np-hero-title a { color: inherit; text-decoration: none; }
.nq-np-hero-excerpt {
  font-size: 14px;
  color: var(--ink-dim);
  line-height: 1.5;
  margin-bottom: 12px;
}
.nq-np-meta {
  font-size: 11px;
  color: var(--ink-muted);
}

.nq-np-hero-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nq-np-list-header {
  font-size: 16px;
  font-weight: 800;
  color: var(--brand);
  text-transform: uppercase;
  border-bottom: 2px solid var(--brand);
  padding-bottom: 6px;
  margin-bottom: 4px;
}
.nq-np-list-item {
  display: flex;
  gap: 12px;
  text-decoration: none;
  background: var(--paper);
  padding: 10px;
  border-radius: var(--radius-md);
  border: 1px solid var(--rule);
  transition: background .15s;
}
.nq-np-list-item:hover {
  background: var(--paper-dim);
}
.nq-np-list-thumb {
  width: 80px;
  height: 60px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--paper-dim);
}
.nq-np-list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nq-np-list-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.nq-np-list-body h4 {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
}
.nq-np-list-date {
  font-size: 10px;
  color: var(--ink-muted);
}

/* ─── DENSE GRID LAYOUT ─── */
.nq-grid-dense-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}
.nq-dense-card {
  background: var(--paper);
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--rule);
  transition: transform .2s ease;
}
.nq-dense-card:hover {
  transform: translateY(-2px);
}
.nq-dense-img-wrap {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--paper-dim);
}
.nq-dense-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nq-dense-body {
  padding: 12px;
}
.nq-dense-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.35;
  margin-bottom: 6px;
}
.nq-dense-date {
  font-size: 10px;
  color: var(--ink-muted);
}

/* ─── MSN-STYLE HERO SLIDER LAYOUT ─── */
.nq-msn-row {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 20px;
  margin-bottom: 24px;
}
.nq-msn-slider {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--paper-dim);
  aspect-ratio: 16/9;
}
.nq-msn-slides { position: relative; width: 100%; height: 100%; }
.nq-msn-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease;
}
.nq-msn-slide.is-active { opacity: 1; visibility: visible; }
.nq-msn-slide-link { display: block; width: 100%; height: 100%; position: relative; }
.nq-msn-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nq-msn-slide-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 20px 60px 20px 20px;
  background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 60%, transparent 100%);
}
.nq-msn-slide-title {
  color: #fff;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 800;
  margin: 8px 0;
}
.nq-msn-slide-meta { color: rgba(255,255,255,.8); font-size: 12px; }
.nq-msn-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(15,23,42,.55);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background .15s ease;
}
.nq-msn-arrow:hover { background: var(--primary); }
.nq-msn-arrow-prev { left: 12px; }
.nq-msn-arrow-next { right: 12px; }
.nq-msn-dots {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.nq-msn-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.5);
  cursor: pointer;
  padding: 0;
}
.nq-msn-dot.is-active { background: var(--primary); width: 20px; border-radius: 5px; }
.nq-msn-headlines {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nq-msn-headlines-title {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-muted);
  margin: 0 0 4px;
}
.nq-msn-headline-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.nq-msn-headline-thumb {
  width: 64px;
  height: 64px;
  flex: none;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--paper-dim);
}
.nq-msn-headline-img { width: 100%; height: 100%; object-fit: cover; }
.nq-msn-headline-body h4 {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  margin: 2px 0 4px;
}
.nq-msn-headline-date { font-size: 10px; color: var(--ink-muted); }
@media (max-width: 900px) {
  .nq-msn-row { grid-template-columns: 1fr; }
}

/* ─── INTERACTIVE WEATHER CARD WIDGET ─── */
.nq-weather-widget-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
/* The sidebar card version reuses the generic .nq-sb-head, which is a
   dark navy bar on every widget (Most Read, Trending, etc). For weather
   specifically, use the site's red brand color instead of navy so it
   reads as its own thing and matches the red used in the logo, the
   Subscribe button, and the breaking-news bar. */
.nq-weather-widget-card .nq-sb-head {
  background: var(--primary);
}
.nq-weather-loading {
  font-size: 13px;
  color: var(--ink-dim);
  text-align: center;
  padding: 20px 0;
}
.nq-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(0,0,0,.15);
  border-left-color: var(--brand);
  border-radius: 50%;
  animation: nq-spin .8s linear infinite;
  vertical-align: middle;
}
@keyframes nq-spin { 100% { transform: rotate(360deg); } }

.nq-weather-display {
  margin-bottom: 16px;
}
.nq-weather-main {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}
.nq-weather-icon-large {
  font-size: 40px;
  line-height: 1;
}
.nq-weather-temp-block {
  display: flex;
  align-items: baseline;
}
.nq-weather-temp-val {
  font-size: 38px;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -.03em;
  line-height: 1;
}
.nq-weather-unit {
  font-size: 18px;
  font-weight: 700;
  color: var(--brand);
  margin-left: 2px;
}
.nq-weather-city-name {
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 14px;
}
.nq-weather-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  border-top: 1px solid var(--rule);
  padding-top: 12px;
}
.nq-weather-det {
  display: flex;
  flex-direction: column;
  font-size: 11px;
  color: var(--ink-muted);
}
.nq-weather-det strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  margin-top: 2px;
}
.nq-weather-aqi-label {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  max-width: fit-content;
}
.aqi-good { background: #DCFCE7; color: #166534; }
.aqi-moderate { background: #FEF9C3; color: #854D0E; }
.aqi-poor { background: #FFE4E6; color: #9F1239; }
.aqi-bad { background: #FEE2E2; color: #991B1B; }
.aqi-severe { background: #F3E8FF; color: #6B21A8; }

.nq-weather-search-form {
  display: flex;
  gap: 6px;
}
.nq-weather-search-input {
  flex: 1;
  font-size: 12px;
  padding: 6px 10px;
  border: 1px solid var(--rule);
  border-radius: var(--radius-sm);
  background: var(--paper-dim);
  color: var(--ink);
}
.nq-weather-search-btn {
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  background: var(--brand);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.nq-weather-search-btn:hover {
  background: #B90322;
}

/* ─── TRADINGVIEW SIDEBAR MARKETS ─── */
.nq-tv-sidebar-widget {
  min-height: 240px;
  background: transparent;
  border-radius: var(--radius-md);
  overflow: hidden;
}

/* ─── SOCIAL COUNTERS WIDGET ─── */
.nq-social-counter-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.nq-sc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  transition: opacity .15s;
}
.nq-sc-item:hover {
  opacity: .9;
}
.nq-sc-item.fb { background: #1877F2; }
.nq-sc-item.tw { background: #000000; border: 1px solid rgba(255,255,255,.15); }
.nq-sc-item.yt { background: #FF0000; }
.nq-sc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
}
.nq-sc-text {
  display: flex;
  flex-direction: column;
}
.nq-sc-count {
  font-size: 14px;
  font-weight: 800;
}

/* ─── NEWSLETTER SIGNUP WIDGET ─── */
.nq-newsletter-widget-card {
  background: #0F172A;
  border: 1px solid #1E293B;
  border-radius: var(--radius-lg);
  padding: 20px;
  color: #fff;
}
.nq-newsletter-widget-card .nq-sb-title {
  color: #fff;
}
.nq-newsletter-widget-desc {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.45;
  margin-bottom: 14px;
}
.nq-newsletter-widget-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nq-newsletter-widget-input {
  font-size: 12px;
  padding: 8px 12px;
  border: 1px solid #334155;
  border-radius: var(--radius-sm);
  background: #1E293B;
  color: #fff;
}
.nq-newsletter-widget-btn {
  font-size: 12px;
  font-weight: 700;
  padding: 8px;
  background: var(--brand);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: center;
}
.nq-newsletter-widget-btn:hover {
  background: #B90322;
}

/* Dark mode theme variables alignment */
html[data-theme="dark"] .nq-weather-widget-card {
  background: #1F2937;
  border-color: #374151;
}
html[data-theme="dark"] .nq-weather-search-input {
  border-color: #4B5563;
  background: #111827;
}
html[data-theme="dark"] .aqi-good { background: #064E3B; color: #A7F3D0; }
html[data-theme="dark"] .aqi-moderate { background: #78350F; color: #FEF08A; }
html[data-theme="dark"] .aqi-poor { background: #881337; color: #FECDD3; }
html[data-theme="dark"] .aqi-bad { background: #7F1D1D; color: #FCA5A5; }
html[data-theme="dark"] .aqi-severe { background: #581C87; color: #E9D5FF; }


/* ============================================================
   V7.1 FIX PACK - Social Icons, Ticker, Category Tabs,
   Author Spotlight, Footer, Language Toggle, Market Bar
   ============================================================ */

/* (duplicate .nq-breaking-track rule removed — see original definition earlier in this file) */

/* ── Topbar Social Icons: Platform-branded hover colors ──
   (base .nq-top-social / .nq-tsoc sizing is defined once, earlier in
   this file — this block now only adds the per-platform hover colors) */
.nq-tsoc-fb:hover { background: #1877F2; color: #fff; }
.nq-tsoc-x:hover  { background: #000; color: #fff; }
.nq-tsoc-ig:hover { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color: #fff; }
.nq-tsoc-yt:hover { background: #FF0000; color: #fff; }
.nq-tsoc-li:hover { background: #0A66C2; color: #fff; }
.nq-tsoc-tg:hover { background: #26A5E4; color: #fff; }
.nq-tsoc-wa:hover { background: #25D366; color: #fff; }

/* ── Language toggle: always visible on mobile inside hamburger nav ── */
@media (max-width: 700px) {
  .nq-topbar { display: none; }
  /* Show lang buttons inside mobile nav as separate row */
  .nq-nav-lang-row {
    display: flex !important;
    padding: 10px 20px;
    border-top: 1px solid rgba(255,255,255,.08);
    gap: 8px;
  }
}

/* ── Footer: 4-column layout ── */
.nq-footer-main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 40px;
  padding: 48px 0 36px;
}
@media (max-width: 1024px) {
  .nq-footer-main { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  .nq-footer-main { grid-template-columns: 1fr; gap: 24px; }
}
.nq-footer-col-title {
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: rgba(255,255,255,.4);
  margin: 0 0 14px; padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.nq-footer-tagline {
  font-size: 13px; line-height: 1.65;
  color: rgba(255,255,255,.5);
  margin: 10px 0 20px;
}
.nq-footer-v5-links {
  display: flex; flex-direction: column; gap: 8px;
}
.nq-footer-v5-links a {
  font-size: 13px; color: rgba(255,255,255,.6);
  text-decoration: none; transition: color .15s;
}
.nq-footer-v5-links a:hover { color: #D90429; }

/* ── Footer: Large branded social icon grid ── */
.nq-footer-social-grid {
  display: grid; grid-template-columns: repeat(4, 40px);
  gap: 8px; margin-top: 6px;
}
/* NOTE: this component previously had THREE overlapping rule blocks
   (one of which literally left a comment about a "giant semicircle"
   bug from unsized SVGs) fighting each other with !important chains.
   Consolidated into one clean, authoritative rule — see also the
   removed duplicates further down this file. */
.nq-fsoc-btn {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 8px;
  color: #fff; background: rgba(255,255,255,.1);
  overflow: hidden; flex-shrink: 0;
  transition: background .2s, transform .18s, box-shadow .2s;
}
.nq-fsoc-btn svg { width: 18px; height: 18px; max-width: 18px; max-height: 18px; display: block; flex-shrink: 0; }
.nq-fsoc-btn:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,.3); }
.nq-fsoc-fb { background: #1877F2; }
.nq-fsoc-x  { background: #14171A; }
.nq-fsoc-ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.nq-fsoc-yt { background: #FF0000; }
.nq-fsoc-li { background: #0A66C2; }
.nq-fsoc-tg { background: #26A5E4; }
.nq-fsoc-wa { background: #25D366; }
.nq-fsoc-fb:hover { background: #0d6efd; }
.nq-fsoc-yt:hover { background: #cc0000; }
.nq-fsoc-li:hover { background: #004182; }

/* ── Footer authors widget ── */
.nq-footer-authors { display: flex; flex-direction: column; gap: 10px; }
.nq-footer-author-row {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.7); text-decoration: none; transition: color .15s;
}
.nq-footer-author-row:hover { color: #fff; }
.nq-footer-author-avatar {
  border-radius: 50%; object-fit: cover;
  width: 36px; height: 36px; flex-shrink: 0;
}
.nq-footer-author-info { display: flex; flex-direction: column; gap: 1px; }
.nq-footer-author-info strong { font-size: 13px; font-weight: 600; }
.nq-footer-author-info span  { font-size: 11px; color: rgba(255,255,255,.4); }

/* ── Category Tabs Section ── */
.nq-cat-tabs-section { margin-top: 40px; }
.nq-cat-tabs-nav {
  display: flex; align-items: center; gap: 4px;
  flex-wrap: wrap;
  border-bottom: 2px solid #E2E8F0;
  margin-bottom: 24px; padding-bottom: 0;
}
html[data-theme="dark"] .nq-cat-tabs-nav { border-bottom-color: rgba(255,255,255,.12); }
.nq-cat-tab {
  padding: 8px 18px; font-size: 13px; font-weight: 700;
  background: none; border: none; cursor: pointer;
  color: #64748B; border-bottom: 3px solid transparent;
  margin-bottom: -2px; transition: color .15s, border-color .15s;
  text-transform: uppercase; letter-spacing: .04em;
}
.nq-cat-tab:hover { color: #D90429; }
.nq-cat-tab.active { color: #D90429; border-bottom-color: #D90429; }
html[data-theme="dark"] .nq-cat-tab { color: rgba(255,255,255,.5); }
html[data-theme="dark"] .nq-cat-tab.active,
html[data-theme="dark"] .nq-cat-tab:hover { color: #D90429; }

.nq-cat-panel-inner {
  display: grid; grid-template-columns: 1fr 300px;
  gap: 24px; align-items: start;
}
@media (max-width: 860px) {
  .nq-cat-panel-inner { grid-template-columns: 1fr; }
}

/* Lead card */
.nq-cat-tab-lead {
  display: block; text-decoration: none; color: inherit;
}
.nq-cat-tab-lead-img-wrap {
  border-radius: 10px; overflow: hidden;
  aspect-ratio: 16/9; background: #E2E8F0;
  margin-bottom: 14px;
}
.nq-cat-tab-lead-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .35s;
}
.nq-cat-tab-lead:hover .nq-cat-tab-lead-img-wrap img { transform: scale(1.04); }
.nq-cat-tab-lead-title {
  font-size: 20px; font-weight: 800; line-height: 1.3;
  margin: 8px 0 6px; color: #0F172A;
}
html[data-theme="dark"] .nq-cat-tab-lead-title { color: #F1F5F9; }
.nq-cat-tab-lead-exc { font-size: 13px; color: #64748B; line-height: 1.6; margin: 0 0 8px; }
.nq-cat-tab-lead-date { font-size: 11px; color: #94A3B8; }

/* Sub list */
.nq-cat-tab-subs { display: flex; flex-direction: column; gap: 0; }
.nq-cat-tab-sub {
  display: flex; gap: 12px; align-items: flex-start;
  text-decoration: none; color: inherit;
  padding: 12px 0; border-bottom: 1px solid #F1F5F9;
  transition: background .12s;
}
html[data-theme="dark"] .nq-cat-tab-sub { border-bottom-color: rgba(255,255,255,.06); }
.nq-cat-tab-sub:last-child { border-bottom: none; }
.nq-cat-tab-sub-img {
  width: 80px; height: 60px; border-radius: 7px;
  object-fit: cover; flex-shrink: 0;
  background: #E2E8F0;
}
.nq-cat-tab-sub-body { flex: 1; }
.nq-cat-tab-sub-body h4 {
  font-size: 13px; font-weight: 600; line-height: 1.4;
  margin: 5px 0 4px; color: #1E293B;
}
html[data-theme="dark"] .nq-cat-tab-sub-body h4 { color: #E2E8F0; }
.nq-cat-tab-sub-date { font-size: 11px; color: #94A3B8; }
.nq-cat-tab-sub:hover .nq-cat-tab-sub-body h4 { color: #D90429; }

/* ── Author Spotlight / Editor's Choice ── */
.nq-author-spotlight { margin-top: 48px; }
/* v9.9: the old .nq-author-* block that used to live here (no
   min-width:0 on the flex title — the classic cause of a flex item
   refusing to shrink below its unwrapped text width, forcing every
   other row narrower and narrower) has been removed. The real,
   authoritative rules are further down this file under
   "AUTHOR SPOTLIGHT: fix grid" — consolidated and extended there
   instead of living in two places that could drift apart. */

/* ── Popular Categories Sidebar Widget ── */
.nq-pop-cats-widget { }
.nq-pop-cats-list { display: flex; flex-direction: column; gap: 2px; }
.nq-pop-cat-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 12px; border-radius: 7px;
  text-decoration: none; transition: background .15s, color .15s;
  background: #F8FAFC;
}
html[data-theme="dark"] .nq-pop-cat-row { background: rgba(255,255,255,.04); }
.nq-pop-cat-row:hover { background: #FEE2E2; color: #D90429; }
html[data-theme="dark"] .nq-pop-cat-row:hover { background: rgba(217,4,41,.15); }
.nq-pop-cat-name { font-size: 13px; font-weight: 600; color: inherit; }
.nq-pop-cat-count {
  font-size: 11px; font-weight: 700; color: #fff;
  background: #D90429; padding: 2px 7px; border-radius: 20px;
}

/* ── Footer 4-col responsive ── */
@media (max-width: 480px) {
  .nq-footer-social-grid { grid-template-columns: repeat(5, 1fr); }
  .nq-fsoc-btn { width: 38px; height: 38px; }
  .nq-fsoc-btn svg { width: 17px; height: 17px; }
}

/* ── Market ticker dark mode ── */
html[data-theme="dark"] .nq-market-bar { background: #0D0F14; border-bottom-color: rgba(255,255,255,.06); }



/* ============================================================
   V7.2 FIX PACK – Fixes for:
   1. Empty featured card / placeholder boxes
   2. Broken large white semicircle in footer (SVG overflow)
   3. Interactive grid column count conflict (4 vs 3)
   4. Footer layout CSS conflict resolution
   5. Empty nq-ic-card boxes
   6. nq-ph placeholder sizing
   ============================================================ */

/* ── 1. Featured card image placeholder: prevent blank tall boxes ── */
.nq-feat-img-link {
  display: block; position: relative;
  overflow: hidden;
  background: #E2E8F0;          /* visible fallback while image loads  */
  aspect-ratio: 16 / 9;         /* lock ratio so card never collapses  */
}
.nq-feat-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  position: absolute; inset: 0;
  transition: transform .3s;
}
/* Placeholder div when no image */
.nq-ph {
  width: 100%; height: 100%;
  min-height: 140px;
  background: linear-gradient(135deg, #1E293B 0%, #334155 100%);
  position: absolute; inset: 0;
}

/* (duplicate .nq-fsoc-btn overflow-fix rule removed — consolidated into
   the single rule earlier in this file, which already includes
   overflow:hidden and explicit SVG sizing) */

/* Ensure the footer brand column doesn't overflow */
.nq-footer-col-brand {
  overflow: hidden;
  min-width: 0;
}
.nq-footer-social-grid {
  display: grid;
  grid-template-columns: repeat(4, 42px);
  gap: 8px; margin-top: 6px;
  overflow: hidden;
}

/* ── 3. Fix interactive grid: 4-col override → 3-col (only 3 cards exist) ── */
.nq-interactive-grid,
.nq-interactive-strip .nq-interactive-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 860px) {
  .nq-interactive-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 520px) {
  .nq-interactive-grid { grid-template-columns: 1fr !important; }
}

/* ── 4. nq-ic-card: fix empty appearance ── */
.nq-ic-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 10px; padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
  min-height: 200px;
  box-sizing: border-box;
}
html[data-theme="dark"] .nq-ic-card {
  background: #1F2937;
  border-color: #374151;
}
.nq-ic-empty {
  font-size: 13px; color: #94A3B8;
  text-align: center; margin: auto 0;
}

/* ── 5. Footer 4-col layout: clean up duplicate CSS conflicts ── */
/* Override old single-row .nq-footer-v5-links to column layout */
.nq-footer-main .nq-footer-v5-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: flex-start !important;
}
.nq-footer-main .nq-footer-v5-links a {
  font-size: 13px;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color .15s;
}
.nq-footer-main .nq-footer-v5-links a:hover { color: #D90429; }

/* ── 6. Footer main grid fix: brand col must not overflow  ── */
.nq-footer-main {
  align-items: start;
  overflow: hidden;
}
.nq-footer-col {
  min-width: 0;
  overflow: hidden;
}

/* ── 7. Feat-card: remove stale height conflicts ── */
.nq-feat-card { overflow: hidden; }
.nq-feat-body { padding: 14px 16px 16px; }

/* ── 8. Side cards: prevent empty thumb bleed ── */
.nq-side-card-thumb,
.nq-lat-thumb,
.nq-dense-img-wrap,
.nq-np-list-thumb {
  overflow: hidden;
  background: #E2E8F0;
  flex-shrink: 0;
}
.nq-side-img, .nq-lat-img, .nq-dense-img, .nq-np-list-img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* ── 9. Mobile footer social icons: 5-col grid at small screen ── */
@media (max-width: 480px) {
  .nq-footer-social-grid {
    grid-template-columns: repeat(5, 38px);
    gap: 6px;
  }
  .nq-fsoc-btn { width: 38px; height: 38px; }
  .nq-fsoc-btn svg { width: 16px !important; height: 16px !important; }
}

/* ── 9. Mobile footer social icons: 5-col grid at small screen ── */
@media (max-width: 480px) {
  .nq-footer-social-grid {
    grid-template-columns: repeat(5, 38px);
    gap: 6px;
  }
  .nq-fsoc-btn { width: 38px; height: 38px; }
  .nq-fsoc-btn svg { width: 16px !important; height: 16px !important; }
}

/* ── Nav lang row: always visible on mobile inside open nav ── */
.nq-nav-list.open ~ .nq-nav-lang-row,
.nq-nav-list.open + .nq-nav-lang-row { display: flex; }

/* ============================================================
   V7.2 COMPLETION FIXES
   ============================================================ */

/* ── 10. Homepage hero: default layout uses 2-col (hero-main + side-col)
         The old 3-col grid caused the right column to collapse empty. ── */
.nq-homepage-hero {
  grid-template-columns: 1fr 280px !important;
}
@media (max-width: 900px) {
  .nq-homepage-hero { grid-template-columns: 1fr 220px !important; }
}
@media (max-width: 660px) {
  .nq-homepage-hero {
    grid-template-columns: 1fr !important;
  }
  .nq-hero-side-col { display: none !important; }
}

/* ── 11. Category 2-col block grid: was missing, caused blocks to stack ── */
.nq-cat-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media (max-width: 760px) {
  .nq-cat-two-col { grid-template-columns: 1fr; gap: 24px; }
}

/* ── 12. Mini card image link: add background so empty link isn't blank ── */
.nq-mini-img-link {
  display: block; position: relative;
  overflow: hidden;
  background: #E2E8F0;
  border-radius: 8px 8px 0 0;
}
.nq-mini-img {
  width: 100%; aspect-ratio: 16/10;
  object-fit: cover; display: block;
  transition: transform .3s;
}

/* ── 13. Side card thumb: fixed height so it never collapses ── */
.nq-side-card-thumb {
  width: 110px; min-width: 110px;
  height: 85px; flex-shrink: 0;
  overflow: hidden; background: #E2E8F0;
}
.nq-side-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
/* nq-ph inside side-card */
.nq-side-card-thumb .nq-ph {
  width: 100%; height: 100%;
  min-height: unset;
  position: static;
}

/* ── 14. nq-ph in feat-img-link: properly sized placeholder ── */
.nq-feat-img-link .nq-ph {
  width: 100%; height: 100%;
  min-height: 170px;
  position: absolute; inset: 0;
}

/* ── 15. Latest news thumb sizing ── */
.nq-lat-thumb {
  flex-shrink: 0;
  width: 110px; min-width: 110px;
  height: 74px;
  overflow: hidden; background: #E2E8F0;
  border-radius: 6px;
}
.nq-lat-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* ── 16. Cat block: lead card image must fill its container ── */
.nq-cat-lead-card {
  display: block; text-decoration: none;
  color: inherit;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  transition: box-shadow .2s;
  background: #fff;
}
html[data-theme="dark"] .nq-cat-lead-card {
  background: #1F2937; border-color: #374151;
}

/* ── 17. Dark mode fixes ── */
html[data-theme="dark"] .nq-cat-two-col,
html[data-theme="dark"] .nq-cat-three-col { color: #E2E8F0; }
html[data-theme="dark"] .nq-cat-mini span { color: #94A3B8; }
html[data-theme="dark"] .nq-lat-item { border-bottom-color: rgba(255,255,255,.06); }
html[data-theme="dark"] .nq-lat-item:hover { background: rgba(255,255,255,.04); }

/* ── 18. Four-grid section: ensure images scale properly in dark mode ── */
html[data-theme="dark"] .nq-mini-card {
  background: #1F2937;
  border-color: #374151;
}
html[data-theme="dark"] .nq-mini-body h3 a { color: #E2E8F0; }

/* ── 19. Footer: ensure footer-v5 itself clips overflow (prevents any SVG bleed) ── */
.nq-footer-v5 { overflow: hidden; }
.nq-footer-main { overflow: visible; }   /* grid itself can overflow into columns */
.nq-footer-col   { overflow: hidden; min-width: 0; }
.nq-footer-col-brand { overflow: hidden; min-width: 0; }

/* ── 20. Fix: Interactive section cards always visible, never transparent ── */
.nq-ic-card {
  visibility: visible !important;
  opacity: 1 !important;
}


/* ============================================================
   V7.3 COMPREHENSIVE FIX — Overrides all previous conflicts
   Covers: ticker, social icons, dropdown, tagline, lang toggle,
   subscribe banner, popular categories, category tabs, footer,
   nshorts banner z-index, topbar clock, image cards
   ============================================================ */

/* ── TOPBAR: date + clock on one line ── */
.nq-topbar-clock {
  font-size: 11px; color: rgba(255,255,255,.55);
  font-variant-numeric: tabular-nums;
}

/* ── SITE TAGLINE below logo ──
   Was rgba(255,255,255,.45) — white text on the header's white background,
   which made it effectively invisible. The header background is #fff in
   light mode, so this needs a dark, muted tone instead. */
.nq-site-tagline {
  display: block;
  font-size: 11px; color: #64748B;
  font-weight: 400; letter-spacing: .03em;
  margin-top: 2px; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  max-width: 260px;
}
[data-theme="dark"] .nq-site-tagline { color: rgba(255,255,255,.45); }
.nq-wordmark-wrap {
  display: flex; flex-direction: column; gap: 1px;
}
.nq-logo-area {
  display: flex; align-items: center; gap: 10px; overflow: hidden; min-width: 0;
}

/* (duplicate .nq-breaking-track rule removed — see original definition earlier in this file) */

/* ── NAV DROPDOWN: desktop — show on both :hover AND .open class ── */
.nq-nav-item.has-sub:hover .nq-nav-dropdown,
.nq-nav-item.has-sub:focus-within .nq-nav-dropdown,
.nq-nav-item.has-sub.open .nq-nav-dropdown {
  display: block !important;
  animation: nqDropFade .15s ease;
}
@keyframes nqDropFade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Dropdown arrow rotation when open */
.nq-nav-item.has-sub.open .nq-nav-arrow { transform: rotate(180deg); }
.nq-nav-arrow { display: inline-block; transition: transform .2s; }

/* ── LANGUAGE TOGGLE: visible always in topbar ── */
.nq-topbar-lang { display: flex !important; align-items: center; gap: 4px; }
.nq-lang-chip {
  font-size: 10px; font-weight: 700; padding: 3px 8px;
  border-radius: 3px; color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.3);
  transition: all .15s; cursor: pointer; text-decoration: none;
}
.nq-lang-chip.active { background: #D90429; color: #fff; border-color: #D90429; }
.nq-lang-chip:hover  { color: #fff; border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.1); }

/* ── POPULAR CATEGORIES SIDEBAR WIDGET ── */
.nq-pop-cats-widget { margin-top: 4px; }
.nq-pop-cats-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin: 0 !important; padding: 0 !important;
  list-style: none !important;
}
.nq-pop-cat-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 12px !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  background: #F1F5F9 !important;
  transition: background .15s, color .15s !important;
  gap: 8px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
html[data-theme="dark"] .nq-pop-cat-row {
  background: rgba(255,255,255,.06) !important;
}
.nq-pop-cat-row:hover {
  background: #FEE2E2 !important;
  color: #D90429 !important;
}
html[data-theme="dark"] .nq-pop-cat-row:hover {
  background: rgba(217,4,41,.12) !important;
}
.nq-pop-cat-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  flex: 1 !important;
}
html[data-theme="dark"] .nq-pop-cat-name { color: #E2E8F0 !important; }
.nq-pop-cat-row:hover .nq-pop-cat-name { color: #D90429 !important; }
.nq-pop-cat-count {
  font-size: 11px !important; font-weight: 700 !important;
  color: #fff !important; background: #D90429 !important;
  padding: 2px 8px !important; border-radius: 20px !important;
  flex-shrink: 0 !important;
}

/* ── CATEGORY TABS ── */
.nq-cat-tabs-section { clear: both; }
.nq-cat-tabs-nav {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  border-bottom: 2px solid #E2E8F0 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  list-style: none !important;
}
html[data-theme="dark"] .nq-cat-tabs-nav { border-bottom-color: rgba(255,255,255,.1) !important; }
.nq-cat-tab {
  padding: 10px 20px !important;
  font-size: 13px !important; font-weight: 700 !important;
  background: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  cursor: pointer !important;
  color: #64748B !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  transition: color .15s, border-color .15s !important;
  white-space: nowrap !important;
}
.nq-cat-tab:hover { color: #D90429 !important; }
.nq-cat-tab.active {
  color: #D90429 !important;
  border-bottom-color: #D90429 !important;
  background: none !important;
}
html[data-theme="dark"] .nq-cat-tab { color: rgba(255,255,255,.5) !important; }
html[data-theme="dark"] .nq-cat-tab.active,
html[data-theme="dark"] .nq-cat-tab:hover { color: #D90429 !important; }

/* ── CATEGORY PANEL GRID ── */
.nq-cat-panel-inner {
  display: grid !important;
  grid-template-columns: 1fr 280px !important;
  gap: 24px !important;
}
@media (max-width: 860px) {
  .nq-cat-panel-inner { grid-template-columns: 1fr !important; }
}
.nq-cat-tab-lead-img-wrap {
  border-radius: 10px; overflow: hidden;
  aspect-ratio: 16/9; background: #E2E8F0;
  margin-bottom: 14px; position: relative;
}
.nq-cat-tab-lead-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .35s;
}
.nq-cat-tab-lead:hover .nq-cat-tab-lead-img-wrap img { transform: scale(1.04); }

/* ── NSHORTS BANNER: push above it so Subscribe button doesn't overlap ── */
.nshorts-install-banner {
  z-index: 8800 !important; /* lower than progress bar 9999 */
  bottom: 0 !important;
}
/* When banner is visible, ensure nothing overlaps it from above */
body.nq-banner-visible { padding-bottom: 60px; }

/* ── FOOTER: 4-col grid ── */
.nq-footer-main {
  display: grid !important;
  grid-template-columns: 1.8fr 1fr 1fr 1.4fr !important;
  gap: 36px !important;
  padding: 44px 0 32px !important;
  align-items: start !important;
}
@media (max-width: 1060px) {
  .nq-footer-main { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
}
@media (max-width: 640px) {
  .nq-footer-main { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* (duplicate .nq-footer-logo-img rule removed — see consolidated rule earlier in this file) */
.nq-footer-tagline {
  font-size: 12.5px; line-height: 1.65;
  color: rgba(255,255,255,.45); margin: 8px 0 18px;
}
.nq-footer-col-title {
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .1em; color: rgba(255,255,255,.35);
  margin: 0 0 12px; padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ── FOOTER NAV LINKS: column layout ── */
.nq-footer-col .nq-footer-v5-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  align-items: flex-start !important;
}
.nq-footer-col .nq-footer-v5-links a {
  font-size: 13px; color: rgba(255,255,255,.55);
  text-decoration: none; transition: color .15s;
}
.nq-footer-col .nq-footer-v5-links a:hover { color: #D90429; }

/* ── FOOTER SOCIAL ICONS: 4+3 grid ── */
/* (duplicate .nq-footer-social-grid / .nq-fsoc-btn rules removed —
   consolidated into the single rule earlier in this file) */

/* ── FOOTER AUTHORS ── */
.nq-footer-authors { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.nq-footer-author-row {
  display: flex !important; align-items: center !important; gap: 10px !important;
  text-decoration: none; color: rgba(255,255,255,.65); transition: color .15s;
}
.nq-footer-author-row:hover { color: #fff; }
.nq-footer-author-avatar {
  width: 34px !important; height: 34px !important;
  border-radius: 50% !important; object-fit: cover !important;
  flex-shrink: 0 !important; border: 1.5px solid rgba(255,255,255,.2);
}
.nq-footer-author-info {
  display: flex !important; flex-direction: column !important; gap: 1px !important; min-width: 0;
}
.nq-footer-author-info strong { font-size: 12.5px; font-weight: 600; }
.nq-footer-author-info span { font-size: 11px; color: rgba(255,255,255,.35); }

/* ── TOPBAR: ensure full topbar always visible on ≥700px screens ── */
@media (min-width: 701px) {
  .nq-topbar { display: flex !important; }
  .nq-topbar-inner { height: 38px; }
}
/* Mobile: topbar hidden but nav-lang-row shows in hamburger menu */
@media (max-width: 700px) {
  .nq-topbar { display: none !important; }
  .nq-mobile-lang-row { display: none; } /* JS toggles this on hamburger open */
}

/* ── IMAGE CARDS: consistent sizing across all card types ── */
.nq-lat-thumb { width: 100px !important; min-width: 100px !important; height: 70px !important; }
.nq-lat-img   { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.nq-mini-img-link { display: block !important; overflow: hidden !important; background: #E2E8F0 !important; }
.nq-mini-img  { width: 100% !important; aspect-ratio: 16/10 !important; object-fit: cover !important; display: block !important; }
.nq-np-list-thumb { width: 90px !important; min-width: 90px !important; height: 65px !important; flex-shrink: 0 !important; overflow: hidden !important; }
.nq-np-list-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.nq-side-card-thumb { width: 100px !important; height: 72px !important; min-width: 100px !important; overflow: hidden !important; flex-shrink: 0 !important; }
.nq-side-img  { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.nq-cat-tab-sub-img { width: 78px !important; height: 58px !important; object-fit: cover !important; border-radius: 6px !important; flex-shrink: 0 !important; }
.nq-ph { display: block !important; width: 100% !important; min-height: 70px !important; background: linear-gradient(135deg,#1E293B,#334155) !important; }

/* ── AUTHOR SPOTLIGHT: fix grid ── */
.nq-author-spotlight-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}
@media (max-width: 1200px) {
  .nq-author-spotlight-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 860px) {
  .nq-author-spotlight-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .nq-author-spotlight-grid { grid-template-columns: 1fr !important; }
}
.nq-author-col {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important; padding: 16px !important;
  overflow: hidden !important; min-width: 0 !important;
}
html[data-theme="dark"] .nq-author-col {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.nq-author-header {
  display: flex !important; gap: 10px !important; align-items: center !important;
  text-decoration: none !important; color: inherit !important;
  margin-bottom: 12px !important; padding-bottom: 12px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
html[data-theme="dark"] .nq-author-header { border-bottom-color: rgba(255,255,255,.06) !important; }
.nq-author-avatar { border-radius: 50% !important; width: 52px !important; height: 52px !important; object-fit: cover !important; flex-shrink: 0 !important; border: 2px solid #D90429 !important; }
.nq-author-header-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nq-author-header-info strong { font-size: 13px; font-weight: 700; color: #0F172A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-theme="dark"] .nq-author-header-info strong { color: #F1F5F9; }
.nq-author-header-info span { font-size: 11px; color: #64748B; }
.nq-author-posts { display: flex !important; flex-direction: column !important; gap: 0 !important; margin-bottom: 10px !important; }
.nq-author-post-row {
  display: flex !important; align-items: flex-start !important; gap: 8px !important;
  text-decoration: none !important; color: inherit !important;
  padding: 7px 0 !important; border-bottom: 1px solid #F1F5F9 !important;
}
html[data-theme="dark"] .nq-author-post-row { border-bottom-color: rgba(255,255,255,.04) !important; }
.nq-author-post-row:last-child { border-bottom: none !important; }
.nq-author-post-title { flex: 1 !important; min-width: 0 !important; overflow-wrap: break-word !important; font-size: 12.5px !important; font-weight: 500 !important; line-height: 1.5 !important; color: #334155 !important; }
html[data-theme="dark"] .nq-author-post-title { color: #CBD5E1 !important; }
.nq-author-post-row:hover .nq-author-post-title { color: #D90429 !important; }
.nq-author-post-thumb { display: none !important; }

/* ── MARKET BOTTOM BAR: smaller height ── */

/* ── NAV DROPDOWN Z-INDEX FIX ── */
.nq-nav-dropdown {
  z-index: 700 !important;
  min-width: 180px !important;
}

/* ── LIVE CLOCK JS update target ── */
#nq-live-clock { display: inline-block; }


/* ============================================================
   BEAUTIFUL SHAYARI CARDS — v7.1
   Full page template (page-shayari.php) + sidebar qp-card styling
   ============================================================ */

/* ── Page Hero ── */
.nq-shayari-hero {
  background: linear-gradient(135deg, #1A0A2E 0%, #2D1052 40%, #0F172A 100%);
  padding: 60px 0 48px; position: relative; overflow: hidden;
}
.nq-shayari-hero::before {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ctext x='50%25' y='55%25' text-anchor='middle' font-size='260' opacity='.04' fill='%23fff' font-family='serif'%3Eشعر%3C/text%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events: none;
}
.nq-shayari-hero-inner { text-align: center; position: relative; z-index: 1; }
.nq-shayari-hero-calligraphy {
  font-size: clamp(48px,8vw,96px); color: rgba(255,255,255,.08);
  font-family: serif; line-height: 1; margin-bottom: -20px;
  user-select: none;
}
.nq-shayari-hero-title {
  font-family: var(--font-serif); font-size: clamp(28px,5vw,48px);
  font-weight: 800; color: #FAF8F3; margin: 0 0 10px; letter-spacing: -.02em;
}
.nq-shayari-hero-subtitle {
  font-size: 16px; color: rgba(255,255,255,.55); margin: 0;
  font-style: italic;
}

/* ── Filter Bar ── */
.nq-shayari-filter-bar {
  background: #F8F7F4; border-bottom: 1px solid #E2E8F0; padding: 14px 0;
  position: sticky; top: calc(var(--nq-header-h,64px) + 46px); z-index: 500;
}
[data-theme="dark"] .nq-shayari-filter-bar { background: #0F172A; border-color: #1E293B; }
.nq-shayari-filter-inner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nq-shayari-filter-label { font-size: 12px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.nq-shayari-poet-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.nq-poet-chip {
  padding: 4px 14px; border-radius: 999px; font-size: 12px; font-weight: 600;
  border: 1.5px solid #CBD5E1; color: #475569; background: #fff;
  transition: all .18s; white-space: nowrap;
}
.nq-poet-chip.active { background: #7C3AED; color: #fff; border-color: #7C3AED; }
.nq-poet-chip:hover:not(.active) { border-color: #7C3AED; color: #7C3AED; }
[data-theme="dark"] .nq-poet-chip { background: #1E293B; border-color: #334155; color: #CBD5E1; }

/* ── Shayari Grid ── */
.nq-shayari-wrap { padding: 40px 0 60px; }
.nq-shayari-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  gap: 24px;
}

/* ── Shayari Card Base ── */
.nq-shayari-card {
  position: relative; border-radius: 16px; padding: 28px 24px 20px;
  overflow: hidden; transition: transform .25s, box-shadow .25s;
  display: flex; flex-direction: column; min-height: 200px;
}
.nq-shayari-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,.16); }

/* ── Card colour themes ── */
.nq-shayari-card--rose    { background: linear-gradient(145deg,#FFF1F2,#FFE4E6); border: 1px solid #FECDD3; }
.nq-shayari-card--indigo  { background: linear-gradient(145deg,#EEF2FF,#E0E7FF); border: 1px solid #C7D2FE; }
.nq-shayari-card--amber   { background: linear-gradient(145deg,#FFFBEB,#FEF3C7); border: 1px solid #FDE68A; }
.nq-shayari-card--emerald { background: linear-gradient(145deg,#ECFDF5,#D1FAE5); border: 1px solid #A7F3D0; }
.nq-shayari-card--violet  { background: linear-gradient(145deg,#F5F3FF,#EDE9FE); border: 1px solid #DDD6FE; }
.nq-shayari-card--crimson { background: linear-gradient(145deg,#FDF4FF,#FAE8FF); border: 1px solid #E9D5FF; }

/* Dark mode card tones */
[data-theme="dark"] .nq-shayari-card--rose    { background: linear-gradient(145deg,#1C0A0D,#2A0D14); border-color: #7F1D1D; }
[data-theme="dark"] .nq-shayari-card--indigo  { background: linear-gradient(145deg,#0F0F2E,#1E1B4B); border-color: #3730A3; }
[data-theme="dark"] .nq-shayari-card--amber   { background: linear-gradient(145deg,#1C1300,#2E1D00); border-color: #92400E; }
[data-theme="dark"] .nq-shayari-card--emerald { background: linear-gradient(145deg,#022C22,#064E3B); border-color: #065F46; }
[data-theme="dark"] .nq-shayari-card--violet  { background: linear-gradient(145deg,#1E0A3C,#2E1065); border-color: #5B21B6; }
[data-theme="dark"] .nq-shayari-card--crimson { background: linear-gradient(145deg,#1A0022,#2E0040); border-color: #7E22CE; }

/* ── Decorative opening quote mark ── */
.nq-shayari-card-deco {
  position: absolute; top: 8px; right: 16px;
  font-size: 80px; line-height: 1; opacity: .12;
  font-family: Georgia, serif; font-weight: 900;
  color: currentColor; user-select: none; pointer-events: none;
}

/* ── Card body — the actual Urdu/Hindi couplet ── */
.nq-shayari-card-body {
  flex: 1; font-family: 'Noto Serif', var(--font-serif), Georgia, serif;
  font-size: 16px; line-height: 2.0; font-style: italic;
  color: #1E293B; margin-bottom: 14px; position: relative; z-index: 1;
}
[data-theme="dark"] .nq-shayari-card-body { color: #E2E8F0; }
.nq-shayari-card-body p { margin: 0; }

/* ── Poet attribution ── */
.nq-shayari-card-poet {
  font-size: 12px; font-weight: 700; color: #6B7280;
  letter-spacing: .04em; text-transform: uppercase; margin-bottom: 14px;
  display: flex; align-items: center; gap: 6px;
}
[data-theme="dark"] .nq-shayari-card-poet { color: #9CA3AF; }
.nq-shayari-card-poet-dash { opacity: .5; }
.nq-shayari-card-poet-name { color: inherit; }

/* ── Action row (read more, copy, share) ── */
.nq-shayari-card-actions {
  display: flex; align-items: center; gap: 8px;
  border-top: 1px solid rgba(0,0,0,.08); padding-top: 12px;
  flex-wrap: wrap;
}
[data-theme="dark"] .nq-shayari-card-actions { border-color: rgba(255,255,255,.08); }
.nq-shayari-card-readmore {
  font-size: 11px; font-weight: 700; color: #7C3AED;
  text-decoration: none; letter-spacing: .03em; margin-right: auto;
}
.nq-shayari-card-readmore:hover { color: #5B21B6; text-decoration: underline; }
.nq-shayari-copy-btn,
.nq-shayari-share-wa,
.nq-shayari-share-x {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 8px;
  border: 1.5px solid rgba(0,0,0,.1); background: rgba(255,255,255,.5);
  font-size: 14px; cursor: pointer; transition: all .15s;
  text-decoration: none; color: inherit;
}
.nq-shayari-copy-btn:hover  { background: #7C3AED; color: #fff; border-color: #7C3AED; }
.nq-shayari-share-wa:hover  { background: #25D366; color: #fff; border-color: #25D366; }
.nq-shayari-share-x:hover   { background: #000; color: #fff; border-color: #000; }

/* ── Empty state ── */
.nq-shayari-empty {
  text-align: center; padding: 80px 20px; color: var(--muted);
}
.nq-shayari-empty-icon { font-size: 64px; margin-bottom: 16px; }
.nq-shayari-empty h2 { font-size: 24px; margin-bottom: 8px; }
.nq-shayari-empty p { font-size: 15px; margin-bottom: 24px; }

/* ── Pagination (category/archive pages) ──
   v9.9: had ZERO CSS — the <ul class="page-numbers"><li>... structure
   paginate_links() outputs was falling back to the browser default of
   display:list-item for <li>, stacking every page number vertically
   instead of in a row. */
.nq-pagination { margin-top: 30px; }
.nq-pagination ul.page-numbers {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 8px; list-style: none; margin: 0; padding: 0;
}
.nq-pagination ul.page-numbers li { display: inline-flex; margin: 0; }
.nq-pagination .page-numbers {
  display: flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 12px;
  border-radius: 8px; border: 1.5px solid var(--rule, #E2E8F0);
  font-size: 14px; font-weight: 600; color: var(--ink, #1a1a2e);
  transition: all .15s; text-decoration: none;
}
.nq-pagination .page-numbers.current { background: #D90429; color: #fff; border-color: #D90429; }
.nq-pagination .page-numbers:hover:not(.current) { border-color: #D90429; color: #D90429; }
.nq-pagination .page-numbers.dots { border: none; }

/* ── Pagination (Shayari) ── */
.nq-shayari-pagination {
  display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap;
}
.nq-shayari-pagination .page-numbers {
  display: flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 12px;
  border-radius: 8px; border: 1.5px solid #E2E8F0;
  font-size: 14px; font-weight: 600; color: var(--ink);
  transition: all .15s; text-decoration: none;
}
.nq-shayari-pagination .page-numbers.current { background: #7C3AED; color: #fff; border-color: #7C3AED; }
.nq-shayari-pagination .page-numbers:hover:not(.current) { border-color: #7C3AED; color: #7C3AED; }

/* ── Sidebar qp-card Shayari card (the tabbed slider card) ── */
.qp-card.shayari-card {
  padding: 16px 14px 20px;
  background: linear-gradient(145deg,#F5F3FF,#EDE9FE);
  border-left: 4px solid #7C3AED; border-radius: 0 12px 12px 0;
  position: relative; overflow: hidden;
}
[data-theme="dark"] .qp-card.shayari-card {
  background: linear-gradient(145deg,#1E0A3C,#2E1065);
  border-left-color: #A78BFA;
}
.qp-card.shayari-card::before {
  content: '"'; position: absolute; top: 0; right: 8px;
  font-size: 72px; opacity: .08; font-family: Georgia,serif; line-height: 1;
  pointer-events: none; user-select: none;
}
.qp-text-shayari {
  font-family: 'Noto Serif', var(--font-serif), Georgia, serif;
  font-size: 15px; line-height: 2.0; font-style: italic;
  color: #1E293B; position: relative; z-index: 1;
}
[data-theme="dark"] .qp-text-shayari { color: #DDD6FE; }
.qp-text-shayari p { margin: 0 0 4px; }

/* ── Sports fallback section ── */
.nq-sports-fallback-section {
  background: linear-gradient(135deg,#0F172A,#1E293B); padding: 20px 0;
}
.nq-sports-fallback-title {
  color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 14px;
}
.nq-sports-fallback-links { display: flex; gap: 10px; flex-wrap: wrap; }
.nq-sports-fallback-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 16px; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18); border-radius: 8px;
  color: #fff; font-size: 13px; font-weight: 600;
  text-decoration: none; transition: all .18s;
}
.nq-sports-fallback-chip:hover { background: rgba(217,4,41,.7); border-color: #D90429; }
.nq-sports-fallback-src { font-size: 10px; color: rgba(255,255,255,.5); font-weight: 400; }
.nq-sports-api-note { color: rgba(255,255,255,.6); font-size: 11px; margin: 12px 0 0; font-style: italic; }

/* ── Sports score card team name layout ── */
.nq-team-name { font-size: 11px; font-weight: 700; text-align: center; flex: 1; color: #fff; line-height: 1.3; }
.nq-score-block { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.nq-score { font-family: var(--font-mono); font-weight: 900; font-size: 16px; color: #fff; }
.nq-score-sep { color: rgba(255,255,255,.4); font-size: 12px; margin: 0 2px; }
.sport-match-teams { display: flex; align-items: center; gap: 8px; margin: 6px 0 4px; }
.nq-sports-scores-heading { color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 14px; }

/* ── Market bar: clean two-row layout ── */
.nq-market-bar { background: #fff; border-bottom: 1px solid #E2E8F0; }
.nq-market-snapshot-row { min-height: 44px; }
.nq-market-tv-row { min-height: 44px; border-top: 1px solid #F1F5F9; }
[data-theme="dark"] .nq-market-bar { background: #0F172A; border-color: #1E293B; }
[data-theme="dark"] .nq-market-tv-row { border-color: rgba(255,255,255,.06); }

@media (max-width: 768px) {
  .nq-shayari-grid { grid-template-columns: 1fr; }
  .nq-shayari-hero { padding: 36px 0 28px; }
  .nq-shayari-card { padding: 20px 16px 16px; }
  .nq-sports-fallback-links { gap: 8px; }
  .nq-sports-fallback-chip { font-size: 12px; padding: 6px 12px; }
}

/* ============================================================
   CRITICAL VISIBILITY FIXES — language, dark mode toggle, topbar
   ============================================================ */

/* Language chip — white text visible on dark (#0F172A) topbar */
.nq-lang-chip {
  font-size: 11px; font-weight: 700;
  padding: 3px 9px; border-radius: 4px;
  color: rgba(255,255,255,.8);
  border: 1.5px solid rgba(255,255,255,.28);
  background: transparent;
  cursor: pointer; transition: all .15s;
  line-height: 1; display: inline-flex; align-items: center;
  text-decoration: none;
}
.nq-lang-chip.active { background: #D90429; color: #fff; border-color: #D90429; }
.nq-lang-chip:hover:not(.active) { background: rgba(255,255,255,.12); color: #fff; }

/* Dark mode button — clearly visible on dark topbar */
.nq-dark-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 6px;
  background: rgba(255,255,255,.1);
  border: 1.5px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.9); font-size: 14px;
  cursor: pointer; transition: all .18s; flex-shrink: 0;
}
.nq-dark-btn:hover { background: #D90429; border-color: #D90429; color: #fff; }
[data-theme="dark"] .nq-dark-btn { background: rgba(255,255,255,.15); }

/* Topbar right section — ensure tools are never hidden by overflow */
.nq-topbar-right {
  display: flex; align-items: center; gap: 8px;
  flex-shrink: 0; overflow: visible !important;
}
.nq-topbar-lang { display: flex; align-items: center; gap: 4px; }

/* Footer logo — no white box, no color destruction */
.nq-footer-logo-img {
  max-height: 48px; width: auto; display: block;
  object-fit: contain;
}
.nq-footer-logo-img.solid-bg { mix-blend-mode: screen; }

/* Header logo — transparent, correct size */
.nq-logo-img {
  max-height: 48px; width: auto; display: block;
  object-fit: contain;
}

/* Topbar date/clock — always visible */
.nq-topbar-date { font-size: 11.5px; color: rgba(255,255,255,.7); white-space: nowrap; }
#nq-live-clock  { font-size: 11.5px; color: rgba(255,255,255,.55); font-family: var(--font-mono); }

/* Nav dropdown z-index — always above everything */
.nq-nav-dropdown { z-index: 9000 !important; }
.nq-primary-nav  { z-index: 700; overflow: visible !important; }
.nq-nav-list     { overflow: visible !important; }
.nq-nav-item     { overflow: visible !important; position: relative; }

/* Market bar clean layout */
.nq-market-bar { overflow: visible; }
.nq-market-snapshot-row .nq-market-snapshot { min-height: 44px; padding: 0 12px; }
.nq-tv-widget { width: 100%; }

/* Dark mode topbar social icon SVG visibility */
.nq-tsoc svg { width: 15px; height: 15px; display: block; }

/* ============================================================
   v8.0 — Flag-style language switcher (topbar + mobile menu)
   ============================================================ */
.nq-lang-dropdown { position: relative; display: inline-block; }
.nq-lang-flag-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 3px;
  height: 26px; padding: 0 8px; border-radius: 13px;
  font-size: 15px; line-height: 1; text-decoration: none; cursor: pointer;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  opacity: .85; transition: opacity .18s, background .18s;
}
.nq-lang-flag-btn .nq-lang-flag { display: block; }
.nq-lang-dropdown-caret { font-size: 9px; opacity: .7; }
.nq-lang-dropdown-trigger:hover, .nq-lang-dropdown.open .nq-lang-dropdown-trigger {
  opacity: 1; background: rgba(255,255,255,.16);
}
.nq-lang-dropdown-menu {
  display: none; position: absolute; top: calc(100% + 6px); right: 0; z-index: 200;
  min-width: 130px; background: #fff; border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18); border: 1px solid var(--rule, #E2E8F0);
  padding: 6px; flex-direction: column; gap: 2px;
}
.nq-lang-dropdown.open .nq-lang-dropdown-menu { display: flex; }
.nq-lang-dropdown-item {
  display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 6px;
  font-size: 13px; font-weight: 600; color: var(--ink, #1a1a2e); text-decoration: none;
}
.nq-lang-dropdown-item:hover { background: var(--paper, #f4f4f5); }
.nq-lang-dropdown-item.active { background: rgba(217,4,41,.1); color: #D90429; }
.nq-topbar-lang { display: flex; align-items: center; gap: 6px; }
.nq-mobile-lang-row .nq-lang-flag-btn { height: 30px; font-size: 17px; }
.nq-mobile-lang-row .nq-lang-dropdown-menu { left: 0; right: auto; }

/* ============================================================
   v8.0 — Additive homepage layout section headers
   (Default Hero Grid / Newspaper Pro / High-Density Grid, when
   toggled on underneath the MSN-Style Hero Slider)
   ============================================================ */
.nq-layout-append-head { margin: 40px 0 18px; }
.nq-layout-append-head h2 {
  font-size: 20px; font-weight: 800; letter-spacing: -.01em;
  padding-bottom: 8px; border-bottom: 3px solid #D90429; display: inline-block;
}

/* ============================================================
   v8.0 — TOPBAR COMPACT WEATHER WIDGET (real fix)
   Root cause: the topbar's compact weather chip shared the exact
   same .nq-weather-widget-card class as the full sidebar weather
   card (padding:18px, bordered box, drop shadow) with NO compact-
   specific override anywhere in the stylesheet — so it rendered as
   a boxed card floating inline in a single-line topbar, instead of
   a small inline chip. This scopes a proper compact treatment.
   ============================================================ */
.nq-topbar-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nq-weather-widget-card.nq-weather-compact {
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  gap: 6px;
  vertical-align: middle;
}
.nq-weather-compact .nq-weather-compact-loading {
  padding: 0;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
}
.nq-weather-compact .nq-spinner-sm { width: 11px; height: 11px; border-width: 2px; }
.nq-weather-compact .nq-weather-compact-display {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  color: inherit;
  white-space: nowrap;
}
.nq-weather-compact .nq-weather-icon-large { font-size: 15px; line-height: 1; }
.nq-weather-compact .nq-weather-temp-val { font-size: 12.5px; font-weight: 700; color: inherit; letter-spacing: normal; }
.nq-weather-compact .nq-weather-unit { font-size: 11.5px; font-weight: 600; color: inherit; margin-left: 0; }
.nq-weather-compact .nq-weather-compact-city {
  opacity: .75; font-weight: 500; max-width: 90px; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
}
@media (max-width: 640px) {
  .nq-weather-compact .nq-weather-compact-city { display: none; } /* keep topbar from wrapping on phones */
}

/* ============================================================
   v8.0 — TOI-style multi-column category mega-dropdown
   Wider panel with the subcategories flowing into 2 columns
   instead of one long single-file list, closer to how
   timesofindia.indiatimes.com lays out its section dropdowns.
   ============================================================ */
@media (min-width: 993px) {
  .nq-nav-item.has-sub .nq-nav-dropdown {
    min-width: 300px;
    column-count: 2;
    column-gap: 0;
    padding: 6px 0;
  }
  .nq-nav-item.has-sub .nq-nav-dropdown li { break-inside: avoid; }
  .nq-nav-item.has-sub .nq-nav-dropdown-viewall {
    column-span: all;
    font-weight: 800;
    border-bottom: 1px solid var(--rule, #e5e5e5);
    margin-bottom: 4px;
  }
}

/* ============================================================
   v8.1 — Monetization slot placeholder
   Reserves visual space (avoids Core Web Vitals layout shift once
   a real ad/affiliate network is wired into these hooks — see
   inc/ad-slots.php) and looks intentional rather than broken even
   with nothing plugged in yet.
   ============================================================ */
.nq-ad-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  margin: 28px 0;
  background: var(--paper-alt, #f7f7f8);
  border: 1px dashed var(--rule, #e2e2e4);
  border-radius: var(--radius-lg, 10px);
  position: relative;
}
.nq-ad-slot-label {
  position: absolute;
  top: 6px;
  left: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-dim, #8a8a8e);
}
html[data-theme="dark"] .nq-ad-slot {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.12);
}

/* ============================================================
   v9.0 PROFESSIONAL UPGRADE — CARD COMPONENT LIBRARY
   ============================================================ */

/* --- Shared Card Base --- */
.nq-lead-card,
.nq-mini-card,
.nq-list-card,
.nq-video-card,
.nq-gallery-card,
.nq-audio-card {
  background: var(--paper-dim);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}

/* --- Card Title --- */
.nq-card-title {
  font-family: var(--font-headline, 'Outfit', 'Inter', sans-serif);
  font-size: var(--text-base, 1rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--ink);
  margin: 0 0 6px;
}
.nq-card-title a {
  color: inherit;
  text-decoration: none;
}
.nq-card-title a:hover { color: var(--primary); }

/* --- Card Meta --- */
.nq-card-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nq-card-time { font-size: var(--text-xs, 0.75rem); color: var(--muted); }

/* --- Thumbnail placeholder --- */
.nq-thumb-placeholder {
  background: linear-gradient(135deg, var(--paper-dim-alt) 0%, var(--rule) 100%);
  aspect-ratio: 16/9;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nq-thumb-placeholder::after {
  content: '📰';
  font-size: 2rem;
  opacity: 0.3;
}
.nq-thumb-placeholder--lead { min-height: 280px; }

/* --- Thumb wrap — overflow clip for zoom effect --- */
.nq-thumb-wrap { overflow: hidden; }

/* ============================================================
   LEAD CARD
   ============================================================ */
.nq-lead-card {
  display: grid;
  grid-template-rows: auto 1fr;
}
.nq-lead-card__img-link { display: block; }
.nq-lead-card__img-wrap { overflow: hidden; aspect-ratio: 16/9; }
.nq-lead-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nq-lead-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nq-lead-card__title { font-size: var(--text-2xl, 1.5rem); }
.nq-card-excerpt {
  font-size: var(--text-sm, 0.875rem);
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   MINI CARD (component library variant — used only via nq_card_mini(),
   which nothing in this theme currently calls; renamed in v9.9 from
   the bare .nq-mini-card so it can no longer collide with the actual,
   live .nq-mini-card cards used throughout front-page.php)
   ============================================================ */
.nq-mini-card-cmp {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 12px;
  align-items: start;
}
.nq-mini-card-cmp__img-link { display: block; }
.nq-mini-card-cmp__img-link .nq-thumb-wrap { border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; }
.nq-mini-card-cmp__img-link .nq-thumb-wrap img { width: 100%; height: 100%; object-fit: cover; }
.nq-mini-card-cmp__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nq-mini-card-cmp__title { font-size: var(--text-sm, 0.875rem); }

@media (max-width: 480px) {
  .nq-mini-card-cmp { grid-template-columns: 90px 1fr; gap: 8px; }
}

/* ============================================================
   LIST CARD
   ============================================================ */
.nq-list-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
}
.nq-list-card:last-child { border-bottom: none; }
.nq-list-card__rank {
  font-family: var(--font-mono);
  font-size: var(--text-2xl, 1.5rem);
  font-weight: 900;
  color: var(--rule);
  min-width: 32px;
  text-align: center;
  flex-shrink: 0;
}
.nq-list-card__thumb { width: 72px; flex-shrink: 0; border-radius: var(--radius); overflow: hidden; aspect-ratio: 1; }
.nq-list-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.nq-list-card__body { flex: 1; min-width: 0; }
.nq-list-card__title { font-size: var(--text-sm, 0.875rem); }

/* ============================================================
   VIDEO CARD
   ============================================================ */
.nq-video-card__img-link { position: relative; display: block; }
.nq-video-card__thumb { aspect-ratio: 16/9; overflow: hidden; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.nq-video-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nq-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  background: rgba(0,0,0,.55);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  transition: background 200ms;
}
.nq-video-card__img-link:hover .nq-play-btn { background: var(--primary); }
.nq-video-duration {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,.7);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--font-mono);
}
.nq-video-card__body { padding: 12px; display: flex; flex-direction: column; gap: 6px; }

/* ============================================================
   GALLERY CARD
   ============================================================ */
.nq-gallery-card__img-link { position: relative; display: block; }
.nq-gallery-card__thumb { aspect-ratio: 16/9; overflow: hidden; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.nq-gallery-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nq-gallery-count {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(0,0,0,.7);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 3px;
}
.nq-gallery-card__body { padding: 12px; display: flex; flex-direction: column; gap: 6px; }

/* ============================================================
   AUDIO CARD
   ============================================================ */
.nq-audio-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px;
}
.nq-audio-card__icon { font-size: 2rem; flex-shrink: 0; margin-top: 2px; }
.nq-audio-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nq-audio-player { width: 100%; height: 36px; margin-top: 6px; }
.nq-tts-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: var(--text-sm);
  font-weight: 600;
  cursor: pointer;
  width: fit-content;
  margin-top: 6px;
  transition: background 200ms;
}
.nq-tts-btn:hover { background: var(--primary-dark, hsl(348,95%,25%)); }

/* ============================================================
   NEWSLETTER STRIP
   ============================================================ */
.nq-newsletter-strip {
  background: linear-gradient(135deg, hsl(220,30%,12%) 0%, hsl(220,30%,18%) 100%);
  color: #f8fafc;
  padding: 48px 20px;
  margin: 32px 0;
  border-radius: var(--radius-lg);
}
.nq-newsletter-strip__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.nq-newsletter-strip__text { flex: 1; min-width: 240px; }
.nq-newsletter-strip__heading {
  font-family: var(--font-headline, 'Outfit', sans-serif);
  font-size: var(--text-2xl, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
  color: #f8fafc;
}
.nq-newsletter-strip__sub { font-size: var(--text-sm); color: rgba(248,250,252,.7); margin: 0; }
.nq-newsletter-form {
  display: flex;
  gap: 0;
  flex: 1;
  min-width: 280px;
  max-width: 440px;
}
.nq-newsletter-form input[type="email"] {
  flex: 1;
  border: none;
  border-radius: 6px 0 0 6px;
  padding: 12px 16px;
  font-size: var(--text-base);
  background: rgba(255,255,255,.95);
  color: var(--ink);
  outline: none;
}
.nq-newsletter-form input[type="email"]:focus { box-shadow: 0 0 0 2px var(--primary); }
.nq-newsletter-form button {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 0 6px 6px 0;
  padding: 12px 20px;
  font-size: var(--text-base);
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 200ms;
}
.nq-newsletter-form button:hover { background: var(--primary-dark, hsl(348,95%,25%)); }
.nq-newsletter-strip__privacy { font-size: var(--text-xs); color: rgba(248,250,252,.5); margin: 12px 0 0; width: 100%; }

@media (max-width: 600px) {
  .nq-newsletter-strip__inner { flex-direction: column; gap: 20px; }
  .nq-newsletter-form { max-width: 100%; min-width: unset; width: 100%; }
}

/* ============================================================
   DONATION PROMPT
   ============================================================ */
.nq-donation-prompt {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-toast, 600);
  background: var(--ink);
  color: var(--paper);
  padding: 18px 24px;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.35);
  max-width: 480px;
  width: calc(100% - 32px);
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: nq-slide-up 0.3s var(--ease-out, cubic-bezier(0.16,1,0.3,1)) both;
}
.nq-donation-prompt[hidden] { display: none; }
@keyframes nq-slide-up {
  from { transform: translate(-50%, 20px); opacity: 0; }
  to   { transform: translate(-50%, 0);    opacity: 1; }
}
.nq-donation-prompt__close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  color: var(--paper);
  cursor: pointer;
  font-size: 16px;
  opacity: .7;
  padding: 4px;
}
.nq-donation-prompt__close:hover { opacity: 1; }
.nq-donation-prompt__text { font-size: var(--text-sm); line-height: 1.6; margin: 0; }
.nq-donation-prompt__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary);
  color: #fff;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 700;
  font-size: var(--text-sm);
  text-decoration: none;
  width: fit-content;
  transition: background 200ms;
}
.nq-donation-prompt__btn:hover { background: var(--primary-dark, hsl(348,95%,25%)); color: #fff; }

/* ============================================================
   RELATED POSTS GRID
   ============================================================ */
.nq-related-posts { margin: 40px 0; }
.nq-related-posts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}
.nq-related-card { border: 1px solid var(--rule); }

/* ============================================================
   MOBILE BOTTOM NAV
   ============================================================ */
.nq-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--z-sticky, 300);
  background: var(--paper-dim);
  border-top: 1px solid var(--rule);
  box-shadow: 0 -2px 12px rgba(0,0,0,.08);
  padding-bottom: env(safe-area-inset-bottom, 0);
}
@media (max-width: 767px) {
  .nq-bottom-nav { display: flex; }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0)); }
}
.nq-bottom-nav__list {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nq-bottom-nav__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.nq-bottom-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 4px;
  text-decoration: none;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: color 150ms;
  min-height: 56px;
  width: 100%;
  justify-content: center;
}
.nq-bottom-nav__link .nq-bnav-icon {
  font-size: 20px;
  line-height: 1;
}
.nq-bottom-nav__link.active,
.nq-bottom-nav__link:hover { color: var(--primary); }

/* ============================================================
   SECTION TITLE PREMIUM STYLE
   ============================================================ */
.nq-section-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-headline, 'Outfit', 'Inter', sans-serif);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--rule);
}
.nq-section-heading::before {
  content: '';
  display: block;
  width: 4px;
  height: 1.1em;
  background: var(--primary);
  border-radius: 2px;
  flex-shrink: 0;
}

/* ============================================================
   THUMB PLACEHOLDER BACKGROUND
   ============================================================ */
.nq-thumb-placeholder {
  background: linear-gradient(135deg, var(--paper-dim-alt) 0%, var(--rule) 100%);
}

/* ============================================================
   CARD GRID CONTAINERS
   ============================================================ */
.nq-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.nq-cards-grid--4col {
  grid-template-columns: repeat(4, 1fr);
}
.nq-cards-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
.nq-cards-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .nq-cards-grid--4col { grid-template-columns: repeat(2, 1fr); }
  .nq-cards-grid--3col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .nq-cards-grid--4col,
  .nq-cards-grid--3col,
  .nq-cards-grid--2col { grid-template-columns: 1fr; }
}

/* ============================================================
   AI QUOTA ADMIN BAR
   ============================================================ */
#wp-admin-bar-nq-ai-quota > .ab-item { color: #a3e635 !important; }
#wp-admin-bar-nq-ai-quota:hover > .ab-item { color: #fff !important; }

/* ============================================================
   v9.0 UI UPGRADES
   ============================================================ */

/* --- LOGO TRANSPARENT BACKGROUND --- */
.nq-logo-img,
.nq-footer-logo-img {
  background: transparent !important;
  mix-blend-mode: normal;
}
.nq-logo-img.solid-bg,
.nq-footer-logo-img.solid-bg {
  background: transparent !important;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}

/* --- TOPBAR 24HR BOLD CLOCK --- */
#nq-live-clock {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--nq-accent, #D90429);
  font-variant-numeric: tabular-nums;
  min-width: 64px;
  display: inline-block;
}
/* Remove time from the date element - only date shown */
#nq-live-date {
  font-size: 12px;
  opacity: 0.75;
}

/* --- FLAG LANGUAGE TOGGLE --- */
.nq-flag-toggle {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,0.1);
  border-radius: 30px;
  padding: 2px;
  gap: 0;
  border: 1px solid rgba(255,255,255,0.15);
  height: 30px;
  overflow: hidden;
  position: relative;
}
.nq-flag-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 10px;
  height: 26px;
  border-radius: 26px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,0.75);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
  letter-spacing: 0.04em;
}
.nq-flag-btn svg,
.nq-flag-btn .nq-flag-img {
  width: 18px;
  height: 13px;
  border-radius: 2px;
  object-fit: cover;
  flex-shrink: 0;
}
.nq-flag-btn.nq-flag-active {
  background: white;
  color: #1a1a2e;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25);
}
[data-theme="dark"] .nq-flag-btn.nq-flag-active {
  background: #2d3250;
  color: #fff;
}

/* --- NEUMORPHIC THEME TOGGLE --- */
.nq-theme-toggle-pill {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 30px;
  padding: 3px 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  transition: all 0.2s;
  white-space: nowrap;
  letter-spacing: 0.03em;
}
.nq-theme-toggle-pill:hover {
  background: rgba(255,255,255,0.14);
}
.nq-theme-label-light::before { content: '☀️ '; }
.nq-theme-label-dark  { display: none; }
.nq-theme-label-dark::before  { content: '🌙 '; }
[data-theme="dark"] .nq-theme-label-light { display: none; }
[data-theme="dark"] .nq-theme-label-dark  { display: inline; }

/* --- TOPBAR RIGHT ALIGNMENT --- */
.nq-topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
/* --- OFFICIAL BRAND SOCIAL ICONS (topbar) --- */
.nq-tsoc {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, opacity 0.2s;
  opacity: 0.85;
  flex-shrink: 0;
}
.nq-tsoc svg { width: 14px; height: 14px; }
.nq-tsoc:hover { opacity: 1; transform: scale(1.12); }
.nq-tsoc-fb  { background: #1877F2; color: #fff; }
.nq-tsoc-x   { background: #000000; color: #fff; }
.nq-tsoc-ig  { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color: #fff; }
.nq-tsoc-yt  { background: #FF0000; color: #fff; }
.nq-tsoc-li  { background: #0A66C2; color: #fff; }
.nq-tsoc-tg  { background: #26A5E4; color: #fff; }
.nq-tsoc-wa  { background: #25D366; color: #fff; }

/* v9.5: 28px icons at a 4px gap is a genuinely tight touch target on a
   phone — bumped to 32px with a slightly larger gap below 600px so
   they're comfortably tappable without widening the desktop topbar. */
@media (max-width: 600px) {
  .nq-top-social { gap: 8px; }
  .nq-tsoc { width: 32px; height: 32px; }
  .nq-tsoc svg { width: 16px; height: 16px; }
}

/* --- FOOTER SOCIAL ICONS --- */
.nq-footer-social-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 16px;
}
.nq-fsoc-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.nq-fsoc-btn:hover { transform: translateY(-2px) scale(1.05); box-shadow: 0 4px 16px rgba(0,0,0,0.35); }
.nq-fsoc-btn svg { width: 22px; height: 22px; }
.nq-fsoc-fb  { background: #1877F2; color: #fff; }
.nq-fsoc-x   { background: #000000; color: #fff; }
.nq-fsoc-ig  { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color: #fff; }
.nq-fsoc-yt  { background: #FF0000; color: #fff; }
.nq-fsoc-li  { background: #0A66C2; color: #fff; }
.nq-fsoc-tg  { background: #26A5E4; color: #fff; }
.nq-fsoc-wa  { background: #25D366; color: #fff; }

/* --- ENHANCED QP SLIDER CARDS (Quotes, Polls, Shayari, Gita) --- */
.qp-slider-wrap { display: flex; flex-direction: column; gap: 16px; }
.qp-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  padding: 4px;
  border-radius: 12px 12px 0 0;
}
.qp-tab {
  padding: 8px 6px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,0.55);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.2s;
  white-space: normal;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-align: center;
}
.qp-tab.active {
  background: linear-gradient(135deg, #D90429, #C2700E);
  color: #fff;
  box-shadow: 0 2px 8px rgba(217,4,41,0.35);
}
.qp-tab:hover:not(.active) { background: rgba(255,255,255,0.1); color: #fff; }

/* Quote card */
.quote-card {
  padding: 20px;
  background: linear-gradient(135deg, #fff9f0 0%, #fef3e2 100%);
  border-radius: 0 0 12px 12px;
  position: relative;
}
[data-theme="dark"] .quote-card { background: linear-gradient(135deg, #1e1b2e 0%, #2d1b00 100%); }
.quote-card::before {
  content: '\275D';
  font-size: 64px;
  color: rgba(217,4,41,0.1);
  position: absolute;
  top: 4px;
  left: 12px;
  font-family: Georgia, serif;
  line-height: 1;
}

/* Poll card */
.poll-card { padding: 16px; }
.poll-card .nq-poll-form label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1.5px solid var(--nq-border, #e5e7eb);
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 13px;
}
.poll-card .nq-poll-form label:hover { border-color: #D90429; background: #fff5f6; }
.poll-card .nq-poll-form input[type="radio"]:checked + span { color: #D90429; font-weight: 600; }

/* Shayari card */
.shayari-card {
  padding: 20px;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border-radius: 0 0 12px 12px;
  text-align: center;
}
[data-theme="dark"] .shayari-card { background: linear-gradient(135deg, #0f1729 0%, #1a1f3c 100%); }
.qp-text-shayari {
  font-size: 15px;
  line-height: 1.8;
  font-family: 'Noto Sans Devanagari', serif;
  color: var(--nq-text, #1a1a2e);
  white-space: pre-line;
}

/* Gita / Thought card */
.gita-card {
  padding: 20px;
  background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%);
  border-radius: 0 0 12px 12px;
}
[data-theme="dark"] .gita-card { background: linear-gradient(135deg, #0a1f12 0%, #0d2818 100%); }
.qp-gita-title {
  font-weight: 700;
  font-size: 14px;
  color: #15803d;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.qp-gita-title::before { content: '🕊'; }

/* QP nav controls */
.qp-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px;
  border-top: 1px solid var(--nq-border, #f0f0f0);
}
.qp-prev, .qp-next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--nq-border, #e0e0e0);
  background: var(--nq-surface, #fff);
  color: var(--nq-text, #333);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 15px;
  transition: all 0.2s;
}
.qp-prev:hover, .qp-next:hover { background: #D90429; color: #fff; border-color: #D90429; }
.qp-count { font-size: 11px; color: var(--nq-text-muted, #999); font-weight: 600; }

/* --- YOU MAY HAVE MISSED --- */
.nq-missed-section { margin: 32px 0; }
.nq-missed-section .nq-section-head h2::before { content: '🕐 '; }
.nq-missed-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 768px) { .nq-missed-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .nq-missed-grid { grid-template-columns: 1fr; } }
.nq-missed-card {
  background: var(--nq-surface, #fff);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  transition: transform 0.2s, box-shadow 0.2s;
}
.nq-missed-card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(0,0,0,0.12); }
.nq-missed-img-link { display: block; position: relative; }
.nq-missed-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.nq-missed-body { padding: 12px; }
.nq-missed-body h3 { font-size: 14px; font-weight: 600; line-height: 1.4; margin: 6px 0; }
.nq-missed-body h3 a { color: var(--nq-heading, #1a1a2e); text-decoration: none; }
.nq-missed-body h3 a:hover { color: #D90429; }
.nq-missed-meta { display: flex; gap: 8px; font-size: 11px; color: var(--nq-text-muted, #9ca3af); margin-top: 6px; }

/* --- PODCAST CARDS --- */
.nq-podcast-section { margin: 32px 0; }
.nq-podcast-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 768px) { .nq-podcast-grid { grid-template-columns: 1fr; } }
.nq-podcast-card {
  background: var(--nq-surface, #fff);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 16px rgba(0,0,0,0.09);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.nq-podcast-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,0.14); }
.nq-podcast-thumb-wrap {
  position: relative;
  overflow: hidden;
  background: #1a1a2e;
}
.nq-podcast-thumb { width: 100%; height: 180px; object-fit: cover; display: block; opacity: 0.85; transition: opacity 0.2s; }
.nq-podcast-card:hover .nq-podcast-thumb { opacity: 1; }
.nq-podcast-play-btn {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 52px; height: 52px;
  background: rgba(217,4,41,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 4px 16px rgba(217,4,41,0.5);
  transition: transform 0.2s, background 0.2s;
}
.nq-podcast-card:hover .nq-podcast-play-btn { background: #D90429; transform: translate(-50%, -50%) scale(1.1); }
.nq-podcast-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.nq-podcast-episode { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #D90429; }
.nq-podcast-body h3 { font-size: 14px; font-weight: 700; line-height: 1.4; margin: 4px 0; }
.nq-podcast-body h3 a { color: var(--nq-heading, #1a1a2e); text-decoration: none; }
.nq-podcast-excerpt { font-size: 12px; color: var(--nq-text-muted, #6b7280); line-height: 1.5; flex: 1; }
.nq-podcast-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; font-size: 11px; color: var(--nq-text-muted, #9ca3af); }
.nq-podcast-listen-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #D90429;
  color: #fff !important;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s;
}
.nq-podcast-listen-btn:hover { background: #b0021e; }

/* --- BREAKING TICKER PROFESSIONAL FIX --- */
.nq-breaking-bar {
  background: linear-gradient(90deg, #D90429 0%, #a80020 100%);
  overflow: hidden;
  height: 36px;
  display: flex;
  align-items: center;
}
.nq-breaking-inner {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
  gap: 0;
}
.nq-breaking-label {
  flex-shrink: 0;
  background: rgba(0,0,0,0.2);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 0 14px;
  height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  z-index: 2;
}
.nq-breaking-track-wrap {
  flex: 1;
  overflow: hidden;
  height: 36px;
  display: flex;
  align-items: center;
  position: relative;
}
.nq-breaking-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: nq-ticker-scroll linear infinite;
  will-change: transform;
}
@keyframes nq-ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.nq-brk-item {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  padding: 0 20px;
  display: inline-block;
  transition: opacity 0.2s;
}
.nq-brk-item:hover { opacity: 0.75; }
.nq-brk-sep {
  color: rgba(255,255,255,0.4);
  font-size: 6px;
  vertical-align: middle;
}
.live-dot-pulse {
  width: 8px; height: 8px;
  background: #fff;
  border-radius: 50%;
  display: inline-block;
  animation: nq-pulse 1.2s ease-in-out infinite;
  box-shadow: 0 0 0 rgba(255,255,255,0.6);
}
@keyframes nq-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,0.6); }
  70%  { box-shadow: 0 0 0 6px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

/* --- MARKET TICKER PROFESSIONAL FIX --- */
.nq-market-bar {
  background: var(--nq-market-bg, #0f172a);
  border-top: 1px solid rgba(255,255,255,0.06);
  overflow: hidden;
  height: 38px;
  display: flex;
  align-items: center;
}
.nq-market-snapshot-row {
  display: flex;
  align-items: center;
  height: 38px;
  overflow: hidden;
  width: 100%;
}
.nq-mkt-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: nq-ticker-scroll linear infinite;
  will-change: transform;
}
.nq-mkt-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 18px;
  font-size: 12px;
  color: #e2e8f0;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  border-right: 1px solid rgba(255,255,255,0.07);
}
.nq-mkt-item .nq-mkt-name { color: #94a3b8; font-size: 11px; }
.nq-mkt-up   { color: #22c55e; }
.nq-mkt-down { color: #ef4444; }

/* ============================================================
   v9.0 CRITICAL BUG FIXES — Applied from screen recording audit
   ============================================================ */

/* ── 1. TOPBAR OVERFLOW FIX ─────────────────────────────────
   The topbar was clipped on the left because nq-wrap had no
   left-align anchor and the flex items pushed outside viewport */
.nq-topbar {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}
.nq-topbar-inner {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
  gap: 8px;
  flex-wrap: nowrap;
  overflow: hidden;
}
.nq-topbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  overflow: hidden;
  max-width: 55%;
}
.nq-topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}
/* Prevent topbar date from overflowing on smaller screens */
#nq-live-date {
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

/* ── 2. MSN SLIDER "MORE HEADLINES" EMPTY FIX ───────────────
   The right panel was showing title but no actual headline rows.
   Ensure the MSN row has correct widths */
.nq-msn-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
  width: 100%;
}
.nq-msn-slider {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  min-height: 380px;
  background: #1a1a2e;
}
.nq-msn-slides { position: relative; height: 100%; min-height: 380px; }
.nq-msn-slide  { position: absolute; inset: 0; opacity: 0; transition: opacity 0.5s ease; }
.nq-msn-slide.is-active { opacity: 1; position: relative; }
.nq-msn-slide-img { width: 100%; height: 380px; object-fit: cover; display: block; }
.nq-msn-slide-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px 20px 16px;
  background: linear-gradient(transparent, rgba(0,0,0,0.85));
}
.nq-msn-slide-title {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 6px 0 4px;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.nq-msn-slide-meta { color: rgba(255,255,255,0.7); font-size: 12px; }
.nq-msn-headlines {
  background: var(--nq-surface, #fff);
  border-radius: 12px;
  padding: 16px;
  height: 380px;
  overflow-y: auto;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  scrollbar-width: thin;
}
.nq-msn-headlines-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nq-text-muted, #6b7280);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #D90429;
}
.nq-msn-headline-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--nq-border, #f0f0f0);
  text-decoration: none;
  transition: opacity 0.2s;
}
.nq-msn-headline-row:hover { opacity: 0.8; }
.nq-msn-headline-row:last-child { border-bottom: none; }
.nq-msn-headline-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 54px;
  border-radius: 6px;
  overflow: hidden;
  background: #f0f0f0;
}
.nq-msn-headline-img { width: 72px; height: 54px; object-fit: cover; display: block; }
.nq-msn-headline-body { flex: 1; min-width: 0; }
.nq-msn-headline-body h4 {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--nq-heading, #1a1a2e);
  margin: 4px 0 4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nq-msn-headline-date { font-size: 11px; color: var(--nq-text-muted, #9ca3af); }

/* ── 3. BROKEN IMAGE PLACEHOLDER ────────────────────────────
   Posts without thumbnails showed a broken [X] icon.
   Replace with a professional gradient placeholder */
.nq-ph,
img[src=""],
img:not([src]) {
  background: linear-gradient(135deg, #1a1a2e 0%, #2d3250 50%, #1a1a2e 100%);
  display: block;
  position: relative;
}
.nq-ph::after {
  content: '📰';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 32px;
  opacity: 0.4;
}
/* High-density grid card images */
.nq-dense-img,
.nq-mini-img,
.nq-feat-img,
.nq-lat-img,
.nq-cat-lead-img,
.nq-cat-mini-img,
.nq-side-img,
.nq-np-hero-img,
.nq-np-list-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: linear-gradient(135deg, #e8eaf0, #d1d5e0);
}
/* Ensure image wrappers clip properly */
.nq-dense-img-wrap,
.nq-mini-img-link,
.nq-feat-img-link {
  overflow: hidden;
  display: block;
  background: #e8eaf0;
}
.nq-dense-img-wrap { height: 160px; }
.nq-mini-img-link  { height: 140px; }
.nq-feat-img-link  { height: 200px; }

/* ── 4. SECTION HEADING ALIGNMENT FIX ───────────────────────
   "DEFAULT GRID" / "GH-GRID" were clipped because the nq-wrap
   inside main had no left margin/padding */
.nq-layout-append-head h2,
.nq-section-head h2 {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nq-heading, #1a1a2e);
  padding-left: 10px;
  border-left: 3px solid #D90429;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nq-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--nq-border, #e5e7eb);
}

/* ── 5. MARKET TICKER DEDUP FIX ─────────────────────────────
   Market snapshot scrolled with doubled values. Use CSS to
   constrain the snapshot row */
.nq-market-snapshot-row {
  overflow: hidden;
  white-space: nowrap;
  flex: 1;
  display: flex;
  align-items: center;
}
.nq-market-snapshot-row .nq-mkt-track {
  animation: nq-ticker-scroll linear infinite;
}

/* ── 6. MAIN CONTENT CONTAINER ───────────────────────────────
   Cards and grids overflowing out of the main content column */
.nq-primary-content-col {
  min-width: 0;
  overflow: hidden;
}
.nq-four-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1024px) { .nq-four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  { .nq-four-grid { grid-template-columns: 1fr; } }
.nq-mini-card {
  background: var(--nq-surface, #fff);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: transform 0.2s;
  min-width: 0;
}
.nq-mini-card:hover { transform: translateY(-2px); }
.nq-mini-body { padding: 10px 12px; }
.nq-mini-body h3 { font-size: 13px; line-height: 1.4; margin: 4px 0; }
.nq-mini-body h3 a { color: var(--nq-heading, #1a1a2e); text-decoration: none; }
.nq-mini-body h3 a:hover { color: #D90429; }

/* Grid dense row */
.nq-grid-dense-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 900px)  { .nq-grid-dense-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .nq-grid-dense-row { grid-template-columns: 1fr; } }
.nq-dense-card {
  background: var(--nq-surface, #fff);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  transition: transform 0.2s;
}
.nq-dense-card:hover { transform: translateY(-2px); }
.nq-dense-body { padding: 10px 12px; }
.nq-dense-title { font-size: 13px; font-weight: 600; line-height: 1.4; margin: 0 0 4px; }

/* ── 7. QUOTE/POLL/SHAYARI CARD AUTOSLIDE FIX ────────────────
   Cards were not visually distinct. Each type gets its own
   premium card look with auto-sliding panels */
.qp-panel { display: none; }
.qp-panel.active { display: block; }
.qp-track {
  position: relative;
  min-height: 160px;
}
.qp-card {
  display: none;
  animation: qpFadeIn 0.3s ease;
}
.qp-card.active { display: block; }
@keyframes qpFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Quote card premium */
.quote-card {
  padding: 24px 20px 16px;
  background: linear-gradient(135deg, #fff9f0 0%, #fef3e2 100%);
  border-radius: 12px;
  position: relative;
  min-height: 160px;
}
[data-theme="dark"] .quote-card { background: linear-gradient(135deg, #1e1b2e 0%, #2a1f00 100%); }
.quote-card::before {
  content: '\275D';
  font-size: 72px;
  color: rgba(217,4,41,0.12);
  position: absolute;
  top: -4px; left: 8px;
  font-family: Georgia, serif;
  line-height: 1;
  pointer-events: none;
}
.quote-card blockquote {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 15px;
  line-height: 1.7;
  color: var(--nq-text, #1a1a2e);
  font-style: italic;
}
.quote-card cite {
  display: block;
  margin-top: 12px;
  font-size: 12px;
  font-weight: 700;
  color: #D90429;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-style: normal;
}
.quote-card .qp-text > p:first-child {
  font-size: 16px;
  line-height: 1.7;
  font-style: italic;
  color: var(--nq-text, #222);
}

/* Poll card premium */
.poll-card {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border-radius: 12px;
  padding: 16px;
}
[data-theme="dark"] .poll-card { background: linear-gradient(135deg, #0f1729 0%, #131b38 100%); }

/* Shayari card premium */
.shayari-card {
  background: linear-gradient(135deg, #fff0f5 0%, #ffe4ef 100%);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  position: relative;
}
[data-theme="dark"] .shayari-card { background: linear-gradient(135deg, #1f0a15 0%, #2a1020 100%); }
.shayari-card::before {
  content: '✍️';
  font-size: 28px;
  display: block;
  margin-bottom: 8px;
}

/* Gita card premium */
.gita-card {
  background: linear-gradient(135deg, #f0fff4 0%, #e0faea 100%);
  border-radius: 12px;
  padding: 20px;
}
[data-theme="dark"] .gita-card { background: linear-gradient(135deg, #061510 0%, #0d2518 100%); }

/* ── 8. FOOTER SOCIAL ICON GRID FIX ─────────────────────────
   Icons were overlapping in uneven layout */
.nq-footer-social-grid {
  display: grid;
  grid-template-columns: repeat(4, 44px);
  gap: 8px;
  margin-top: 16px;
}

/* ── 9. BREAKING TICKER — PREVENT DOUBLE DISPLAY ─────────────
   Two copies of items were shown in breaking bar */
.nq-breaking-track {
  display: inline-flex;
  align-items: center;
  animation: nq-ticker-scroll linear infinite;
  will-change: transform;
}
.nq-breaking-track-wrap {
  overflow: hidden;
  flex: 1;
  height: 36px;
  display: flex;
  align-items: center;
  position: relative;
}

/* ── 10. TOPBAR FLAG TOGGLE VISIBLE FIX ──────────────────────
   The flag toggle pill needs proper sizing and not overflow */
.nq-flag-toggle {
  flex-shrink: 0;
}
/* Hide the old Polylang injected language dropdown */
.pll-parent-menu-item,
.polylang-ls-legacy,
#lang_choice_1 {
  display: none !important;
}

/* ── 11. RESPONSIVE WRAP CONTAINER ──────────────────────────
   Main content overflowing because nq-wrap was wider than viewport */
.nq-wrap {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  width: 100%;
  box-sizing: border-box;
}
.nq-main-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
  width: 100%;
}
@media (max-width: 1024px) {
  .nq-main-layout-grid { grid-template-columns: 1fr; }
  .nq-msn-row { grid-template-columns: 1fr; }
  .nq-msn-headlines { height: auto; max-height: 300px; }
}

/* ── 12. SPORTS SECTION ──────────────────────────────────────
   v9.6: this block used to also define .nq-sports-section,
   .nq-live-scores, .nq-sports-header, a singular .nq-sports-tab,
   and .nq-score-row/team/run/status — none of which any PHP
   template ever outputs (the real widget is .sports-schedule-section
   / .sport-match-card, styled elsewhere in this file). Removed as
   dead weight; .nq-sports-tabs below IS still used (functions.php
   renders it alongside .qp-tabs) so that one stays. */
.nq-sports-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--nq-border, #e5e7eb);
  overflow-x: auto;
  scrollbar-width: none;
}
.nq-sports-tabs::-webkit-scrollbar { display: none; }

/* ── 13. COLOR CONTRAST IMPROVEMENTS ──────────────────────────
   Low-contrast text was hard to read */
.nq-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #D90429;
  color: #fff !important;
  white-space: nowrap;
  margin-bottom: 4px;
}
.nq-badge-light { background: rgba(255,255,255,0.9); color: #1a1a2e !important; }
.nq-badge-top   { background: #D90429; color: #fff !important; }

/* Category blocks in three-column grid */
.nq-cat-lead-body h3,
.nq-feat-body h3 a {
  color: var(--nq-heading, #1a1a2e);
  font-size: 15px;
  line-height: 1.4;
}
.nq-cat-date, .nq-feat-meta, .nq-mini-date, .nq-dense-date {
  font-size: 11px;
  color: var(--nq-text-muted, #9ca3af);
}

/* Dark mode improvements */
[data-theme="dark"] .nq-mini-card,
[data-theme="dark"] .nq-dense-card,
[data-theme="dark"] .nq-feat-card,
[data-theme="dark"] .nq-missed-card,
[data-theme="dark"] .nq-podcast-card {
  background: #1e2235;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
[data-theme="dark"] .nq-mini-body h3 a,
[data-theme="dark"] .nq-dense-title a,
[data-theme="dark"] .nq-feat-body h3 a {
  color: #e2e8f0;
}
[data-theme="dark"] .nq-msn-headlines {
  background: #1e2235;
}

/* ── 14. CATEGORY THREE-COL BLOCK ────────────────────────────
   Was overflowing / breaking grid on smaller viewports */
.nq-cat-three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0;
}
@media (max-width: 900px) { .nq-cat-three-col { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .nq-cat-three-col { grid-template-columns: 1fr; } }
.nq-cat-block { min-width: 0; }
.nq-cat-lead-card {
  display: block;
  text-decoration: none;
  margin-bottom: 12px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--nq-surface, #fff);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: transform 0.2s;
}
.nq-cat-lead-card:hover { transform: translateY(-2px); }
.nq-cat-lead-img { width: 100%; height: 180px; object-fit: cover; display: block; }
.nq-cat-lead-body { padding: 10px 12px; }
.nq-cat-minis { display: flex; flex-direction: column; gap: 8px; }
.nq-cat-mini {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  text-decoration: none;
  color: var(--nq-text, #1a1a2e);
  font-size: 13px;
  line-height: 1.35;
  padding: 6px 0;
  border-bottom: 1px solid var(--nq-border, #f0f0f0);
  transition: color 0.2s;
}
.nq-cat-mini:hover { color: #D90429; }
.nq-cat-mini-img { width: 54px; height: 40px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }

/* ── 15. LATEST + TRENDING 2-COL ROW ────────────────────────
   Was collapsing / overflowing */
.nq-latest-trending-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 24px;
  margin: 24px 0;
}
@media (max-width: 800px) { .nq-latest-trending-row { grid-template-columns: 1fr; } }
.nq-lat-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--nq-border, #f0f0f0);
  text-decoration: none;
  transition: opacity 0.2s;
}
.nq-lat-item:hover { opacity: 0.8; }
.nq-lat-thumb { flex-shrink: 0; width: 72px; height: 54px; border-radius: 6px; overflow: hidden; }
.nq-lat-img   { width: 72px; height: 54px; object-fit: cover; }
.nq-lat-body  { flex: 1; min-width: 0; }
.nq-lat-body h3 { font-size: 13px; font-weight: 600; line-height: 1.35; margin: 2px 0; color: var(--nq-heading, #1a1a2e); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nq-lat-date  { font-size: 11px; color: var(--nq-text-muted, #9ca3af); }
.nq-trend-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--nq-border, #f0f0f0);
  text-decoration: none;
}
.nq-trend-num { font-size: 20px; font-weight: 800; color: rgba(217,4,41,0.15); min-width: 28px; line-height: 1; }
.nq-trend-body { flex: 1; min-width: 0; }
.nq-trend-body h4 { font-size: 13px; font-weight: 600; color: var(--nq-heading, #1a1a2e); line-height: 1.35; margin: 2px 0; }
.nq-trend-date { font-size: 11px; color: var(--nq-text-muted, #9ca3af); }

/* ── 16. FEATURE CARDS ──────────────────────────────────────*/
.nq-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
@media (max-width: 900px)  { .nq-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .nq-feature-grid { grid-template-columns: 1fr; } }
.nq-feat-card {
  background: var(--nq-surface, #fff);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.nq-feat-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.12); }
.nq-feat-body { padding: 12px 14px; flex: 1; }
.nq-feat-body h3 { font-size: 15px; font-weight: 700; line-height: 1.4; margin: 6px 0 8px; }
.nq-feat-body p  { font-size: 13px; color: var(--nq-text-muted, #6b7280); line-height: 1.55; margin: 0 0 8px; }

/* ── 17. NEWSPAPER PRO ROW ───────────────────────────────────*/
.nq-np-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}
@media (max-width: 800px) { .nq-np-hero-row { grid-template-columns: 1fr; } }
.nq-np-hero-img { width: 100%; height: 260px; object-fit: cover; display: block; }
.nq-np-img-wrap { position: relative; border-radius: 10px; overflow: hidden; }
.nq-np-hero-main-body { padding: 14px 0; }
.nq-np-hero-title { font-size: 20px; font-weight: 800; line-height: 1.3; margin: 6px 0 8px; color: var(--nq-heading, #1a1a2e); }
.nq-np-hero-excerpt { font-size: 14px; color: var(--nq-text-muted, #6b7280); line-height: 1.6; }
.nq-np-list-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--nq-border, #f0f0f0);
  text-decoration: none;
  transition: opacity 0.2s;
}
.nq-np-list-item:hover { opacity: 0.8; }
.nq-np-list-img { width: 64px; height: 48px; object-fit: cover; border-radius: 6px; }
.nq-np-list-body h4 { font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--nq-heading, #1a1a2e); margin: 2px 0; }
.nq-np-list-date { font-size: 11px; color: var(--nq-text-muted, #9ca3af); }
.nq-np-list-header { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--nq-text-muted, #6b7280); margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--nq-border, #e5e7eb); }

/* ── 18. HERO GRID (Default) ─────────────────────────────────*/
.nq-homepage-hero {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 800px) { .nq-homepage-hero { grid-template-columns: 1fr; } }
.nq-hero-main { border-radius: 12px; overflow: hidden; position: relative; min-height: 320px; background: #1a1a2e; }
.nq-hero-img  { width: 100%; height: 320px; object-fit: cover; display: block; }
.nq-hero-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 16px 14px;
  background: linear-gradient(transparent, rgba(0,0,0,0.82));
}
.nq-hero-title { font-size: 20px; font-weight: 800; color: #fff; line-height: 1.3; text-shadow: 0 1px 4px rgba(0,0,0,0.4); margin: 6px 0 4px; }
.nq-hero-side-col { display: flex; flex-direction: column; gap: 10px; }
.nq-side-card {
  display: flex;
  gap: 10px;
  text-decoration: none;
  background: var(--nq-surface, #fff);
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
  transition: transform 0.2s;
}
.nq-side-card:hover { transform: translateX(2px); }
.nq-side-card-thumb { flex-shrink: 0; width: 80px; height: 60px; border-radius: 6px; overflow: hidden; }
.nq-side-img { width: 80px; height: 60px; object-fit: cover; }
.nq-side-card-body { flex: 1; min-width: 0; }
.nq-side-card-title { font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--nq-heading, #1a1a2e); margin: 2px 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nq-side-card-date  { font-size: 11px; color: var(--nq-text-muted, #9ca3af); }

/* === CARD BACKGROUND IMAGES (fallback for posts without thumbnails) === */
.quote-card  { background-image: url('images/quote-card-bg.jpg'); background-size: cover; background-position: center; background-blend-mode: overlay; }
.shayari-card { background-image: url('images/shayari-card-bg.jpg'); background-size: cover; background-position: center; background-blend-mode: overlay; }
.poll-card   { background-image: url('images/poll-card-bg.jpg'); background-size: cover; background-position: center; background-blend-mode: overlay; }
.gita-card   { background-image: url('images/gita-thought-bg.jpg'); background-size: cover; background-position: center; background-blend-mode: overlay; }

.shayari-poet {
  font-size: 12px;
  font-weight: 700;
  color: #d63a7a;
  margin-top: 10px;
  letter-spacing: 0.04em;
  font-style: normal;
}
[data-theme="dark"] .shayari-poet { color: #f48fb1; }

/* Topbar: ensure weather widget does not overflow */
.nq-weather-compact { flex-shrink: 1; overflow: hidden; }
.nq-weather-compact-city { max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Fix the 'More Headlines' being empty - ensure it shows */
.nq-msn-headlines { display: block !important; }
.nq-msn-headline-row { display: flex !important; }

/* Subscribe button in topbar fix */
.nq-btn-primary:not(:empty) { background: #D90429; color: #fff; padding: 6px 14px; border-radius: 6px; text-decoration: none; font-weight: 700; font-size: 13px; }
.nq-btn-outline:not(:empty) { color: var(--nq-text,#1a1a2e); border: 1.5px solid var(--nq-border,#e5e7eb); padding: 5px 12px; border-radius: 6px; text-decoration: none; font-size: 13px; }
