/* ============================================================================
   اسکای نیوز فارسی — «BULLETIN»
   Navy broadcast chrome over a white body. Square boxes, strong rules.
   Loaded LAST: it owns the look.
   ========================================================================== */

:root{
  --brand:#0b2f6b; --brand-dark:#08203f; --brand-2:#d21b30;
  --ink:#0d1522; --text:#37455c; --muted:#6b7a91; --faint:#9aa7bb;
  --bg:#ffffff; --bg-2:#f2f5f9; --bg-3:#e6ebf3; --card:#ffffff;
  --border:#dbe2ec; --border-2:#eaeff5;
  --heading-color:#0d1522;
  --radius:0px; --radius-sm:3px; --shadow:none;
  --maxw:1300px; --gap:22px;
}
/* iranwire.css declares its dark palette on `:root, html[data-theme=dark]`, and
   that (0,1,1) selector outranks our plain `:root`. Repeat the tokens here so
   the site's own palette wins on a dark theme too. */
html[data-theme=dark],html:not([data-theme=light]){
  --brand:#0b2f6b; --brand-dark:#08203f; --brand-2:#d21b30;
  --ink:#0d1522; --text:#37455c; --muted:#6b7a91; --faint:#9aa7bb;
  --bg:#ffffff; --bg-2:#f2f5f9; --bg-3:#e6ebf3; --card:#ffffff;
  --border:#dbe2ec; --border-2:#eaeff5;
  --heading-color:#0d1522;
}

body{background:var(--bg-2);color:var(--text);font-size:15.5px}
.site-main,.site-main>.container{background:var(--bg)}
.container{max-width:var(--maxw);padding-inline:20px}
.site-main{padding-bottom:0}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.3px}
a{color:inherit}
::selection{background:var(--brand);color:#fff}

.site-header,.site-footer,.tabbar,.mobile-drawer,.drawer-backdrop{display:none !important}
.sn-header,.sn-footer{display:block}

/* ── utility bar ── */
.sn-top{background:#08203f;color:#9fb3cd;font-size:12.5px}
.sn-top-in{display:flex;align-items:center;justify-content:space-between;height:34px;gap:14px}
.sn-lang{display:flex;gap:2px}
.sn-lang a{padding:3px 9px;font-weight:800;font-size:11.5px;letter-spacing:.5px;color:#9fb3cd;border-radius:3px}
.sn-lang a:hover{color:#fff}
.sn-lang a.on{background:var(--brand);color:#fff}

/* ── masthead ── */
.sn-mast{background:#0b2f6b;border-bottom:0}
.sn-mast-in{display:flex;align-items:center;gap:18px;min-height:88px}
.sn-logo{display:flex;align-items:center;gap:13px;flex:none;min-width:0}
.sn-logo img{height:48px;width:auto;background:transparent;border-radius:6px}
.sn-lockup{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sn-lockup b{font-size:21px;font-weight:900;color:#fff;white-space:nowrap;letter-spacing:-.4px}
.sn-lockup i{font-style:normal;font-size:11.5px;font-weight:600;color:#9fc4e8;margin-block-start:3px;white-space:nowrap}
.sn-search{flex:1;display:flex;align-items:center;max-width:430px;margin-inline:auto;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:3px;overflow:hidden}
.sn-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px;
  padding:10px 14px;color:#fff;min-width:0}
.sn-search input::placeholder{color:var(--faint)}
.sn-search button{background:var(--brand);color:#fff;padding:11px 18px;font-weight:800;font-size:13px;flex:none}
.sn-mast-r{display:flex;align-items:center;gap:8px;flex:none}
.sn-ibtn{width:40px;height:40px;display:grid;place-items:center;border-radius:3px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);color:#dbe6f4;position:relative}
.sn-ibtn:hover{border-color:var(--brand);color:var(--brand)}
.sn-ibtn .saved-count{position:absolute;inset-block-start:-5px;inset-inline-end:-5px;min-width:17px;height:17px;
  background:var(--brand);color:#fff;font-size:10px;font-weight:800;border-radius:9px;display:none;place-items:center;padding:0 5px}
.sn-ibtn .saved-count:not(:empty){display:grid}

/* ── nav ── */
.sn-nav{background:#ffffff;border-block:1px solid var(--border);position:sticky;top:0;z-index:60}
.sn-nav-in{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.sn-nav-in::-webkit-scrollbar{display:none}
.sn-nav a{padding:13px 17px;font-size:13.5px;font-weight:700;color:var(--text);white-space:nowrap;}
.sn-nav a:hover{color:var(--brand)}
.sn-nav a.on{color:#fff;background:var(--brand)}

/* ── ticker ── */
.sn-tick{display:flex;align-items:stretch;background:#d21b30;height:40px;overflow:hidden;}
.sn-tick-lbl{flex:none;display:grid;place-items:center;padding:0 16px;background:var(--brand);color:#fff;
  font-size:12px;font-weight:900;letter-spacing:.8px}
.sn-tick-vp{flex:1;overflow:hidden;position:relative}
.sn-tick-track{display:flex;align-items:center;gap:42px;height:100%;white-space:nowrap;
  animation:sntick 56s linear infinite;padding-inline-start:22px}
.sn-tick-track:hover{animation-play-state:paused}
.sn-tick-track a{font-size:13.5px;color:#ffe4e7}
.sn-tick-track a:hover{color:#fff}
@keyframes sntick{from{transform:translateX(0)}to{transform:translateX(-100%)}}
html[dir=rtl] .sn-tick-track{animation-name:sntick-rtl}
@keyframes sntick-rtl{from{transform:translateX(0)}to{transform:translateX(100%)}}


/* ── drawer ── */
.sn-back{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.24s;z-index:90}
.sn-back.open{opacity:1;visibility:visible}
.sn-drawer{position:fixed;inset-block:0;inset-inline-end:0;width:min(320px,86vw);background:var(--card);
  z-index:100;transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.7,.2,1);overflow-y:auto;padding:20px}
html[dir=rtl] .sn-drawer{transform:translateX(-100%)}
.sn-drawer.open{transform:translateX(0) !important}
.sn-drawer-h{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-block-end:16px;border-bottom:1px solid var(--border);margin-block-end:16px}
.sn-drawer-h img{height:40px;background:transparent}
.sn-drawer-h button{color:var(--muted);font-size:20px}
.sn-drawer form{display:flex;border:1px solid var(--border);border-radius:3px;margin-block-end:16px;overflow:hidden}
.sn-drawer form input{flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;padding:10px 12px;font-size:13.5px;min-width:0}
.sn-drawer form button{padding:0 13px;color:var(--muted)}
.sn-drawer nav{display:flex;flex-direction:column}
.sn-drawer nav a{padding:11px 4px;border-bottom:1px solid var(--border-2);font-size:14.5px;font-weight:700;color:var(--text)}
.sn-drawer nav a:hover{color:var(--brand)}
.sn-drawer .langs{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:16px}
.sn-drawer .langs a{padding:6px 12px;border:1px solid var(--border);border-radius:3px;font-size:12.5px;font-weight:700;color:var(--muted)}
.sn-drawer .langs a.on{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ── inherited chrome ── */
.saved-panel{background:var(--card);color:var(--text)}
.btn,.button,button.primary,.pagination .page-item.active .page-link{background:var(--brand);color:#fff;border-radius:3px}
.pagination .page-link{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:3px}
.chip,.tag{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:3px}

@media (max-width:1000px){
  .sn-foot-top{grid-template-columns:1fr 1fr}
  .sn-search{display:none}
}
@media (max-width:640px){
  .sn-foot-top{grid-template-columns:1fr;gap:26px}
  .sn-logo img{height:38px} .sn-lockup b{font-size:16px} .sn-lockup i{display:none}
}

/* ══════════ BULLETIN layout: full-bleed hero, 3-up, list+rail ══════════ */
.sn-hero{margin-block:22px 18px}
.sn-hero-main{position:relative;display:block;min-height:460px;overflow:hidden}
.sn-hero-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.sn-hero-main:hover img{transform:scale(1.03)}
.sn-hero-main::after{content:'';position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(8,32,63,.95) 0%,rgba(8,32,63,.55) 42%,rgba(8,32,63,0) 78%)}
.sn-hero-b{position:absolute;inset-block-end:0;inset-inline:0;padding:32px 34px;z-index:2;display:flex;flex-direction:column}
.sn-kick{align-self:flex-start;padding:5px 13px;background:var(--brand-2);color:#fff;font-size:11.5px;font-weight:900;
  letter-spacing:.8px;margin-block-end:13px}
.sn-hero-b h1{font-size:clamp(26px,3vw,40px);line-height:1.24;font-weight:900;color:#fff;margin:0 0 11px;max-width:22ch}
.sn-hero-b p{color:#cfdcec;font-size:15.5px;line-height:1.75;max-width:60ch;margin:0 0 12px}
.sn-hero-b .m{font-size:12.5px;color:#9fbede;font-weight:700}

.sn-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-block:18px 30px}
.sn-tc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border)}
.sn-tc-img{display:block;width:100%;aspect-ratio:16/9;overflow:hidden}
.sn-tc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.sn-tc:hover .sn-tc-img img{transform:scale(1.04)}
.sn-tc-b{display:flex;flex-direction:column;padding:14px 16px 16px}
.sn-tc-b .c{font-size:11px;font-weight:900;color:var(--brand);letter-spacing:.6px;margin-block-end:6px;text-transform:uppercase}
.sn-tc-b h3{font-size:16px;line-height:1.5;font-weight:800;margin:0 0 6px}
.sn-tc:hover .sn-tc-b h3{color:var(--brand)}
.sn-tc-b .m{font-size:11.5px;color:var(--faint)}

.sn-sec{margin-block:32px}
.sn-sec-h{display:flex;align-items:center;gap:12px;margin-block-end:18px;border-inline-start:6px solid var(--brand);padding-inline-start:12px}
.sn-sec-h h2{font-size:20px;font-weight:900;margin:0}
.sn-sec-h a{margin-inline-start:auto;font-size:12.5px;font-weight:800;color:var(--brand)}
.sn-body{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.sn-li{display:grid;grid-template-columns:220px 1fr;gap:18px;padding-block:18px;border-bottom:1px solid var(--border)}
.sn-li:first-child{padding-block-start:0}
.sn-li-img{display:block;aspect-ratio:16/10;overflow:hidden}
.sn-li-img img{width:100%;height:100%;object-fit:cover}
.sn-li-b{display:flex;flex-direction:column}
.sn-li-b .c{font-size:11px;font-weight:900;color:var(--brand);letter-spacing:.6px;margin-block-end:6px;text-transform:uppercase}
.sn-li-b h3{font-size:18px;line-height:1.5;font-weight:800;margin:0 0 7px}
.sn-li:hover .sn-li-b h3{color:var(--brand)}
.sn-li-b p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 7px}
.sn-li-b .m{font-size:11.5px;color:var(--faint);margin-block-start:auto}
.sn-side{background:var(--card);border:1px solid var(--border)}
.sn-side-h{padding:14px 18px;background:var(--brand);color:#fff;font-size:13.5px;font-weight:900}
.sn-sr{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border-2);align-items:baseline}
.sn-sr:last-child{border-bottom:0}
.sn-sr b{font-size:17px;font-weight:900;color:var(--brand);font-variant-numeric:tabular-nums}
.sn-sr span{font-size:14px;line-height:1.55;color:var(--text)}
.sn-sr:hover span{color:var(--brand)}

.sn-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sn-mc{display:block;background:var(--card);border:1px solid var(--border)}
.sn-mc-img{display:block;aspect-ratio:16/10;overflow:hidden}
.sn-mc-img img{width:100%;height:100%;object-fit:cover}
.sn-mc h3{font-size:15px;line-height:1.5;font-weight:700;margin:0;padding:13px 15px 15px}
.sn-mc:hover h3{color:var(--brand)}
@media (max-width:980px){.sn-three{grid-template-columns:1fr 1fr}.sn-body{grid-template-columns:1fr}
  .sn-mosaic{grid-template-columns:1fr 1fr}.sn-hero-main{min-height:340px}}
@media (max-width:620px){.sn-three,.sn-mosaic{grid-template-columns:1fr}.sn-li{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════════════════════
   INNER-PAGE HEADING COLOURS
   iranwire.css is a DARK-FIRST base: it paints inner-page headings #fff with
   no theme guard, e.g. `.article > h1{color:#fff}` (0,1,1) which outranks
   theme.css's `.art-title{color:var(--heading-color)}` (0,1,0). On this light
   theme that is white-on-white. Re-assert them here (this sheet loads last).
   ══════════════════════════════════════════════════════════════════════════ */
.article > h1,
.art-title,
.rtv-head h1,
.dir-page > h1,
.dir-detail-head h1,
.search-head h1,
.page-head h1,
.pod-info h1{color:var(--ink)}

/* the base also shrinks the article headline to 28px, losing theme.css's 34px */
.article > h1,
.art-title{font-size:clamp(26px,2.6vw,36px);line-height:1.25;font-weight:900;
  font-family:var(--font-fa),var(--font-lat);letter-spacing:-.4px}

/* sub-headings inside the article body */
.article h2,.article h3,.article h4,
.art-body h2,.art-body h3,.art-body h4{color:var(--ink);font-weight:800}
.article h2,.art-body h2{font-size:22px;line-height:1.45;margin:26px 0 10px}
.article h3,.art-body h3{font-size:19px;line-height:1.5;margin:22px 0 8px}

/* lead / subtitle / body copy stay in the softer ink */
.art-lead,.art-subtitle{color:var(--text)}
.article p,.art-body p{color:var(--text)}

/* ══════════════════════════════════════════════════════════════════════════
   SIDEBAR / WIDGET COLOURS  (light theme)
   iranwire.css is dark-first with no theme guard, so the sidebar widgets on
   category, search and article pages come out white-on-white:
     .widget-title{color:#fff}            → heading invisible
     .mr-list .mr-title{color:#e8eaee}    → most-read titles nearly invisible
     .mr-plain li a{color:#d7e2f0 !important}
   Re-assert them here; `!important` only where the base used it.
   ══════════════════════════════════════════════════════════════════════════ */
.widget-title,
.widget-title.sm,
.widget-title.xs{color:var(--ink)}
.mr-list .mr-title{color:var(--ink)}
.mr-list li:hover .mr-title{color:var(--brand)}
.mr-list .mr-time{color:var(--muted)}
.mr-plain li a{color:var(--text) !important}
.sl-list li a,.sl-list li a:visited{color:var(--text)}
.sl-list li a:hover,.mr-plain li a:hover{color:var(--brand) !important}
.home2-side .widget,.editor-note,.m-side-top .widget{background:var(--card);border-color:var(--border)}
.widget{background:var(--card);border:1px solid var(--border)}
.widget-more{color:var(--brand)}
.mr-list .rank{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}
.trend-chips a{background:var(--bg-3);color:var(--text);border:1px solid var(--border)}
.trend-chips a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ══════════════════════════════════════════════════════════════════════════
   KILL THE INHERITED CSS "WATERMARK"
   iranwire.css:309 paints a pseudo-element over every hero/report/video image
   with the ORIGINAL clone's brand hardcoded in `content:"ایران وایر نیوز"`.
   It is a third badge on top of the real watermark that WatermarkService
   already burns into the stored file, so drop it rather than re-label it.
   ══════════════════════════════════════════════════════════════════════════ */
.hs-img::before,
.rep-card .rc-img::before,
.vp-card .vc-thumb::before,
.art-imgwrap::before,
.art-figure::before{content:none !important;display:none !important}

/* ══════════════════════════════════════════════════════════════════════════
   ARTICLE ANALYSIS BOXES  (چرا این خبر مهم است / پیشینه / اعداد مهم)
   The base sheet styles them for its own dark palette and hardcodes three
   accent colours that belong to no site here:
     .art-box{background:var(--surf-2)}   → a dark slab on a light page
     .art-box h4{color:#fff}              → invisible heading
     .abx-why|bg|num{border-inline-start-color:#00a5e3|#3b82f6|#12b886}
   Rebuild them from this site's own tokens so they read as part of the design.
   ══════════════════════════════════════════════════════════════════════════ */
.art-boxes{display:grid;gap:14px;margin:26px 0}
.art-box{
  background:var(--card);
  border:1px solid var(--border);
  border-inline-start:4px solid var(--brand);
  border-radius:var(--radius-sm,10px);
  padding:16px 18px;
  box-shadow:var(--shadow,none);
}
.art-box h4{
  color:var(--ink);
  font-size:14.5px;
  font-weight:900;
  margin:0 0 9px;
  letter-spacing:-.2px;
  display:flex;align-items:center;gap:8px;
}
.art-box p{color:var(--text);line-height:2;font-size:14.5px;margin:0}
.art-box strong,.art-box b{color:var(--ink)}

/* each box keeps its own accent, taken from this site's palette */
.art-box.abx-why{border-inline-start-color:var(--brand)}
.art-box.abx-bg {border-inline-start-color:var(--brand-dark,var(--brand))}
.art-box.abx-num{border-inline-start-color:var(--brand-2,var(--brand))}
.art-box.abx-why h4{color:var(--brand)}
.art-box.abx-bg  h4{color:var(--brand-dark,var(--brand))}
.art-box.abx-num h4{color:var(--brand-2,var(--brand))}

/* the investigative dossier block sits in the same family */
.art-invest{background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-sm,10px);padding:16px 18px;margin:22px 0}
.art-invest h4,.art-invest h3{color:var(--ink)}
.art-invest p,.art-invest li{color:var(--text);line-height:2}

/* ══════════ FOOTER — BAND (solid navy block + stacked groups) ══════════ */
.sn-footer{margin-block-start:48px}
.sn-foot-band{background:#08203f;color:#9fb3cd}
.sn-foot-band-in{display:grid;grid-template-columns:1.3fr 2fr;gap:40px;padding-block:44px}
.sn-foot-id img{height:52px;width:auto;background:transparent;margin-block-end:14px}
.sn-foot-id p{font-size:13.5px;line-height:1.9;margin:0 0 16px;max-width:44ch}
.sn-foot-soc{display:flex;gap:9px}
.sn-foot-soc a{width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#9fb3cd}
.sn-foot-soc a:hover{background:var(--brand-2);color:#fff}
.sn-foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.sn-foot-cols h4{font-size:11.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;
  color:#7fb2e8;margin:0 0 14px;padding-block-end:8px;border-bottom:2px solid rgba(255,255,255,.12)}
.sn-foot-cols ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.sn-foot-cols a{font-size:13.5px;color:#9fb3cd}
.sn-foot-cols a:hover{color:#fff}
.sn-foot-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding-block:16px;font-size:12.5px;color:var(--muted)}
.sn-foot-bar .lat{letter-spacing:2px;font-weight:800;opacity:.35}
@media(max-width:900px){.sn-foot-band-in{grid-template-columns:1fr}.sn-foot-cols{grid-template-columns:1fr 1fr}}
