/* ============================================================================
   فایننشال تایمز فارسی — «LEDGER»
   Warm paper ground, deep teal, hairline rules, text-first broadsheet.
   Loaded LAST: it owns the look.
   ========================================================================== */

:root{
  --brand:#0f6f63; --brand-dark:#0a5249; --brand-2:#2b1a12;
  --ink:#221812; --text:#4a3c33; --muted:#7d6d62; --faint:#a4948a;
  --bg:#fbf5ef; --bg-2:#f6ede4; --bg-3:#efe3d7; --card:#fffaf5;
  --border:#e4d5c6; --border-2:#efe4d8;
  --heading-color:#221812;
  --radius:0px; --radius-sm:0px; --shadow:none;
  --maxw:1220px; --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:#0f6f63; --brand-dark:#0a5249; --brand-2:#2b1a12;
  --ink:#221812; --text:#4a3c33; --muted:#7d6d62; --faint:#a4948a;
  --bg:#fbf5ef; --bg-2:#f6ede4; --bg-3:#efe3d7; --card:#fffaf5;
  --border:#e4d5c6; --border-2:#efe4d8;
  --heading-color:#221812;
}

body{background:var(--bg-2);color:var(--text);font-size:16px}
.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:-.2px}
a{color:inherit}
::selection{background:var(--brand);color:#fff}

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

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

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

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

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

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

/* ── drawer ── */
.ft-back{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.24s;z-index:90}
.ft-back.open{opacity:1;visibility:visible}
.ft-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] .ft-drawer{transform:translateX(-100%)}
.ft-drawer.open{transform:translateX(0) !important}
.ft-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}
.ft-drawer-h img{height:40px;background:transparent}
.ft-drawer-h button{color:var(--muted);font-size:20px}
.ft-drawer form{display:flex;border:1px solid var(--border);border-radius:0px;margin-block-end:16px;overflow:hidden}
.ft-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}
.ft-drawer form button{padding:0 13px;color:var(--muted)}
.ft-drawer nav{display:flex;flex-direction:column}
.ft-drawer nav a{padding:11px 4px;border-bottom:1px solid var(--border-2);font-size:14.5px;font-weight:700;color:var(--text)}
.ft-drawer nav a:hover{color:var(--brand)}
.ft-drawer .langs{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:16px}
.ft-drawer .langs a{padding:6px 12px;border:1px solid var(--border);border-radius:0px;font-size:12.5px;font-weight:700;color:var(--muted)}
.ft-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){
  .ft-foot-top{grid-template-columns:1fr 1fr}
  .ft-search{display:none}
}
@media (max-width:640px){
  .ft-foot-top{grid-template-columns:1fr;gap:26px}
  .ft-logo img{height:38px} .ft-lockup b{font-size:16px} .ft-lockup i{display:none}
}

/* ══════════ LEDGER layout: text-first, ruled, two-column ══════════ */
.ft-lead{display:grid;grid-template-columns:1fr 330px;gap:0;border-block:2px solid var(--ink);margin-block:26px}
.ft-lead-main{padding:30px 34px 30px 0;border-inline-end:1px solid var(--border)}
.ft-kick{display:inline-block;font-size:11.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--brand);margin-block-end:12px}
.ft-lead-main h1{font-size:clamp(28px,3.2vw,44px);line-height:1.22;font-weight:900;margin:0 0 14px;max-width:20ch;text-wrap:balance}
.ft-standfirst{font-size:17px;line-height:1.85;color:var(--text);margin:0 0 14px;max-width:60ch}
.ft-byline{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.3px}
.ft-lead-side{padding:26px 0 26px 26px;display:flex;flex-direction:column}
.ft-side-h{font-size:11.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--brand);
  padding-block-end:11px;border-bottom:2px solid var(--brand);margin-block-end:6px}
.ft-si{display:block;padding-block:14px;border-bottom:1px solid var(--border)}
.ft-si:last-child{border-bottom:0}
.ft-si h3{font-size:15.5px;line-height:1.55;font-weight:700;margin:0 0 5px}
.ft-si:hover h3{color:var(--brand)}
.ft-si .m{font-size:11.5px;color:var(--faint)}

.ft-sec{margin-block:34px}
.ft-sec-h{display:flex;align-items:baseline;gap:14px;padding-block-end:10px;border-bottom:2px solid var(--ink);margin-block-end:22px}
.ft-sec-h h2{font-size:19px;font-weight:900;margin:0}
.ft-sec-h a{margin-inline-start:auto;font-size:12.5px;font-weight:800;color:var(--brand)}
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 26px}
.ft-item{display:block;padding-block-end:22px;border-inline-end:1px solid var(--border);padding-inline-end:26px}
.ft-item:nth-child(3n){border-inline-end:0;padding-inline-end:0}
.ft-item-img{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;margin-block-end:12px}
.ft-item-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.ft-item:hover .ft-item-img img{filter:none}
.ft-item .c{font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--brand);display:block;margin-block-end:6px}
.ft-item h3{font-size:17px;line-height:1.5;font-weight:800;margin:0 0 7px}
.ft-item:hover h3{color:var(--brand)}
.ft-item p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 8px}
.ft-item .m{font-size:11.5px;color:var(--faint)}

.ft-split{display:grid;grid-template-columns:1fr 320px;gap:34px;margin-block:34px;align-items:start}
.ft-row{display:block;padding-block:15px;border-bottom:1px solid var(--border)}
.ft-row h3{font-size:16px;line-height:1.55;font-weight:700;margin:0 0 5px}
.ft-row:hover h3{color:var(--brand)}
.ft-row .m{font-size:11.5px;color:var(--faint)}
.ft-rank{border:1px solid var(--ink);background:var(--card)}
.ft-rank-h{padding:13px 18px;background:var(--ink);color:#fbf5ef;font-size:13px;font-weight:900;letter-spacing:.5px}
.ft-rk{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);align-items:baseline}
.ft-rk:last-child{border-bottom:0}
.ft-rk b{font-size:19px;font-weight:900;color:var(--brand);font-variant-numeric:tabular-nums}
.ft-rk span{font-size:14px;line-height:1.55;color:var(--text)}
.ft-rk:hover span{color:var(--ink)}
@media (max-width:980px){.ft-lead{grid-template-columns:1fr}.ft-lead-main{border-inline-end:0;padding-inline:0}
  .ft-lead-side{padding-inline:0;border-top:1px solid var(--border);padding-block-start:20px}
  .ft-grid{grid-template-columns:1fr 1fr}.ft-item:nth-child(3n){border-inline-end:1px solid var(--border);padding-inline-end:26px}
  .ft-item:nth-child(2n){border-inline-end:0;padding-inline-end:0}.ft-split{grid-template-columns:1fr}}
@media (max-width:620px){.ft-grid{grid-template-columns:1fr}.ft-item{border-inline-end:0;padding-inline-end:0}}

/* ══════════════════════════════════════════════════════════════════════════
   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}
