/* ============================================================================
   ای‌پی فارسی — «WIRE»
   Near-monochrome agency wire. Typography and timestamps carry the page.
   Loaded LAST: it owns the look.
   ========================================================================== */

:root{
  --brand:#d5122a; --brand-dark:#a30d20; --brand-2:#111418;
  --ink:#111418; --text:#41464d; --muted:#71777f; --faint:#a0a6ad;
  --bg:#ffffff; --bg-2:#fafafa; --bg-3:#f0f0f0; --card:#ffffff;
  --border:#e0e0e0; --border-2:#efefef;
  --heading-color:#111418;
  --radius:0px; --radius-sm:0px; --shadow:none;
  --maxw:1180px; --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:#d5122a; --brand-dark:#a30d20; --brand-2:#111418;
  --ink:#111418; --text:#41464d; --muted:#71777f; --faint:#a0a6ad;
  --bg:#ffffff; --bg-2:#fafafa; --bg-3:#f0f0f0; --card:#ffffff;
  --border:#e0e0e0; --border-2:#efefef;
  --heading-color:#111418;
}

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:-.25px}
a{color:inherit}
::selection{background:var(--brand);color:#fff}

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

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

/* ── masthead ── */
.ap-mast{background:#ffffff;border-bottom:3px solid var(--ink)}
.ap-mast-in{display:flex;align-items:center;gap:18px;min-height:92px}
.ap-logo{display:flex;align-items:center;gap:13px;flex:none;min-width:0}
.ap-logo img{height:46px;width:auto;background:transparent;border-radius:0}
.ap-lockup{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ap-lockup b{font-size:20px;font-weight:900;color:var(--ink);white-space:nowrap;letter-spacing:-.4px}
.ap-lockup i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--brand);margin-block-start:3px;white-space:nowrap}
.ap-search{flex:1;display:flex;align-items:center;max-width:430px;margin-inline:auto;
  background:#fff;border:1px solid var(--ink);border-radius:0;overflow:hidden}
.ap-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px;
  padding:10px 14px;color:var(--ink);min-width:0}
.ap-search input::placeholder{color:var(--faint)}
.ap-search button{background:var(--brand);color:#fff;padding:11px 18px;font-weight:800;font-size:13px;flex:none}
.ap-mast-r{display:flex;align-items:center;gap:8px;flex:none}
.ap-ibtn{width:40px;height:40px;display:grid;place-items:center;border-radius:0px;
  background:transparent;border:1px solid var(--border);color:var(--muted);position:relative}
.ap-ibtn:hover{border-color:var(--brand);color:var(--brand)}
.ap-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}
.ap-ibtn .saved-count:not(:empty){display:grid}

/* ── nav ── */
.ap-nav{background:#ffffff;border-block:1px solid var(--border);position:sticky;top:0;z-index:60}
.ap-nav-in{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.ap-nav-in::-webkit-scrollbar{display:none}
.ap-nav a{padding:12px 14px;font-size:13.5px;font-weight:800;color:var(--ink);white-space:nowrap;}
.ap-nav a:hover{color:var(--brand)}
.ap-nav a.on{color:var(--brand);box-shadow:inset 0 -3px 0 var(--brand)}

/* ── ticker ── */
.ap-tick{display:flex;align-items:stretch;background:#111418;height:40px;overflow:hidden;}
.ap-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}
.ap-tick-vp{flex:1;overflow:hidden;position:relative}
.ap-tick-track{display:flex;align-items:center;gap:42px;height:100%;white-space:nowrap;
  animation:aptick 56s linear infinite;padding-inline-start:22px}
.ap-tick-track:hover{animation-play-state:paused}
.ap-tick-track a{font-size:13.5px;color:#c8ccd1}
.ap-tick-track a:hover{color:#fff}
@keyframes aptick{from{transform:translateX(0)}to{transform:translateX(-100%)}}
html[dir=rtl] .ap-tick-track{animation-name:aptick-rtl}
@keyframes aptick-rtl{from{transform:translateX(0)}to{transform:translateX(100%)}}

/* ── footer ── */
.ap-footer{background:#ffffff;color:#41464d;margin-block-start:44px}
.ap-foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-block:44px}
.ap-foot-brand img{height:50px;width:auto;background:transparent;margin-block-end:16px;border-radius:0}
.ap-foot-brand p{font-size:13.5px;line-height:1.85;margin:0 0 18px;max-width:44ch}
.ap-foot-soc{display:flex;gap:8px}
.ap-foot-soc a{width:36px;height:36px;display:grid;place-items:center;border-radius:0px;
  background:#f0f0f0;color:#41464d}
.ap-foot-soc a:hover{background:var(--brand);color:#fff}
.ap-foot h4{font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin:0 0 16px}
.ap-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.ap-foot a{font-size:13.5px;color:#41464d}
.ap-foot a:hover{color:var(--brand)}
.ap-foot-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:18px;
  border-top:1px solid #e0e0e0;font-size:12.5px;flex-wrap:wrap}
.ap-foot-bar .lat{letter-spacing:2px;font-weight:800;opacity:.35}

/* ── drawer ── */
.ap-back{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.24s;z-index:90}
.ap-back.open{opacity:1;visibility:visible}
.ap-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] .ap-drawer{transform:translateX(-100%)}
.ap-drawer.open{transform:translateX(0) !important}
.ap-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}
.ap-drawer-h img{height:40px;background:transparent}
.ap-drawer-h button{color:var(--muted);font-size:20px}
.ap-drawer form{display:flex;border:1px solid var(--border);border-radius:0px;margin-block-end:16px;overflow:hidden}
.ap-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}
.ap-drawer form button{padding:0 13px;color:var(--muted)}
.ap-drawer nav{display:flex;flex-direction:column}
.ap-drawer nav a{padding:11px 4px;border-bottom:1px solid var(--border-2);font-size:14.5px;font-weight:700;color:var(--text)}
.ap-drawer nav a:hover{color:var(--brand)}
.ap-drawer .langs{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:16px}
.ap-drawer .langs a{padding:6px 12px;border:1px solid var(--border);border-radius:0px;font-size:12.5px;font-weight:700;color:var(--muted)}
.ap-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:0px}
.pagination .page-link{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:0px}
.chip,.tag{background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:0px}

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

/* ══════════ WIRE layout: agency list, timestamps, thin rules ══════════ */
.ap-top{display:grid;grid-template-columns:1fr 330px;gap:32px;margin-block:26px;align-items:start}
.ap-lead{display:block}
.ap-lead-img{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin-block-end:16px}
.ap-lead-img img{width:100%;height:100%;object-fit:cover}
.ap-tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;
  color:#fff;background:var(--brand);padding:4px 10px;margin-block-end:11px}
.ap-lead-b h1{font-size:clamp(26px,3vw,40px);line-height:1.2;font-weight:900;margin:0 0 12px;max-width:22ch;letter-spacing:-.6px}
.ap-lead:hover h1{color:var(--brand)}
.ap-lead-b p{font-size:16px;line-height:1.8;color:var(--text);margin:0 0 10px;max-width:62ch}
.ap-lead-b .m{font-size:12px;color:var(--muted);font-weight:700}
.ap-digest{border-top:3px solid var(--ink);padding-block-start:14px}
.ap-digest-h{font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink);margin-block-end:10px}
.ap-di{display:grid;grid-template-columns:auto 1fr;gap:12px;padding-block:11px;border-bottom:1px solid var(--border);align-items:start}
.ap-di:last-child{border-bottom:0}
.ap-di time{font-size:11.5px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums;padding-block-start:2px}
.ap-di span{font-size:14px;line-height:1.6;color:var(--text)}
.ap-di:hover span{color:var(--ink)}

.ap-sec{margin-block:34px}
.ap-sec-h{display:flex;align-items:baseline;gap:12px;border-bottom:3px solid var(--ink);padding-block-end:9px;margin-block-end:6px}
.ap-sec-h h2{font-size:18px;font-weight:900;margin:0;letter-spacing:-.3px}
.ap-sec-h a{margin-inline-start:auto;font-size:12px;font-weight:800;color:var(--brand)}
.ap-wi{display:grid;grid-template-columns:190px 1fr;gap:18px;padding-block:20px;border-bottom:1px solid var(--border)}
.ap-wi-img{display:block;aspect-ratio:4/3;overflow:hidden}
.ap-wi-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.ap-wi:hover .ap-wi-img img{filter:none}
.ap-wi-b{display:flex;flex-direction:column}
.ap-wi-b .k{font-size:11.5px;font-weight:800;color:var(--brand);letter-spacing:.4px;margin-block-end:7px;text-transform:uppercase}
.ap-wi-b h3{font-size:19px;line-height:1.45;font-weight:800;margin:0 0 8px;letter-spacing:-.4px}
.ap-wi:hover .ap-wi-b h3{color:var(--brand)}
.ap-wi-b p{font-size:14.5px;line-height:1.8;color:var(--muted);margin:0}

.ap-bottom{display:grid;grid-template-columns:1fr 300px;gap:34px;margin-block:34px;align-items:start}
.ap-txt{display:block;padding-block:14px;border-bottom:1px solid var(--border)}
.ap-txt h3{font-size:16px;line-height:1.5;font-weight:700;margin:0 0 5px}
.ap-txt:hover h3{color:var(--brand)}
.ap-txt .m{font-size:11.5px;color:var(--faint)}
.ap-rank{border-top:3px solid var(--brand);padding-block-start:14px}
.ap-rank-h{font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink);margin-block-end:10px}
.ap-rk{display:grid;grid-template-columns:26px 1fr;gap:11px;padding-block:12px;border-bottom:1px solid var(--border);align-items:baseline}
.ap-rk:last-child{border-bottom:0}
.ap-rk b{font-size:16px;font-weight:900;color:var(--brand);font-variant-numeric:tabular-nums}
.ap-rk span{font-size:14px;line-height:1.55;color:var(--text)}
.ap-rk:hover span{color:var(--ink)}
@media (max-width:980px){.ap-top,.ap-bottom{grid-template-columns:1fr}}
@media (max-width:560px){.ap-wi{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}
