/* =====================================================================
   EmpireFX Newsroom — component styles
   Scoped under .efx-news so it never clobbers global Salient styles.
   Brand tokens from the Salient theme export.
   ===================================================================== */

.efx-news{
  --eb:#3636f2;      /* Accent / Electric Blue */
  --royal:#2020ce;   /* Royal Blue */
  --dark:#0D161F;    /* Dark Base */
  --white:#ffffff;
  --gray:#f5f5f5;    /* Light Gray */
  --lav:#e9e9ff;     /* Soft Lavender */
  --ink:#0D161F;
  --muted:#5b6472;
  --muted-2:#8089a0;
  --line:#e3e3f2;
  --line-d:#1b2a3d;
  --up:#13a87a;
  --down:#e0463b;
  --shadow:0 1px 2px rgba(13,22,31,.04),0 10px 34px rgba(13,22,31,.07);
  --shadow-lg:0 24px 64px rgba(54,54,242,.16);
  color:var(--ink);
  line-height:1.55;
}
.efx-news *{box-sizing:border-box}
.efx-news h2,.efx-news h3,.efx-news h4{font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0}
.efx-news a{color:inherit;text-decoration:none}
.efx-news .mono{font-family:'JetBrains Mono',monospace}
.efx-news .fxbg{position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:linear-gradient(135deg,transparent 46%,currentColor 46%,currentColor 54%,transparent 54%),linear-gradient(45deg,transparent 46%,currentColor 46%,currentColor 54%,transparent 54%);
  background-size:38px 38px}

/* ---- Optional top ticker / masthead / nav (wrap header markup in .efx-news) ---- */
.efx-news .topbar{background:var(--dark);color:#aeb6c6;font-size:12px}
.efx-news .ticker{display:flex;gap:24px;overflow:hidden;white-space:nowrap;height:38px;align-items:center}
.efx-news .tick{display:flex;gap:7px;align-items:center;font-family:'JetBrains Mono',monospace;font-size:11.5px}
.efx-news .tick .sym{color:#fff;font-weight:600}
.efx-news .up{color:#3ad3a3}.efx-news .dn{color:#ff7b72}

.efx-news nav.efx-subnav{background:var(--royal);position:sticky;top:0;z-index:50;display:flex;gap:2px;overflow-x:auto}
.efx-news nav.efx-subnav a{color:#c3c4ff;font-size:12.5px;font-weight:700;letter-spacing:.04em;padding:15px;white-space:nowrap;border-bottom:3px solid transparent;transition:.2s;text-transform:uppercase}
.efx-news nav.efx-subnav a:hover,.efx-news nav.efx-subnav a.active{color:#fff;border-bottom-color:#fff}

/* ---- Section heading ---- */
.efx-news .sec-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:3px solid var(--ink);padding-bottom:13px;margin-bottom:26px}
.efx-news .kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--eb);font-weight:600}
.efx-news .sec-head h2{font-size:31px}

/* ---- Pulse / Moves panels ---- */
.efx-news .pb{padding:4px 0}
.efx-news .pulse-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.efx-news .pulse-item:last-child{border:none}
.efx-news .pulse-item .tm{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--eb);font-weight:600;min-width:44px;padding-top:2px}
.efx-news .pulse-item .tx{font-size:13.5px;color:#36404f;font-weight:500}
.efx-news .pulse-item .tx b{color:var(--ink);font-weight:700}
.efx-news .moves li{list-style:none;display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.efx-news .moves li:last-child{border:none}
.efx-news .moves .arrow{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:12px;min-width:80px}
.efx-news .moves .arrow.u{color:var(--up)}.efx-news .moves .arrow.d{color:var(--down)}
.efx-news .moves .mt{font-size:13.5px;color:#36404f;font-weight:500}
.efx-news .moves .mt b{color:var(--ink);font-weight:700}

/* ---- Articles grid + filters ---- */
.efx-news .filters{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}
.efx-news .filters button{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:9px 17px;border:1.5px solid var(--line);background:var(--white);color:var(--muted);cursor:pointer;transition:.18s;border-radius:2px}
.efx-news .filters button:hover{border-color:var(--eb);color:var(--eb)}
.efx-news .filters button.on{background:var(--eb);color:#fff;border-color:var(--eb)}
.efx-news .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.efx-news .card{background:var(--white);border:1px solid var(--line);transition:.2s;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.efx-news .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--eb)}
.efx-news .card .cimg{height:158px;background-size:cover;background-position:center;position:relative}
.efx-news .card .freq{position:absolute;top:12px;left:12px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--eb);color:#fff;padding:5px 9px;font-weight:600}
.efx-news .card .cbody{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
.efx-news .card h3{font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.2;letter-spacing:-.015em}
.efx-news .card p{font-size:13px;color:var(--muted);flex:1;font-weight:500}
.efx-news .card .cmeta{margin-top:14px;display:flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted-2)}
.efx-news .card .cmeta .by{color:var(--ink);font-weight:600}
.efx-news .hidden{display:none!important}

/* ---- Videos ---- */
.efx-news .vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.efx-news .video{background:var(--dark);border:1px solid var(--line-d);overflow:hidden;box-shadow:var(--shadow)}
.efx-news .video .frame{aspect-ratio:16/9;width:100%;border:0;display:block;background:#000}
.efx-news .video .vb{padding:16px 18px;color:#fff}
.efx-news .video .vb .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a8aff;font-weight:600}
.efx-news .video .vb h3{font-size:15.5px;color:#fff;margin:6px 0 4px;font-weight:700;letter-spacing:-.01em}
.efx-news .video .vb .vm{font-family:'JetBrains Mono',monospace;font-size:11px;color:#8089a0}

/* ---- Market News feed ---- */
.efx-news .feed{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow)}
.efx-news .feed .row{display:grid;grid-template-columns:122px 96px 1fr;gap:18px;padding:15px 22px;border-bottom:1px solid var(--line);align-items:center;transition:.15s}
.efx-news .feed .row:last-child{border:none}
.efx-news .feed .row:hover{background:var(--lav)}
.efx-news .feed .tstamp{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
.efx-news .feed .cat{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:4px 8px;text-align:center}
.efx-news .cat.fx{background:rgba(54,54,242,.1);color:var(--eb)}
.efx-news .cat.eq{background:rgba(32,32,206,.1);color:var(--royal)}
.efx-news .cat.cm{background:rgba(224,70,59,.1);color:var(--down)}
.efx-news .cat.mac{background:rgba(13,22,31,.07);color:var(--dark)}
.efx-news .feed .headline{font-size:14px;color:#2a3340;font-weight:600}
.efx-news .feed .row:hover .headline{color:var(--eb)}

/* ---- Tables (calendar / holidays) ---- */
.efx-news .tbl-wrap{border:1px solid var(--line);background:var(--white);overflow:hidden;box-shadow:var(--shadow)}
.efx-news table{width:100%;border-collapse:collapse;font-size:13px}
.efx-news thead th{background:var(--dark);color:#c3c8d4;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:13px 18px;text-align:left}
.efx-news tbody td{padding:13px 18px;border-bottom:1px solid var(--line);color:#2a3340;font-weight:500}
.efx-news tbody tr:last-child td{border-bottom:none}
.efx-news tbody tr:hover{background:var(--lav)}
.efx-news .flag{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--ink)}
.efx-news .imp{display:inline-flex;gap:3px}
.efx-news .imp i{width:7px;height:7px;border-radius:50%;background:var(--line);display:inline-block}
.efx-news .imp.h i{background:var(--down)}
.efx-news .imp.m i:nth-child(-n+2){background:var(--eb)}
.efx-news .imp.l i:nth-child(1){background:var(--up)}
.efx-news .num{font-family:'JetBrains Mono',monospace}
.efx-news .tm-cell{font-family:'JetBrains Mono',monospace;color:var(--eb);font-weight:600}
.efx-news .note{font-size:12px;color:var(--muted);font-style:italic;margin-top:10px;font-weight:500}

/* ---- Upcoming Events cards ---- */
.efx-news .ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.efx-news .ev{background:var(--eb);color:#fff;border:1px solid var(--royal);padding:22px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.efx-news .ev .fxbg{color:#fff;opacity:.07}
.efx-news .ev .d{display:flex;align-items:baseline;gap:6px;position:relative}
.efx-news .ev .d .day{font-size:40px;font-weight:900;color:#fff;line-height:1;letter-spacing:-.04em}
.efx-news .ev .d .mo{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cfd0ff}
.efx-news .ev h3{font-size:16px;margin:14px 0 6px;color:#fff;font-weight:700;position:relative;letter-spacing:-.01em}
.efx-news .ev p{font-size:12.5px;color:#d6d7ff;position:relative;font-weight:500}
.efx-news .ev .etime{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#fff;font-weight:600;position:relative}

/* ---- Responsive ---- */
@media(max-width:980px){
  .efx-news .grid,.efx-news .vgrid{grid-template-columns:1fr 1fr}
  .efx-news .ev-grid{grid-template-columns:1fr 1fr}
  .efx-news .feed .row{grid-template-columns:92px 1fr;gap:10px}
  .efx-news .feed .cat{display:none}
}
@media(max-width:620px){
  .efx-news .grid,.efx-news .vgrid,.efx-news .ev-grid{grid-template-columns:1fr}
  .efx-news .sec-head h2{font-size:23px}
  .efx-news .ticker{display:none}
}

/* ---- Articles filter script hook (enqueue or inline in page) ----
   document.querySelectorAll('.efx-news .filters button').forEach(b=>b.addEventListener('click',()=>{
     const w=b.closest('.efx-news');w.querySelectorAll('.filters button').forEach(x=>x.classList.remove('on'));
     b.classList.add('on');const f=b.dataset.f;
     w.querySelectorAll('#artGrid .card').forEach(c=>c.classList.toggle('hidden',!(f==='all'||c.dataset.cat===f)));
   }));
*/

/* =====================================================================
   PAGE CHROME — masthead, ticker, hero, panels, holidays grid, footer.
   Added so the pasted Newsroom page HTML needs no inline styles.
   ===================================================================== */
.efx-news .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.efx-news .topbar .tb{display:flex;justify-content:space-between;align-items:center;height:38px}
.efx-news .topbar .reg{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;color:#8089a0;font-weight:500}
.efx-news .masthead{background:var(--eb);color:#fff;position:relative;overflow:hidden}
.efx-news .masthead::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 360px at 88% -20%,rgba(255,255,255,.22),transparent 60%),radial-gradient(680px 420px at 6% 130%,rgba(32,32,206,.55),transparent 60%)}
.efx-news .masthead .mh{position:relative;display:flex;justify-content:space-between;align-items:center;padding:26px 0}
.efx-news .brand{display:flex;align-items:center;gap:13px}
.efx-news .logo{display:flex;align-items:baseline;font-weight:800;font-size:27px;letter-spacing:-.03em;color:#fff}
.efx-news .logo .fx{margin-left:7px;display:inline-flex}
.efx-news .logo .fx svg{height:22px;width:auto;display:block}
.efx-news .brand .divider{width:1px;height:34px;background:rgba(255,255,255,.32)}
.efx-news .brand .news{font-weight:600;font-size:13px;letter-spacing:.36em;text-transform:uppercase;color:#dfe0ff}
.efx-news .mast-right{text-align:right;font-size:12px;color:#cfd0ff}
.efx-news .mast-right .date{font-family:'JetBrains Mono',monospace;color:#fff;font-size:13px;letter-spacing:.02em}
.efx-news .sec{padding:56px 0 8px}
.efx-news .hero{display:grid;grid-template-columns:1.55fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px;box-shadow:var(--shadow)}
.efx-news .hero>div{background:var(--white)}
.efx-news .hero-lead{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;background-size:cover;background-position:center}
.efx-news .hero-lead .body{padding:34px;color:#fff;position:relative;width:100%;background:linear-gradient(180deg,rgba(13,22,31,0),rgba(13,22,31,.85))}
.efx-news .tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--eb);color:#fff;padding:6px 11px;font-weight:600;margin-bottom:15px}
.efx-news .hero-lead h1{font-size:37px;font-weight:800;color:#fff;margin-bottom:13px;letter-spacing:-.025em}
.efx-news .hero-lead p{color:#e4e4f5;font-size:15px;font-weight:500}
.efx-news .hero-lead .meta{margin-top:18px;font-family:'JetBrains Mono',monospace;font-size:12px;color:#c3c4e8}
.efx-news .hero-side{display:flex;flex-direction:column}
.efx-news .mini{padding:21px 24px;border-bottom:1px solid var(--line);transition:.2s}
.efx-news .mini:last-child{border-bottom:none}
.efx-news .mini:hover{background:var(--lav)}
.efx-news .mini .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--eb);font-weight:600}
.efx-news .mini h3{font-size:18px;margin:7px 0 6px;font-weight:700;letter-spacing:-.01em}
.efx-news .mini p{font-size:13px;color:var(--muted);font-weight:500}
.efx-news .mini .meta{margin-top:9px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted-2)}
.efx-news .duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.efx-news .panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.efx-news .panel .ph{display:flex;align-items:center;gap:10px;padding:17px 22px;border-bottom:1px solid var(--line);background:var(--lav)}
.efx-news .panel .ph .dot{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 0 4px rgba(19,168,122,.18);animation:efxblink 2s infinite}
@keyframes efxblink{50%{opacity:.4}}
.efx-news .panel .ph h3{font-size:16px;font-weight:800;letter-spacing:-.01em}
.efx-news .panel .ph .when{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
.efx-news .panel .pb{padding:20px 22px}
.efx-news .hol-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
.efx-news .hol-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.efx-news .hol-head h3{font-size:18px;font-weight:800}
.efx-news .badge-upd{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(54,54,242,.1);color:var(--eb);padding:5px 9px;font-weight:600}
.efx-news .badge-fix{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(19,168,122,.12);color:var(--up);padding:5px 9px;font-weight:600}
.efx-news .efx-foot{background:var(--dark);color:#8089a0;margin-top:48px;padding:42px 0 28px;position:relative;overflow:hidden}
.efx-news .efx-foot::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--eb),var(--royal))}
.efx-news .efx-foot .ftop{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:26px;border-bottom:1px solid var(--line-d)}
.efx-news .efx-foot h4{color:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.efx-news .efx-foot ul{list-style:none;padding:0;margin:0}
.efx-news .efx-foot ul li{margin-bottom:9px;font-size:13px;font-weight:500}
.efx-news .efx-foot ul li a:hover{color:#8a8aff}
.efx-news .efx-foot .fbot{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:11.5px;color:#5e6677;flex-wrap:wrap;gap:10px}
@media(max-width:980px){
  .efx-news .hero{grid-template-columns:1fr}
  .efx-news .duo{grid-template-columns:1fr}
  .efx-news .hol-grid{grid-template-columns:1fr}
  .efx-news .efx-foot .ftop{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){ .efx-news .hero-lead h1{font-size:27px} }

/* ---- Masthead / footer text title (logo removed — global header carries it) ---- */
.efx-news .mast-title{font-weight:800;font-size:24px;letter-spacing:-.02em;color:#fff}
.efx-news .mast-sub{font-weight:600;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#dfe0ff}
.efx-news .foot-title{font-weight:800;font-size:20px;letter-spacing:-.02em;color:#fff}
