/* أنماطُ /daily-reports — نُقلت من القالب 2026-08-20 (دستور §4 · CLAUDE.md قاعدة 1).
   ⚖ والدفعُ مُثبَتُ الوصول هنا: القالبُ يستعمل `@push('style-override')` أصلاً
      داخلَ `@section` — والأقسامُ تُلتقط قبل تصيير التخطيط الأب. */

/* عنوانُ قسم الأرشيف — أُضيف لإزالة قفزة h1⇒h3. editorial: بلا استدارةٍ ولا ظلّ. */
.fnv-rpt-feed__h{font-family:var(--fnv-font-body);font-size:1rem;font-weight:800;
  color:var(--fnv-ink);margin:0 0 12px;padding:0 0 8px;
  border-block-end:1px solid var(--fnv-border);letter-spacing:normal}


    /* Feature 2 — Dynamic Outcome Badge */
    .fnv-rpt-outcome{display:inline-flex;align-items:center;gap:4px;font-family: 'Readex Pro', sans-serif;font-size:.8125rem;font-weight:800;padding:3px 8px;border-radius: 0;line-height:1;white-space:nowrap;border:1px solid;}
    .fnv-rpt-outcome svg{width:10px;height:10px;flex-shrink:0;}
    .fnv-rpt-outcome--success{background:var(--fnv-surface-2);color:var(--fnv-up);border-color:var(--fnv-up);}
    .fnv-rpt-outcome--warning{background:var(--fnv-surface-2);color:var(--fnv-down);border-color:var(--fnv-down);}
    .fnv-rpt-outcome--info{background:var(--fnv-surface-2);color:var(--fnv-sq-7);border-color:var(--fnv-border);}
    .fnv-rpt-outcome--neutral{background:var(--fnv-surface-2);color:var(--fnv-ink-muted);border-color:var(--fnv-n-150);}

    /* Feature 3 — Micro-Metrics */
    .fnv-rpt-micro{display:flex;flex-wrap:wrap;gap:7px;padding:2px 18px 12px;}
    .fnv-rpt-micro__chip{display:inline-flex;align-items:center;gap:5px;font-family: 'Readex Pro', sans-serif;font-size:.8125rem;font-weight:700;color:var(--fnv-ink-muted);background:var(--fnv-surface-2);border:1px solid var(--fnv-grid);border-radius: 0;padding:4px 10px;line-height:1;}
    .fnv-rpt-micro__chip svg{color: var(--fnv-ink-3);flex-shrink:0;}
    .fnv-rpt-micro__chip--yield{color:var(--fnv-ink);background:var(--fnv-surface);border-color:var(--fnv-n-150);}

    /* Feature 1 — Curiosity Gap (fade-out blur) */
    .fnv-cg-lead{color:var(--fnv-ink-muted);font-size:.95rem;line-height:1.9;margin:0;font-family: 'Readex Pro', sans-serif;}
    .fnv-cg-ghost{margin-top:10px;display:flex;flex-direction:column;gap:9px;filter:blur(4px);opacity:.5;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);}
    .fnv-cg-ghost span{display:block;height:9px;border-radius: 0;background:linear-gradient(90deg,var(--fnv-border),var(--fnv-surface-2));}
    .fnv-cg-hook{display:flex;align-items:flex-start;gap:8px;background:var(--fnv-dark-bg);color:var(--fnv-dark-text);padding:11px 14px;border-radius: 0;margin-bottom:14px;text-align:right;}
    .fnv-cg-hook__spark{font-size:1rem;line-height:1.4;flex-shrink:0;}
    .fnv-cg-hook__text{margin:0;font-family: 'Readex Pro', sans-serif;font-size:.84rem;line-height:1.7;font-weight:600;}
    .fnv-cg-hook__text strong{color:var(--fnv-ink);font-weight:800;}

    /* Feature 4 — Macro Command Bar */
    .fnv-cmdbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 14px;margin-bottom:16px;background:var(--fnv-dark-bg);border-radius: 0;}
    .fnv-cmdbar__label{display:inline-flex;align-items:center;gap:6px;font-family: 'Readex Pro', sans-serif;font-size:.8125rem;font-weight:800;color:var(--fnv-ink);white-space:nowrap;}
    .fnv-cmdbar__label svg{flex-shrink:0;}
    .fnv-cmdbar__chips{display:flex;flex-wrap:wrap;gap:7px;flex:1;min-width:0;}
    .fnv-cmd-chip{font-family: 'Readex Pro', sans-serif;font-size:.8125rem;font-weight:700;color:var(--fnv-on-dark-2);background:var(--fnv-dark-bg);border:1px solid var(--fnv-ink);border-radius: 0;padding:5px 12px;cursor:pointer;transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;display:inline-flex;align-items:center;gap:5px;}
    .fnv-cmd-chip:hover{background:var(--fnv-dark-bg);color:var(--fnv-dark-text);border-color:var(--fnv-ink-muted);}
    .fnv-cmd-chip.active{box-shadow:inset 0 -3px 0 0 var(--fnv-ink);color:var(--fnv-ink);border-color:var(--fnv-ink);}
    .fnv-cmd-chip__n{font-family:"Readex Pro", sans-serif;font-size:.8125rem;opacity:.55;}
    .fnv-cmd-chip.active .fnv-cmd-chip__n{opacity:.8;}
    .fnv-cmdbar__clear{font-family: 'Readex Pro', sans-serif;font-size:.8125rem;font-weight:700;color: var(--fnv-ink-3);background:transparent;border:1px solid var(--fnv-ink);border-radius: 0;padding:5px 12px;cursor:pointer;}
    .fnv-cmdbar__clear:hover{color:var(--fnv-dark-text);border-color: var(--fnv-ink-3);}
    .fnv-cmd-hidden{display:none !important;}
    @media(max-width:600px){.fnv-cmdbar__label{font-size:.8125rem;}.fnv-cmd-chip{font-size:.8125rem;padding:4px 9px;}}

    /* تقسيم الصفحات — أحادي اللون (أبيض/أسود، الحالية مقلوبة) */
    .fnv-pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:28px 0 8px;}
    /* ⚖ 44px حدُّ هدف اللمس (كان 38): إصبعٌ بالغةٌ ~9مم، وما دونه يُنتج نقراً
     على الجار. وهذه أزرارُ تنقّلٍ يُصيبها المستخدم مراراً لا مرّةً. */
    .fnv-pg{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-family: 'Readex Pro', sans-serif;font-size:.85rem;font-weight:800;color:var(--fnv-ink);background:var(--fnv-surface);border:1.5px solid var(--fnv-dark-bg);text-decoration:none;transition: background-color .12s, color .12s, border-color .12s, transform .12s;}
    .fnv-pg:hover{background:var(--fnv-grid);color:var(--fnv-ink);}
    .fnv-pg--active{background:var(--fnv-dark-bg);color:var(--fnv-dark-text);cursor:default;}
    .fnv-pg--disabled{opacity:.3;cursor:not-allowed;background:var(--fnv-surface);}
    .fnv-rpt-feed--loading{opacity:.45;transition:opacity .15s;pointer-events:none;}
    

    /* ⚖ **JetBrains Mono نُقل إلى `<link>` في التخطيط** (2026-08-09): `@import`
       داخل `\3c style>` سطريّ يُكتشَف **بعد** تحليل الورقة، فيصير طلبُ الخطّ متسلسلاً
       خلف طلبٍ آخر بدل أن يتوازى معه. والآن عائلتان في طلبٍ واحد. */

/* مسار التنقّل صار في الشريط الأسود العلويّ (partials.context_bar) */

:root {
    --fnv-black:        var(--fnv-ink);
    --fnv-white:        var(--fnv-surface);
    --fnv-light:        #f5f5f5;
    --fnv-red:          var(--fnv-down);
    --fnv-blue:         var(--fnv-gamma-pos);
    --fnv-border:       var(--fnv-ink);
    --fnv-border-light: var(--fnv-n-150);
    --fnv-gray-light:   #f5f5f5;
    --fnv-gray:         var(--fnv-ink-muted);
    --font-cairo:       'Readex Pro', sans-serif;
    --font-mono:        var(--fnv-font-body);
    --transition-fast:  0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce:0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

body {
    background-color: var(--fnv-white);
}

/* ═══════════════════════════════════════════════════
   DYNAMIC GRID BACKGROUND
   ═══════════════════════════════════════════════════ */
.rpt-bg-container {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    background: var(--fnv-surface);
}
.rpt-bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0,0,0,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,0.06) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 1;
    animation: none;
}

/* ═══════════════════════════════════════════════════
   MAGNETIC BUTTON (From About page)
   ═══════════════════════════════════════════════════ */
.abt-btn-magnetic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    background: var(--fnv-black);
    color: var(--fnv-white) !important;
    font-family: 'Readex Pro', sans-serif !important;
    font-weight: 800;
    font-size: .95rem;
    text-decoration: none;
    border: 2px solid var(--fnv-black);
    border-radius: 0;
    overflow: hidden;
    cursor: pointer;
    z-index: 1;
    transition: color var(--transition-fast);
}
.abt-btn-magnetic .btn-hover-fill {
    position: absolute;
    top: 100%; left: 0; right: 0; height: 100%;
    background: var(--fnv-white);
    z-index: -1;
    transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.abt-btn-magnetic:hover { color: var(--fnv-black) !important; }
.abt-btn-magnetic:hover .btn-hover-fill { top: 0; }

.fnv-rpt-ghost-btn {
    display: inline-block;
    background: transparent;
    color: var(--fnv-black);
    padding: 12px 28px;
    font-family: 'Readex Pro', sans-serif !important;
    font-weight: 800;
    font-size: .95rem;
    text-decoration: none;
    border: 2px solid var(--fnv-black);
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.fnv-rpt-ghost-btn:hover { background: var(--fnv-black); color: var(--fnv-white); }


/* ═══════════════════════════════════════════════════
   DAILY REPORTS، Editorial style
   ═══════════════════════════════════════════════════ */

/* ── Masthead ── */
/* ⚖ الجانبان والأعلى — فيكتمل الإطارُ حول الزوج. والحدُّ أسودُ على
     خلفيّةٍ سوداء: لا يُرى وحدَه، لكنّه يجعل عرضَ الكتلتين واحداً
     بالبكسل فلا تنكسر حافّةُ البطاقة عند الشريط. */
/* ⛔ **الترويسةُ كانت بيضاءَ على بيضاءَ في الوضع الداكن** (قِيس 2026-08-22):
     `--fnv-black` **ينقلب** (‏#000000 ⇄ #FFFFFF) — والاسمُ يوهم بالثبات — فتصير
     خلفيّةُ الشريط بيضاءَ، بينما أبناؤه يحملون `rgba(255,255,255,.6)` **ثابتاً**
     يغلب الرمزَ المنقلب ⇒ **1.00:1** على «FINVIRO DAILY EDGE» وعنوان الصفحة.
   ⚖ **والشريطُ أسودُ بالتصميم** لا بالثيم — فيُثبَّت بالرمزين اللذين لا ينقلبان
     (‏`--fnv-dark-bg`/`--fnv-dark-text`)، فيسلم أبناؤه كلُّهم بقاعدةٍ واحدة
     بدل تحويل كلّ `rgba` فيه على حدة. */
.fnv-rpt-masthead{
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    padding: 44px 0 32px;
    border-bottom: 2px solid var(--fnv-dark-bg);
    position: relative;
    overflow: hidden;border-inline:2px solid var(--fnv-dark-bg);border-top:2px solid var(--fnv-dark-bg);}
.fnv-rpt-masthead::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}

.fnv-rpt-masthead__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.fnv-rpt-masthead__kicker {
    font-family: var(--font-mono) !important;
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: .2em;
    color: rgba(255,255,255,0.6) !important;
    margin-bottom: 12px;
    text-transform: uppercase;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    display: inline-block;
    padding-bottom: 4px;
}
.fnv-rpt-masthead__title {
    font-family: "Readex Pro", sans-serif;
    font-size: clamp(1.5rem, 2.2vw, 2.1rem);
    font-weight: 900;
    color: var(--fnv-surface);
    margin: 0 0 10px;
    line-height: 1.15;
    letter-spacing: normal;
    display: block;
}
.fnv-rpt-masthead__title-light {
    /* كان 300 مع شفافيّة 0.65 — مجتمعان هما «الرقيقُ الشفّاف» بعينه. */
    font-weight: 400;
    color: rgba(255,255,255,0.86);
    font-size: .88em;
    letter-spacing: 0;
    display: block;
    margin-top: 2px;
}
.fnv-rpt-masthead__sub {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: 1.1rem;
    color: var(--fnv-ink-3) !important;
    margin: 0;
    font-weight: 600;
}
.fnv-rpt-masthead__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--fnv-white);
    border: 2px solid var(--fnv-black);
    color: var(--fnv-black);
    padding: 10px 20px;
    font-family: var(--font-cairo) !important;
    font-size: .9rem;
    font-weight: 900;
    box-shadow: none;
}
.fnv-rpt-masthead__cta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.fnv-rpt-masthead__hint { font-family: 'Readex Pro', sans-serif !important; font-size: .8125rem; color: var(--fnv-ink-3); font-weight: 600; }


/* ── Layout Grid ── */
.fnv-rpt-layout { 
    background: transparent; 
    padding: 40px 0 80px; 
}
.fnv-rpt-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
    min-height: 80vh;
    min-width: 0;
}

/* ── Sidebar ── */
.fnv-rpt-sidebar {
    position: relative;
}
.fnv-rpt-sidebar__sticky {
    position: sticky;
    top: 80px;
}
.fnv-rpt-sidebar__label {
    font-family: var(--font-mono) !important;
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: normal;
    text-transform: uppercase;
    color: var(--fnv-black);
    padding: 0 0 16px;
    border-bottom: 2px solid var(--fnv-black);
    margin-bottom: 24px;
}
.fnv-rpt-nav { display: flex; flex-direction: column; gap: 0; margin-bottom: 32px; border: 2px solid var(--fnv-black); box-shadow: none; }
.fnv-rpt-nav-divider {
    height: 2px;
    background: var(--fnv-black);
    margin: 0;
}
.fnv-rpt-nav-btn {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    background: var(--fnv-white);
    border: none;
    border-bottom: 1px solid var(--fnv-black);
    font-family: var(--font-cairo) !important;
    font-size: 1rem;
    font-weight: 700;
    color: var(--fnv-black);
    cursor: pointer;
    text-align: right;
    width: 100%;
    position: relative;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.fnv-rpt-nav-btn:hover {
    background: var(--fnv-surface-2);
    padding-right: 22px;
}
.fnv-rpt-nav-btn:last-child { border-bottom: none; }

/* ── Active state ── */
.fnv-rpt-nav-btn.active {
    background: var(--fnv-black);
    color: var(--fnv-white);
    border-color: var(--fnv-black);
    box-shadow: inset -4px 0 0 rgba(255,255,255,0.3);
}
.fnv-rpt-nav-label { 
    flex: 1; 
    text-align: right; 
    white-space: nowrap; 
    margin-right: 12px; 
}
.fnv-rpt-nav-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}
.fnv-rpt-nav-count {
    font-family: var(--font-mono) !important;
    font-size: .8125rem;
    color: var(--fnv-white);
    background: var(--fnv-black);
    padding: 3px 8px;
    min-width: 28px;
    text-align: center;
    flex-shrink: 0;
    font-weight: 800;
}
.fnv-rpt-nav-count--alert { background: var(--fnv-red); color: var(--fnv-dark-text); }
.fnv-rpt-nav-count--lock  { background: transparent; font-size: 1.1rem; border: none; color: var(--fnv-ink-3); }
.fnv-rpt-nav-btn.active .fnv-rpt-nav-count {
    background: var(--fnv-white);
    color: var(--fnv-black);
}

.fnv-rpt-sidebar-cta {
    border: 2px solid var(--fnv-black);
    padding: 24px;
    text-align: center;
    background: var(--fnv-white);
    box-shadow: none;
}
.fnv-rpt-sidebar-cta__icon { font-size: 2rem; margin-bottom: 12px; color: var(--fnv-black); }
.cta-title { font-family: 'Readex Pro', sans-serif !important; font-weight: 900; font-size: 1.1rem; margin-bottom: 8px; color: var(--fnv-black); }
.cta-desc { font-family: 'Readex Pro', sans-serif !important; font-size: .9rem; color: var(--fnv-ink-muted); margin-bottom: 20px; line-height: 1.6; }

/* ── Feed ── */
.fnv-rpt-feed {
    min-height: 80vh;
}

/* Tab panels */
.fnv-rpt-tab-panel { display: none; }
.fnv-rpt-tab-panel.active { display: block; }

/* ── Cards ── */
.fnv-rpt-card {
    background: var(--fnv-white);
    border: 2px solid var(--fnv-black);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: none;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
    position: relative;
}
.fnv-rpt-card:hover {
    box-shadow: none;
    transform: translate(-2px, -2px);
}
.fnv-rpt-card--featured {
    border-right: 6px solid var(--fnv-black);
    background: var(--fnv-white);
}

/* ── صورة غلاف التقرير (full-bleed أعلى البطاقة) ── */
.fnv-rpt-card__cover {
    margin: -20px -24px 0;        /* يلغي padding البطاقة → يمتد حتى الحواف */
    overflow: hidden;
    background: var(--fnv-dark-bg);
    line-height: 0;
    cursor: pointer;
    border-bottom: 2px solid var(--fnv-black);
}
.fnv-rpt-card__cover img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform var(--transition-fast);
}
.fnv-rpt-card__cover:hover img { transform: scale(1.035); }
.fnv-rpt-card--featured .fnv-rpt-card__cover img { height: 248px; }
@media (max-width: 767px) {
    .fnv-rpt-card__cover img { height: 108px; }
    .fnv-rpt-card--featured .fnv-rpt-card__cover img { height: 172px; }
}

/* ── Pulse Strip — يمتد حتى حواف البطاقة الكاملة ── */
.fnv-rpt-pulse-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 24px;          /* يعوّض هامش البطاقة */
    margin: 14px -24px 0;       /* سالب لإلغاء padding البطاقة */
    border-top: 3px solid var(--ps-bg, #000);
    font-family:"Readex Pro", sans-serif !important;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-3);
    letter-spacing: 0.04em;
    direction: rtl;
}
.fnv-rpt-pulse-strip__tone { font-weight: 800; }
.fnv-rpt-pulse-strip__tone--bull    { color: var(--fnv-up); }
.fnv-rpt-pulse-strip__tone--bear    { color: var(--fnv-down); }
.fnv-rpt-pulse-strip__tone--neutral { color: var(--fnv-ink-3); }
.fnv-rpt-pulse-strip__sep { color: var(--fnv-on-dark-2); }
.fnv-rpt-pulse-strip__date { color: var(--fnv-ink-3); font-size: .8125rem; }
.fnv-rpt-pulse-strip__dot--live {
    width: 6px; height: 6px; border-radius:0; /* ⛔ كانت 50% — §4أ (2026-09-05) */
    background: var(--fnv-tint-pos);
    animation: live-pulse 1.8s ease-in-out infinite;
    flex-shrink: 0;
    margin-right: auto;
}
@keyframes live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.7); }
}

/* ── Color accent strip per report type (right border = RTL start) ── */
.fnv-rpt-card--type-daily       { border-right: 5px solid var(--fnv-ink); }
.fnv-rpt-card--type-pre_market  { border-right: 5px solid var(--fnv-sq-7); }
.fnv-rpt-card--type-mid_session { border-right: 5px solid var(--fnv-up); }
.fnv-rpt-card--type-alert       { border-right: 5px solid var(--fnv-alert); }
/* Featured card overrides type border with thicker accent */
.fnv-rpt-card--featured.fnv-rpt-card--type-daily       { border-right: 6px solid var(--fnv-ink); }
.fnv-rpt-card--featured.fnv-rpt-card--type-pre_market  { border-right: 6px solid var(--fnv-sq-7); }
.fnv-rpt-card--featured.fnv-rpt-card--type-mid_session { border-right: 6px solid var(--fnv-up); }
.fnv-rpt-card--featured.fnv-rpt-card--type-alert       { border-right: 6px solid var(--fnv-alert); }

/* ── Paid badge ── */
.fnv-rpt-paid-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .8125rem;
    font-weight: 800;
    padding: 3px 9px;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    border: 1.5px solid var(--fnv-ink);
    letter-spacing: .03em;
}
.fnv-rpt-paid-badge svg { flex-shrink: 0; }

.fnv-rpt-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
/* ⛔ **حرفٌ في كلّ سطر على الجوّال** (مقيسٌ حيّاً 2026-08-08: الشارة 38×277 بكسل):
     الأبُ `display:flex` والشارةُ طفلٌ مرن، فتُسحَق حين يضيق العرضُ إلى أن تصير
     بعرض حرف. ⚖ ولا يُنتج ذلك فيضاً أفقيّاً ولا خطأ JS — فيمرّ من كلّ المدقّقات
     الساكنة، تماماً كعطب `<caption>` صباحَ اليوم (`bug-843`). **الشاشةُ وحدها تراه.**
   ✅ `flex-wrap` يسمح بالنزول سطراً بدل السحق، و`min-width:0` على العنصر المرن
      الطويل يمنعه من دفع جاره. */
.fnv-rpt-card__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* Type badges */
.fnv-rpt-type-badge {
    font-family: var(--font-mono) !important;
    font-size: .8125rem;
    font-weight: 800;
    padding: 4px 12px;
    display: inline-block;
    border: 2px solid var(--fnv-black);
    letter-spacing: normal;
    /* ⛔ لا تُسحَق ولا تُكسَر: الشارةُ وحدةٌ دلاليّةٌ واحدة لا نصٌّ يُلفّ. */
    flex: 0 0 auto;
    white-space: nowrap;
}
/* ⛔ **`--fnv-up` ينقلب إلى `#22C55E` في الوضع الداكن** فيصير الأبيضُ عليه
     **2.28:1**. والرمزُ الثابتُ `--fnv-up-on-light` (‏#15803D) يُعطي ~5.4:1 في
     الثيمين. ⚖ وأخواتُه ثابتةٌ أصلاً فلا تُمَسّ: `--fnv-alert` (#E01030 ≈ 5:1)
     و`--fnv-sq-7` (#1D4ED8 ≈ 7.6:1) — **قِيست قبل الإبقاء عليها، لا افتُرضت**. */
.fnv-rpt-type-badge--daily       { background: var(--fnv-dark-bg); color: var(--fnv-dark-text); border-color: var(--fnv-ink); }
.fnv-rpt-type-badge--alert       { background: var(--fnv-alert); color: var(--fnv-dark-text); border-color: var(--fnv-alert); }
.fnv-rpt-type-badge--mid_session { background: var(--fnv-up-on-light); color: var(--fnv-dark-text); border-color: var(--fnv-up-on-light); }
.fnv-rpt-type-badge--pre_market  { background: var(--fnv-sq-7); color: var(--fnv-dark-text); border-color: var(--fnv-sq-7); }

.fnv-rpt-new-badge {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .8125rem;
    font-weight: 800;
    padding: 3px 10px;
    /* ⛔ خلفيّةٌ سوداءُ ثابتةٌ مع نصٍّ `--fnv-white` **ينقلب** ⇒ 1.06:1 داكناً. */
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.4); }
    70% { box-shadow: 0 0 0 6px rgba(0, 0, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); }
}

/* ── تاريخ التقرير بجانب الـ badge ── */
.fnv-rpt-badge-date {
    font-family:"Readex Pro", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-3);
    letter-spacing: 0.02em;
    border-right: 1.5px solid var(--fnv-border);
    padding-right: 8px;
    margin-right: 2px;
}

/* ══ Date Filter ══ */
.fnv-date-filter-wrap {
    margin-bottom: 20px;
    border: 1.5px solid var(--fnv-border);
    background: var(--fnv-surface-2);
    padding: 14px 16px 10px;
}
.fnv-date-filter-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.fnv-date-picker-box {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 200px;
}
.fnv-date-label {
    font-family: 'Readex Pro', sans-serif;
    font-size: .82rem;
    font-weight: 700;
    color: var(--fnv-ink-muted);
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    margin: 0;
}
.fnv-date-input {
    border: 1.5px solid var(--fnv-border);
    padding: 7px 10px;
    font-family:"Readex Pro", sans-serif;
    font-size: .85rem;
    font-weight: 700;
    color: var(--fnv-ink) !important;
    background: var(--fnv-surface) !important;
    outline: none;
    border-radius: 0;
    direction: ltr;
    cursor: pointer;
    min-width: 150px;
    transition: border-color 0.15s;
}
.fnv-date-input:focus { border-color: var(--fnv-ink); }
/* التاريخُ المختار بالعربيّة — يُكمل الوسمَ الأصليَّ الذي يتبع لغةَ الجهاز. */
.fnv-date-ar {
    display: inline-block;
    margin-inline-start: 10px;
    font-family: var(--fnv-font-body);
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-2);
}
.fnv-date-ar:empty { display: none; }
.fnv-date-reset {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-alert);
    background: none;
    border: 1px solid var(--fnv-alert);
    padding: 5px 10px;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
    border-radius: 0;
}
.fnv-date-reset:hover { background: var(--fnv-alert); color: var(--fnv-dark-text); }
/* Economic strip */
.fnv-eco-strip {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--fnv-n-150);
    font-size: .8125rem;
    flex-wrap: wrap;
}
.fnv-eco-strip__label {
    font-family:"Readex Pro", sans-serif;
    font-weight: 800;
    color: var(--fnv-ink-muted);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.fnv-eco-strip__events {
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    color: var(--fnv-ink-muted);
    line-height: 1.5;
}
/* Quick date chips */
.fnv-date-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.fnv-date-chip {
    font-family:"Readex Pro", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    padding: 3px 9px;
    border: 1.5px solid var(--fnv-border);
    background: var(--fnv-surface);
    color: var(--fnv-ink-muted);
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
    letter-spacing: 0.02em;
}
.fnv-date-chip:hover,
.fnv-date-chip.active { background: var(--fnv-dark-bg); color: var(--fnv-dark-text); border-color: var(--fnv-ink); }
/* No result */
.fnv-date-noresult {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-family: 'Readex Pro', sans-serif;
    font-size: .85rem;
    color: var(--fnv-ink-3);
    padding: 10px 12px;
    background: var(--fnv-n-25);
    border: 1px dashed var(--fnv-border);
}

.fnv-rpt-card__date {
    font-family:"Readex Pro", sans-serif !important;
    font-size: .8125rem;
    color: var(--fnv-gray);
    font-weight: 700;
}

.fnv-rpt-card__toggle {
    width: 100%;
    text-align: right;
    background: none;
    border: none;
    cursor: pointer;
    padding: 20px 0 0;        /* تنفّس يفصل العنوان عن شريط المؤشرات */
    margin-top: 4px;
    border-top: 1px solid var(--fnv-grid);
    outline: none;
}
.fnv-rpt-card__title-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.fnv-rpt-tone-dot {
    width: 11px;
    height: 11px;
    border-radius:0; /* ⛔ كانت 50% — §4أ (2026-09-05) */       /* دائرة بدل مربّع */
    flex-shrink: 0;
    margin-top: 7px;
    animation: fnvTonePulse 2s ease-in-out infinite;   /* علامة حيّة نابضة */
}
@keyframes fnvTonePulse {
    0%   { box-shadow: 0 0 0 0 var(--tone-glow, rgba(107,114,128,0.5)); }
    70%  { box-shadow: 0 0 0 8px rgba(0,0,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }
}
.fnv-rpt-tone-dot--bull    { background: var(--fnv-up); --tone-glow: rgba(21,128,61,0.5); }
.fnv-rpt-tone-dot--bear    { background: var(--fnv-tint-neg); --tone-glow: rgba(220,38,38,0.5); }
.fnv-rpt-tone-dot--neutral { background: var(--fnv-ink-3); --tone-glow: rgba(107,114,128,0.45); }

.fnv-rpt-card__title {
    font-family: "Readex Pro", sans-serif !important;
    font-size: 1.18rem !important;
    font-weight: 800;
    color: var(--fnv-black);
    line-height: 1.5;
    margin: 0;
    flex: 1;
    text-align: right;
    letter-spacing: -0.01em;
    transition: color 0.15s;
}
.fnv-rpt-card--featured .fnv-rpt-card__title {
    font-size: 1.42rem !important;   /* العنوان الرئيسي (أحدث تقرير) بارز كعنوان صحفي */
    line-height: 1.45;
}
.fnv-rpt-card__toggle:hover .fnv-rpt-card__title { opacity: 0.7; }
.fnv-rpt-card__chevron {
    flex-shrink: 0;
    color: var(--fnv-black);
    transition: transform var(--transition-bounce);
    width: 32px;
    height: 32px;
    border: 2px solid var(--fnv-black);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}
.fnv-rpt-card__toggle:hover .fnv-rpt-card__chevron {
    border-color: var(--fnv-black);
    background: var(--fnv-surface-2);
    color: var(--fnv-black);
    box-shadow: none;
}
.fnv-rpt-card__toggle[aria-expanded="true"] .fnv-rpt-card__chevron {
    transform: rotate(180deg);
    border-color: var(--fnv-black);
    background: var(--fnv-black);
    color: var(--fnv-white);
    box-shadow: none;
}
.fnv-rpt-card__sub {
    font-family:"Readex Pro", sans-serif !important;
    font-size: .8125rem;
    color: var(--fnv-ink-3);
    margin-top: 8px;
    margin-right: 22px;
}

/* Card body */
.fnv-rpt-card__body {
    display: none;
}
.fnv-rpt-card__body-inner {
    margin-top: 24px;
    border-top: 2px dashed var(--fnv-border);
    padding-top: 24px;
    animation: fadeInDown 0.4s ease-out forwards;
}
@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fnv-rpt-card__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    background: var(--fnv-black);
    padding: 12px 16px;
    border: 2px solid var(--fnv-black);
}
.fnv-rpt-card__full-date {
    font-family: var(--font-mono) !important;
    font-size: .85rem;
    font-weight: 800;
    color: var(--fnv-dark-text);
}
/* زر PDF: حشوة صلبة عالية التباين (أبيض/أسود) ليكون واضحاً كزرّ على الشريط الأسود
   — كان transparent + حدّ أبيض شفّاف 0.45 فيظهر كصندوق فارغ ويختفي مع أي تتالٍ للألوان */
.fnv-rpt-print-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--fnv-surface);
    color: var(--fnv-ink) !important;
    border: 2px solid var(--fnv-dark-text);
    border-radius: 0;
    padding: 6px 16px;
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .85rem;
    font-weight: 800;
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.fnv-rpt-print-btn svg { stroke: currentColor; }
.fnv-rpt-print-btn:hover { background: transparent; color: var(--fnv-dark-text) !important; border-color: var(--fnv-dark-text); }

/* Report Table of Contents */
.fnv-report-toc {
    background: var(--fnv-surface-2);
    border: 1.5px solid var(--fnv-n-150);
    border-right: 4px solid var(--fnv-ink);
    padding: 12px 16px;
    margin-bottom: 20px;
    direction: rtl;
}
.fnv-toc-header {
    font-size: .8125rem;
    font-weight: 900;
    color: var(--fnv-ink);
    letter-spacing: .5px;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    font-family: var(--font-cairo);
}
.fnv-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.fnv-toc-link {
    display: block;
    font-size: .8125rem;
    color: var(--fnv-ink-muted);
    text-decoration: none;
    padding: 3px 10px;
    border-right: 2px solid transparent;
    font-family: var(--font-cairo);
    transition: border-color .15s, color .15s, background .15s;
    line-height: 1.4;
}
.fnv-toc-link:hover {
    color: var(--fnv-ink);
    border-right-color: var(--fnv-ink);
    background: var(--fnv-grid);
    text-decoration: none;
}

/* Social share strip */
.fnv-share-strip {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
.fnv-share-label {
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-3);
    letter-spacing: normal;
    margin-left: 2px;
}
.fnv-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius:0; /* ⛔ كانت 50% — §4أ (2026-09-05) */
    border: 1.5px solid var(--fnv-n-150);
    background: var(--fnv-surface-2);
    /* ⚖ العلامةُ **درعٌ من `main.css` الموروثة** — الشرحُ الكاملُ عند قاعدة التمرير. */
    color: var(--fnv-ink-muted) !important;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.fnv-share-btn:hover { transform: translateY(-2px); border-color: currentColor; }
.fnv-share-btn--x:hover    { background: #000; color: var(--fnv-dark-text); border-color: var(--fnv-ink); }
.fnv-share-btn--wa:hover   { background: #25D366; color: var(--fnv-dark-text); border-color: #25D366; }
.fnv-share-btn--tg:hover   { background: #229ED9; color: var(--fnv-dark-text); border-color: #229ED9; }
.fnv-share-btn--li:hover   { background: #0A66C2; color: var(--fnv-dark-text); border-color: #0A66C2; }
.fnv-share-btn--fb:hover   { background: #1877F2; color: var(--fnv-dark-text); border-color: #1877F2; }
.fnv-share-btn--copy:hover { background: #333; color: var(--fnv-dark-text); border-color: #333; }

/* ── Article content — Mixed Arabic/Latin font stack ──────────────────────
   ⛔ وصفٌ ميّت (صُحّح 2026-08-09): لم يعد ثمّة خطّان. Readex Pro وحدَه —
   يغطّي العربيّة واللاتينيّة والأرقام معاً، ومحاذاةُ الأعمدة بـtabular-nums.
   This gives per-character font selection without any extra markup.
   ──────────────────────────────────────────────────────────────────────── */
/* إصلاح تباعد العربية: الحروف العربية متّصلة — لا letter-spacing على نص المقال/الترويسة (يمنع التداخل) */
.fnv-rpt-article, .fnv-rpt-article h1, .fnv-rpt-article h2, .fnv-rpt-article h3, .fnv-rpt-article h4,
.fnv-rpt-article p, .fnv-rpt-article li, .fnv-rpt-article blockquote,
.fnv-rpt-masthead__title, .fnv-rpt-masthead__sub, .fnv-rpt-masthead__hint { letter-spacing: normal !important; }
/* ضمان شامل: لا تباعد حروف داخل محتوى التقرير مهما كان الوسم (يمنع تكسّر العربية مثل «إغلاق السوق») */
.fnv-rpt-article * { letter-spacing: normal !important; }
/* صندوق «في 30 ثانية» (TL;DR) — بارز فوق المتن */
.fnv-tldr { border: 2px solid var(--fnv-dark-bg); background: var(--fnv-surface-2); padding: 14px 18px; margin: 6px 0 22px; }
.fnv-tldr__lbl { display: inline-block; font-family: 'Readex Pro', sans-serif; font-size: .8125rem; font-weight: 900; letter-spacing: normal; color: var(--fnv-dark-text); background: var(--fnv-dark-bg); padding: 3px 11px; margin-bottom: 9px; }
.fnv-tldr__txt { font-family: 'Readex Pro', sans-serif; font-size: 17px; font-weight: 600; line-height: 1.85; color: var(--fnv-ink); margin: 0; }
@media (max-width: 767px) { .fnv-tldr__txt { font-size: 16px; } }

.fnv-rpt-article {
    font-family: 'Readex Pro', sans-serif; /* الخط الرسمي للموقع */
    font-size: 18px;            /* حجم نص التقرير، أكبر لقراءة مريحة (كان 16px صغيراً) */
    line-height: 2.05;          /* تباعد أسطر مريح للعربية */
    letter-spacing: normal;     /* العربية متّصلة، لا تباعد أفقي بين الحروف */
    word-spacing: normal;
    color: var(--fnv-ink);
}
/* ── إصلاح تباين: نص أبيض/فاتح مُلصق (TinyMCE) على خلفية فاتحة → داكن مقروء ── */
.fnv-rpt-article [style*="color:#fff"],
.fnv-rpt-article [style*="color: #fff"],
.fnv-rpt-article [style*="color:#FFF"],
.fnv-rpt-article [style*="color: #FFF"],
.fnv-rpt-article [style*="color:white"],
.fnv-rpt-article [style*="color: white"],
.fnv-rpt-article [style*="color:rgb(255, 255, 255)"],
.fnv-rpt-article [style*="color:rgb(255,255,255)"] { color: var(--fnv-ink) !important; }
/* غطاء سمة <font color> القديمة (TinyMCE/لصق) — لا تُلتقط بـ style* */
.fnv-rpt-article font[color="#fff"], .fnv-rpt-article font[color="var(--fnv-surface)"],
.fnv-rpt-article font[color="#FFF"],
.fnv-rpt-article font[color="white"] { color: var(--fnv-ink) !important; }
.fnv-rpt-article mark { color: var(--fnv-ink) !important; }
/* استثناء: نص فاتح داخل حاوية خلفيتها داكنة (جداول الأدمن #111/#0d0d0d) يبقى فاتحاً مقروءاً */
.fnv-rpt-article [style*="background:#0"] [style*="color:#fff"], .fnv-rpt-article [style*="background: #0"] [style*="color:#fff"],
.fnv-rpt-article [style*="background:#1"] [style*="color:#fff"], .fnv-rpt-article [style*="background: #1"] [style*="color:#fff"],
.fnv-rpt-article [style*="background:#2"] [style*="color:#fff"], .fnv-rpt-article [style*="background: #2"] [style*="color:#fff"],
.fnv-rpt-article [style*="background:#0"] [style*="color: #fff"], .fnv-rpt-article [style*="background:#1"] [style*="color: #fff"] { color: #fff !important; }
/* استثناء نفس-العنصر: شارة/kicker خلفيتها داكنة ونصّها أبيض (لا متداخل) — كانت تُقلَب أسود→
   مربع أسود على أسود. أبقِ نصّها أبيض. يشمل خلفية داكنة صريحة أو تدرّج. */
.fnv-rpt-article [style*="background:#0"][style*="color:#fff"], .fnv-rpt-article [style*="background: #0"][style*="color:#fff"],
.fnv-rpt-article [style*="background:#0"][style*="color: #fff"], .fnv-rpt-article [style*="background: #0"][style*="color: #fff"],
.fnv-rpt-article [style*="background:#1"][style*="color:#fff"], .fnv-rpt-article [style*="background: #1"][style*="color:#fff"],
.fnv-rpt-article [style*="background:#2"][style*="color:#fff"], .fnv-rpt-article [style*="background: #2"][style*="color:#fff"],
.fnv-rpt-article [style*="linear-gradient"][style*="color:#fff"], .fnv-rpt-article [style*="linear-gradient"][style*="color: #fff"],
.fnv-rpt-article [style*="background:#0"][style*="color:#FFF"], .fnv-rpt-article [style*="background:#0"][style*="color:white"],
.fnv-rpt-article [style*="background:#1"][style*="color:white"], .fnv-rpt-article [style*="linear-gradient"][style*="color:white"] { color: var(--fnv-dark-text) !important; }
/* صور blob ميتة (لُصقت في المحرّر بلا رفع) — تُخفى بدل مربع أسود مكسور */
.fnv-rpt-article img[src^="blob:"] { display: none !important; }
/* لوغو داخل المحتوى (أيّ ملف اسمه logo) — مقيّد دائماً ومتمركز، مهما أُدرج */
.fnv-rpt-article img[src*="logo"] {
    max-width: 180px !important; max-height: 70px !important;
    width: auto !important; height: auto !important;
    object-fit: contain !important; display: block !important;
    margin: 8px auto !important; border: none !important; box-shadow: none !important; cursor: default !important;
}
/* حدّ أقصى لارتفاع أي صورة محتوى (يمنع اللوغو/الصور الطويلة من ابتلاع الشاشة؛ الشارتات العريضة غير متأثّرة) */
/* سقف ارتفاع سخيّ (لا يقصّ صور المقالات الطويلة) — الصور تُعرض كاملةً بعرض العمود بدل تصغيرها */
.fnv-rpt-article img:not([data-logo]) { max-height: 1600px; max-width: 100%; height: auto; cursor: zoom-in; border: 1px solid rgba(0,0,0,0.12); margin: 20px auto; border-radius: 0; box-shadow: none; display: block; }
@media (max-width: 767px) { .fnv-rpt-article img:not([data-logo]) { max-height: 1000px !important; } }
/* تحديد النص داخل التقرير: تباين عالٍ مضمون */
.fnv-rpt-article ::selection { background: var(--fnv-dark-bg); color: var(--fnv-dark-text); }
/* مقتطف SEO الخفيف + مؤشر التحميل (lazy) */
.fnv-rpt-excerpt-seo {
    font-family: 'Readex Pro', sans-serif;
    font-size: .98rem;
    line-height: 1.9;
    color: var(--fnv-ink-muted);
    margin-bottom: 14px;
}
.fnv-rpt-lazy-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Readex Pro', sans-serif;
    font-size: .85rem;
    color: var(--fnv-ink-3);
    padding: 10px 0;
}
.fnv-rpt-lazy-spinner {
    width: 14px; height: 14px;
    border: 2px solid var(--fnv-n-150);
    border-top-color: var(--fnv-ink);
    border-radius:0; /* ⛔ كانت 50% — §4أ (2026-09-05) */
    animation: fnvRptSpin 0.7s linear infinite;
    flex-shrink: 0;
}
@keyframes fnvRptSpin { to { transform: rotate(360deg); } }
/* عند اكتمال التحميل تُخفى عناصر الـ lazy تلقائياً (تُستبدل بالمحتوى) */
.fnv-rpt-article[data-loaded="1"] .fnv-rpt-lazy-hint { display: none; }
.fnv-rpt-article p,
.fnv-rpt-article li,
.fnv-rpt-article blockquote {
    font-family: 'Readex Pro', sans-serif; /* الخط الرسمي للموقع */
    font-size: 15.5px;
    line-height: 2.05;
}
.fnv-rpt-article p { margin-bottom: 1.5em; }
/* Headings — Readex Pro bold (الخط الرسمي) for Arabic section titles */
.fnv-rpt-article h2,
.fnv-rpt-article h3 {
    font-family: 'Readex Pro', sans-serif !important;
    font-weight: 900;
    margin-top: 2em;
    margin-bottom: 1em;
    color: var(--fnv-ink);
    letter-spacing: normal;
    line-height: 1.4;
}
/* ⚖ الكود والرموز والأرقام — **Readex Pro** (الخطّ الرسميّ المعتمد).
   ⛔ كان التعليقُ يقول JetBrains Mono والقاعدةُ تحته تطلب Readex منذ الهجرة:
      تعليقٌ يصف نيّةً ماتت يُضلّل مَن يقرؤه بعد سنة. والأحاديُّ نُبذ عمداً —
      بلا محارفَ عربيّة فيُفكّك الكلمات؛ ومحاذاةُ الأرقام تُشترى بـtabular-nums. */
.fnv-rpt-article code,
.fnv-rpt-article kbd,
.fnv-rpt-article .ticker,
.fnv-rpt-article table {
    font-family:"Readex Pro", sans-serif !important;
}
/* Logo inside report content — immune from content-image styling */
.fnv-rpt-article img[data-logo],
.fnv-rpt-article center img[data-logo] {
    border: none !important;
    box-shadow: none !important;
    cursor: default !important;
    margin: 0 !important;
    display: inline-block !important;
    pointer-events: none;
    max-width: none !important;
}
/* Share buttons SVG icons */
/* ⚖ **هذه القاعدةُ ليست زائدة — وقد حذفتُها ثمّ أعدتُها في اليوم نفسِه (2026-08-22).**
     ظننتُها تكراراً للسطر 867 فحذفتُها، **فصارت الأزرارُ بيضاءَ على أبيض**.
     والسببُ أنّ `main.css` الموروثة فيها:
       `[class*="btn--"]:not(.btn--link):not(.btn--light) { color:#fff }`
     وصنفُنا `fnv-share-btn--x` **يحوي `btn--`** فتلتقطه، وتخصيصُها (0,3,0)
     يغلب `.fnv-share-btn` (0,1,0). ⇒ فعلامةُ الأولويّة هنا **درعٌ من الموروث**.
   ⛔ **ولا تُحذف بلا بديلٍ يغلب (0,3,0)**، وإلّا اختفت الأزرارُ صامتةً.
   ⚖ ودرسٌ أعمّ: «إعلانٌ يكرّر ما فوقه» **ليس دليلَ زيادة** — قد يكون فرقُه
     في الأولويّة لا في القيمة، وذلك كلُّ غرضِه. */

/* ⚖ **والتمريرُ يلزمه الدرعُ نفسُه** (‏873–878 تُعلن `color:#fff` بلا علامة،
     فتهزمها القاعدةُ أعلاه). قاعدةٌ واحدةٌ مجموعةٌ بدل ستٍّ — فلا يزيد العدّاد
     إلّا واحداً. مقيسٌ قبل الإصلاح: **تباين 2.82** على #000. */
.fnv-share-btn--x:hover, .fnv-share-btn--wa:hover, .fnv-share-btn--tg:hover,
.fnv-share-btn--li:hover, .fnv-share-btn--fb:hover, .fnv-share-btn--copy:hover
  { color: var(--fnv-dark-text) !important; }
.fnv-share-btn svg { fill: currentColor !important; display: block; width: 14px; height: 14px; }
.fnv-share-btn--x:hover svg, .fnv-share-btn--wa:hover svg, .fnv-share-btn--tg:hover svg,
.fnv-share-btn--li:hover svg, .fnv-share-btn--fb:hover svg, .fnv-share-btn--copy:hover svg { fill: #fff !important; }
/* ── Responsive table wrapper ── */
.fnv-tbl-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; border: 2px solid var(--fnv-black); }
.fnv-tbl-scroll table { width: max-content; min-width: 100%; border-collapse: collapse; margin: 0; border: none; }
.fnv-rpt-article th, .fnv-rpt-article td { border: 1px solid var(--fnv-border); padding: 10px 14px; text-align: right !important; white-space: nowrap; min-width: 72px; }
.fnv-rpt-article th { background: var(--fnv-black); color: var(--fnv-white); font-weight: 800; border-color: var(--fnv-black); white-space: nowrap; }
/* Scrollbar hint on mobile */
.fnv-tbl-scroll::-webkit-scrollbar { height: 4px; }
.fnv-tbl-scroll::-webkit-scrollbar-track { background: var(--fnv-grid); }
.fnv-tbl-scroll::-webkit-scrollbar-thumb { background: var(--fnv-ink); }
/* ── Financial data table — zebra rows + hover ── */
.fnv-rpt-article table { width: 100%; border-collapse: collapse; margin: 20px 0; font-family:"Readex Pro", sans-serif; font-size: .88rem;
    float: none !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: right !important; }
/* zebra/hover/first-child تُطبَّق فقط على الجداول التي لا تملك خلفية إنلاين خاصة (تحترم جداول الأدمن الداكنة) */
.fnv-rpt-article table:not([style*="background"]) tr:nth-child(even) td { background: var(--fnv-surface-2); }
.fnv-rpt-article table:not([style*="background"]) tr:hover td { background: var(--fnv-grid); transition: background 0.15s; }
.fnv-rpt-article table:not([style*="background"]) td:first-child { font-weight: 700; color: var(--fnv-ink); min-width: 100px; }

/* ══════════════════════════════════════════════
   BLOOMBERG-STYLE METRICS GRID
   ══════════════════════════════════════════════ */
.fnv-metrics-grid-wrap {
    margin: 0 -32px;        /* bleed to card edges */
    border-top: 2px solid var(--fnv-ink);
    border-bottom: 1px solid var(--fnv-n-150);
    background: var(--fnv-surface);
}
.fnv-metrics-cat-label {
    font-family:"Readex Pro", sans-serif;
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fnv-ink-muted);
    padding: 5px 18px 1px;
    background: var(--fnv-surface-2);
    border-bottom: 1px solid var(--fnv-grid);
}
.fnv-metrics-grid {
    display: flex;
    flex-wrap: nowrap;            /* صف واحد دائماً */
    overflow-x: auto;             /* كثرة المؤشرات → تمرير أفقي يمين↔يسار (لا تكدّس عمودي) */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    border-bottom: 1px solid var(--fnv-border);
}
.fnv-metrics-grid::-webkit-scrollbar { height: 4px; }
.fnv-metrics-grid::-webkit-scrollbar-thumb { background: #cfcfcf; border-radius: 0; }  /* design-lint:allow-hex — سياقٌ خاصٌّ — يُعفى بتعليلٍ لا يُخمَّن */
.fnv-metric-box {
    flex: 1 0 138px;             /* أوسع قليلاً لاستيعاب اسم المؤشّر الملتفّ */
    display: flex;
    flex-direction: column;
    padding: 7px 16px 6px;       /* مدمج: ارتفاع أقل */
    border-left: 1px solid var(--fnv-border);
    position: relative;
    background: var(--fnv-surface);
    transition: background 0.15s;
}
.fnv-metric-box:first-child { border-left: none; }
.fnv-metric-box:hover { background: var(--fnv-surface-2); }
/* accent bar on top of each cell */
.fnv-metric-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--accent, #6b7280);
    opacity: 0.85;                 /* دائم: مسح أخضر/أحمر/رمادي فوري */
    transition: opacity 0.2s, height 0.2s;
}
.fnv-metric-box:hover::before { opacity: 1; height: 4px; }

.fnv-mb-sym {
    font-family: 'Readex Pro', sans-serif;   /* اسم عربي → خط عربي (لا mono) للتناسق */
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--fnv-ink-muted);
    margin-bottom: 4px;
    line-height: 1.45;
    white-space: normal;                    /* الاسم الطويل يلتفّ كاملاً بدل القصّ */
    min-height: 2.7em;                       /* محاذاة موحّدة للقيم عبر الخلايا */
}
.fnv-mb-val {
    font-family:"Readex Pro", sans-serif;
    font-size: .95rem;                      /* أصغر قليلاً → متوازن مع التسمية */
    font-weight: 800;
    color: var(--fnv-ink);
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.fnv-mb-chg {
    font-family:"Readex Pro", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--accent, #6b7280);
    margin-top: 2px;
    line-height: 1;
}

/* ── Editorial Metrics Strip ── */
/* ⛔ **كان الزوجُ يُقرأ شريطين لا بطاقة** (طلبُ المالك 2026-08-22:
     «قم بتنظيمها وجعلها موسّعةً تشمل بطاقةً كاملة»). قِيس على الصفحة
     الحيّة: الكتلةُ السوداءُ والشريطُ الأبيضُ **بعرضٍ واحدٍ وفجوةٍ صفر**
     — لكنّ **الجانبين مفتوحان** فلا إطارَ يجمعهما.
   ⚖ **والإغلاقُ بالحدّ لا بالظلّ ولا بالاستدارة** (ميثاق §4أ). */
.fnv-rpt-metrics-strip{
    background: var(--fnv-surface);
    border-bottom: 2px solid var(--fnv-ink);
    border-top: none;
    padding: 0;
    overflow: hidden;border-inline:2px solid var(--fnv-black);}
.fnv-rpt-metrics-inner {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    min-height: 48px;
    border-left: 2px solid var(--fnv-ink);
}
.fnv-rpt-metric-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-right: 2px solid var(--fnv-ink);
    border-left: none;
    flex-shrink: 0;
}
.fnv-rpt-metric-item--latest {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.fnv-rpt-metric-val {
    font-family:"Readex Pro", sans-serif !important;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--fnv-ink);
    line-height: 1;
}
.fnv-rpt-metric-val--mono { font-size: .85rem; }
.fnv-rpt-metric-lbl {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--fnv-ink-3);
    white-space: nowrap;
}
.fnv-rpt-metric-sep {
    width: 0;
    border-right: 2px solid var(--fnv-n-150);
    align-self: stretch;
    display: none; /* hidden — item borders handle it */
}
.fnv-rpt-metric-sep--grow { flex: 1; }
.fnv-rpt-metric-badge {
    display: inline-block;
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .8125rem;
    font-weight: 800;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    padding: 3px 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Mobile */
@media (max-width: 768px) {
    .fnv-rpt-metrics-strip { display: none; }
    .fnv-metrics-grid-wrap { margin: 0 -16px; }
    .fnv-metric-box { flex-basis: 104px; padding: 7px 12px 6px; }
    .fnv-mb-val { font-size: .96rem; }
}
@media (max-width: 480px) {
    .fnv-metrics-grid-wrap { margin: 0 -12px; }
    .fnv-metric-box { flex-basis: 92px; padding: 6px 9px 6px; }
    .fnv-mb-val { font-size: .88rem; }
    .fnv-mb-sym { font-size: .8125rem; }
    .fnv-mb-chg { font-size: .8125rem; }
}
/* Override any TinyMCE float/align on tables inside report articles */
/* Cover image removed — replaced by Pulse Strip */
.fnv-rpt-article blockquote { border-right: 4px solid var(--fnv-black); padding-right: 20px; margin: 24px 0; color: var(--fnv-ink-muted); font-weight: 600; font-style: italic; background: var(--fnv-n-25); padding: 20px; }

/* ═══ Paywall ═══ */
.fnv-rpt-paywall { position: relative; }
.fnv-rpt-paywall__preview {
    max-height: 260px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, transparent 90%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, transparent 90%);
    pointer-events: none;
    filter: blur(1.5px);
    opacity: .35;
    padding: 0 0 8px;
    user-select: none;
}
.fnv-rpt-paywall__overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px 8px;
}
.fnv-rpt-paywall__box {
    width: 100%;
    max-width: 480px;
    background: var(--fnv-surface);
    border: 2px solid var(--fnv-ink);
    box-shadow: none;
    overflow: hidden;
    text-align: center;
}
/* Type bar at the top of paywall */
.fnv-pw-type-bar {
    padding: 9px 20px;
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    font-weight: 800;
    color: var(--fnv-dark-text);
}
.fnv-pw-type-bar--daily       { background: var(--fnv-dark-bg); }
.fnv-pw-type-bar--pre_market  { background: var(--fnv-sq-7); }
.fnv-pw-type-bar--mid_session { background: var(--fnv-tint-pos); }
.fnv-pw-type-bar--alert       { background: var(--fnv-alert); }

.fnv-rpt-paywall__lock {
    margin: 28px auto 16px;
    color: var(--fnv-ink);
    display: flex;
    justify-content: center;
}
.fnv-rpt-paywall__title {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--fnv-ink);
    margin: 0 20px 10px;
    line-height: 1.5;
}
.fnv-rpt-paywall__sub {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: .9rem;
    color: var(--fnv-ink-muted);
    line-height: 1.75;
    margin: 0 24px 20px;
    font-weight: 500;
}
/* Value proof strip */
.fnv-pw-value-strip {
    background: var(--fnv-n-25);
    border-top: 1px solid var(--fnv-border);
    border-bottom: 1px solid var(--fnv-border);
    padding: 14px 20px;
    margin-bottom: 24px;
    text-align: center;
}
.fnv-pw-value-headline {
    font-family: 'Readex Pro', sans-serif;
    font-size: .9rem;
    font-weight: 800;
    color: var(--fnv-ink);
    margin: 0 0 10px;
    line-height: 1.5;
}
.fnv-pw-value-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 0;
}
.fnv-pw-value-pills span {
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-muted);
    background: var(--fnv-surface);
    border: 1px solid var(--fnv-border);
    padding: 3px 10px;
    letter-spacing: normal;
}
.fnv-rpt-paywall__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 24px;
    margin-bottom: 16px;
}
/* Primary CTA */
.fnv-pw-cta-primary {
    display: block;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text) !important;
    font-family: 'Readex Pro', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    padding: 14px 24px;
    text-decoration: none;
    border: 2px solid var(--fnv-dark-bg);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
    text-align: center;
}
.fnv-pw-cta-primary:hover { background: var(--fnv-dark-bg); }
/* Ghost CTA */
.fnv-pw-cta-ghost {
    display: block;
    background: var(--fnv-surface);
    color: var(--fnv-ink) !important;
    font-family: 'Readex Pro', sans-serif;
    font-size: .9rem;
    font-weight: 700;
    padding: 11px 24px;
    text-decoration: none;
    border: 2px solid var(--fnv-ink);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
    text-align: center;
}
.fnv-pw-cta-ghost:hover { background: var(--fnv-surface-2); }
.fnv-pw-fine {
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    color: var(--fnv-ink-3);
    padding: 0 24px 20px;
    margin: 0;
    text-align: center;
}

/* Card footer */
.fnv-rpt-card__footer {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 2px solid var(--fnv-black);
}

/* ═══ قمع المبيعات — Public Article Conversion ═══ */

/* Mid-funnel interrupt strip */
.fnv-pub-mid-cta {
    margin: 32px 0;
    border: 2px solid var(--fnv-dark-bg);
    background: var(--fnv-surface-2);
    padding: 20px 24px;
    position: relative;
}
.fnv-pub-mid-cta::before {
    content: 'FINVIRO PRO';
    position: absolute;
    top: -10px;
    right: 20px;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    font-family:"Readex Pro", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    padding: 2px 8px;
    letter-spacing: 1px;
}
.fnv-pub-mid-cta__inner {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    direction: rtl;
}
.fnv-pub-mid-cta__left { flex: 1; min-width: 220px; }
.fnv-pub-mid-cta__kicker {
    display: block;
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    color: var(--fnv-ink-3);
    margin-bottom: 8px;
}
.fnv-pub-mid-cta__text {
    font-size: 13px;
    line-height: 1.7;
    color: var(--fnv-ink-muted);
    margin: 0;
    font-family: 'Readex Pro', sans-serif;
}
.fnv-pub-mid-cta__btn {
    flex-shrink: 0;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text) !important;
    font-family: 'Readex Pro', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 12px 22px;
    text-decoration: none;
    border: 2px solid var(--fnv-dark-bg);
    white-space: nowrap;
    transition: background 0.2s;
}
.fnv-pub-mid-cta__btn:hover { background: var(--fnv-dark-bg); color: var(--fnv-dark-text) !important; }

/* End-of-article CTA */
.fnv-pub-end-cta {
    margin: 40px 0 0;
    border: 2px solid var(--fnv-dark-bg);
    background: var(--fnv-surface);
    direction: rtl;
}
.fnv-pub-end-cta__header {
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    padding: 20px 28px;
}
.fnv-pub-end-cta__eyebrow {
    display: block;
    font-family: 'Readex Pro', sans-serif;
    font-size: .8125rem;
    color: var(--fnv-ink-3);
    margin-bottom: 8px;
}
.fnv-pub-end-cta__title {
    font-size: 18px;
    font-weight: 800;
    margin: 0;
    font-family: 'Readex Pro', sans-serif;
}
.fnv-pub-end-cta__features {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-bottom: 1px solid var(--fnv-n-150);
}
.fnv-pub-end-cta__feat {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.fnv-pub-end-cta__feat-icon { font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.fnv-pub-end-cta__feat div { display: flex; flex-direction: column; gap: 3px; }
.fnv-pub-end-cta__feat strong { font-size: 14px; font-weight: 800; color: var(--fnv-ink); font-family: 'Readex Pro', sans-serif; }
.fnv-pub-end-cta__feat span { font-size: .8125rem; color: var(--fnv-ink-muted); line-height: 1.6; font-family: 'Readex Pro', sans-serif; }
.fnv-pub-end-cta__social-proof {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 16px 28px;
    background: var(--fnv-n-25);
    border-bottom: 1px solid var(--fnv-n-150);
    flex-wrap: wrap;
}
.fnv-pub-end-cta__sp-count { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.fnv-pub-end-cta__sp-num { font-family:"Readex Pro", sans-serif; font-size: 28px; font-weight: 900; color: var(--fnv-ink); line-height: 1; }
.fnv-pub-end-cta__sp-lbl { font-size: .8125rem; color: var(--fnv-ink-3); font-weight: 600; font-family: 'Readex Pro', sans-serif; margin-top: 4px; }
.fnv-pub-end-cta__sp-divider { width: 1px; height: 40px; background: var(--fnv-border); flex-shrink: 0; }
.fnv-pub-end-cta__sp-quote p { font-size: 13px; color: var(--fnv-ink-muted); line-height: 1.6; margin: 0 0 4px; font-style: italic; font-family: 'Readex Pro', sans-serif; }
.fnv-pub-end-cta__sp-quote span { font-size: .8125rem; color: var(--fnv-ink-3); font-family: 'Readex Pro', sans-serif; }
.fnv-pub-end-cta__actions {
    padding: 20px 28px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--fnv-n-150);
}
.fnv-pub-end-cta__primary {
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text) !important;
    font-family: 'Readex Pro', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 32px;
    text-decoration: none;
    border: 2px solid var(--fnv-dark-bg);
    transition: background 0.2s;
}
.fnv-pub-end-cta__primary:hover { background: var(--fnv-dark-bg); color: var(--fnv-dark-text) !important; }
.fnv-pub-end-cta__secondary {
    background: var(--fnv-surface);
    color: var(--fnv-ink) !important;
    font-family: 'Readex Pro', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 24px;
    text-decoration: none;
    border: 2px solid var(--fnv-dark-bg);
    transition: background 0.2s;
}
.fnv-pub-end-cta__secondary:hover { background: var(--fnv-surface-2); }
.fnv-pub-end-cta__fine {
    padding: 10px 28px;
    font-size: .8125rem;
    color: var(--fnv-ink-3);
    margin: 0;
    font-family: 'Readex Pro', sans-serif;
}

/* Sticky bottom bar — public article readers */
.fnv-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--fnv-dark-bg);
    color: var(--fnv-dark-text);
    z-index: 9990;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    direction: rtl;
    transform: translateY(100%);
    transition: transform 0.35s ease;
    border-top: 3px solid var(--fnv-up);
}
.fnv-sticky-bar.is-visible { transform: translateY(0); }
.fnv-sticky-bar__text {
    font-family: 'Readex Pro', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--fnv-n-150);
    flex: 1;
    min-width: 0;
}
.fnv-sticky-bar__text strong { color: var(--fnv-dark-text); }
/* ⛔ **زرُّ التسجيل كان غيرَ مقروء** (قِيس 2026-08-22 · `contrast-audit`):
     نصٌّ `#fff` على `--fnv-tint-pos` — وهي **صبغةٌ فاتحةٌ جدّاً** (‏rgb(229,255,229))
     لا لونٌ صلب ⇒ **1.06:1**. أي أنّ أهمَّ زرِّ تحويلٍ في صفحة الأرشيف
     كان يُقرأ فراغاً أخضرَ باهتاً.
   ⚖ **وأصغرُ إصلاحٍ صحيحٍ يُبقي التصميم**: يُقلَب النصُّ لا الخلفيّة —
     فتبقى الرقعةُ الخضراءُ الفاتحةُ كما صُمّمت ويصير النصُّ مقروءاً (~18:1).
   ⛔ **ولا `!important`** (‏قاعدة 3): لا مُنازِعَ هنا أصلاً. */
.fnv-sticky-bar__cta {
    background: var(--fnv-tint-pos);
    color: var(--fnv-ink);
    font-family: 'Readex Pro', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 20px;
    text-decoration: none;
    flex-shrink: 0;
    white-space: nowrap;
    border: 1px solid var(--fnv-up);
    transition: background 0.2s;
}
.fnv-sticky-bar__cta:hover { background: var(--fnv-tint-pos); color: var(--fnv-ink); }
.fnv-sticky-bar__close {
    background: transparent;
    border: none;
    color: var(--fnv-ink-3);
    font-size: 18px;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    /* ⚖ **المجالُ يتّسع والشكلُ لا:** الزرُّ كان 17×18 — يُرى ولا يكاد يُصاب،
         وهو **زرُّ إغلاق**: عجزُ المستخدم عن إخفاء الشريط أسوأُ من الشريط نفسِه.
         الحشوةُ ترفع الهدفَ إلى 44px مع بقاء المحرف «×» بحجمه. */
    padding: 0;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: -13px -8px;              /* لا يُزحزح ما جاوره رغم اتّساع المجال */
}
.fnv-sticky-bar__close:hover { color: var(--fnv-dark-text); }
@media (max-width: 576px) {
    .fnv-pub-mid-cta__inner { flex-direction: column; }
    .fnv-pub-end-cta__social-proof { flex-direction: column; gap: 12px; }
    .fnv-sticky-bar__text { font-size: .8125rem; }
}
.fnv-rpt-card__footer-brand {
    font-family:"Readex Pro", sans-serif !important;
    font-size: .8125rem;
    font-weight: 800;
    color: var(--fnv-black);
    letter-spacing: .15em;
}

/* Empty state */
.fnv-rpt-empty { text-align: center; padding: 60px 0; }
.fnv-rpt-empty__box {
    background: var(--fnv-white);
    border: 2px dashed var(--fnv-border);
    padding: 60px 32px;
    max-width: 500px;
    margin: 0 auto;
}
.fnv-rpt-empty__icon { display: block; font-size: 3rem; margin-bottom: 20px; color: var(--fnv-ink-3); }
.fnv-rpt-empty__title {
    font-family: 'Readex Pro', sans-serif !important;
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--fnv-black);
    margin-bottom: 10px;
}
.fnv-rpt-empty__sub { font-family: 'Readex Pro', sans-serif !important; color: var(--fnv-ink-3); font-size: .95rem; line-height: 1.7; font-weight: 600; }

/* ══════════════════════════════════════════════════════
   MOBILE & TABLET — FULL RESPONSIVE OVERHAUL
   ══════════════════════════════════════════════════════ */

/* ── Tablet (≤ 900px) ─────────────────────────────── */
@media (max-width: 900px) {

    /* Prevent horizontal overflow */
    html, body { overflow-x: hidden !important; max-width: 100vw; }
    .container  { padding-right: 14px !important; padding-left: 14px !important; }
    .pv3        { padding-left: 0; padding-right: 0; overflow-x: hidden; }

    /* Masthead */
    .fnv-rpt-masthead { padding: 28px 0 18px; }
    .fnv-rpt-masthead__inner  { flex-direction: column; align-items: stretch; gap: 18px; }
    .fnv-rpt-masthead__title  { font-size: 1.5rem !important; line-height: 1.3; }
    .fnv-rpt-masthead__sub    { font-size: .95rem !important; }
    .fnv-rpt-masthead__cta    { align-items: stretch; }
    .fnv-rpt-masthead__hint   { text-align: center; }

    /* Layout — single column */
    .fnv-rpt-layout { padding: 18px 0 60px; overflow: hidden; max-width: 100vw; }
    .fnv-rpt-grid   { grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
    .fnv-rpt-sidebar, .fnv-rpt-feed { min-width: 0; max-width: 100%; }
    .fnv-rpt-sidebar__sticky  { position: static; }
    .fnv-rpt-sidebar__label   { display: none; }
    .fnv-rpt-sidebar-cta      { display: none; }

    /* Horizontal pill navigation */
    .fnv-rpt-nav {
        flex-direction: row;
        gap: 6px;
        overflow-x: auto;
        padding: 4px 4px 14px;
        margin-bottom: 0;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-width: 100%;
    }
    .fnv-rpt-nav::-webkit-scrollbar { display: none; }
    .fnv-rpt-nav-btn {
        white-space: nowrap;
        min-width: max-content;
        flex-shrink: 0;
        padding: 9px 15px;
        font-size: .88rem !important;
    }
    .fnv-rpt-nav-divider { display: none; }

    /* Cards */
    .fnv-rpt-card {
        padding: 20px 16px;
        margin-bottom: 14px;
        box-shadow: none;
    }
    .fnv-rpt-card:hover { box-shadow: none; transform: translate(-1px, -1px); }
    .fnv-rpt-card__title { font-size: 1.1rem !important; line-height: 1.5; }
    .fnv-rpt-card__sub   { font-size: .82rem; }
    .fnv-rpt-card__actions { flex-direction: column; gap: 10px; align-items: flex-start; }
    .fnv-rpt-card__full-date { font-size: .8125rem; }

    /* Share strip — wraps on narrow screens */
    .fnv-share-strip { flex-wrap: wrap; gap: 5px; }

    /* Article typography */
    .fnv-rpt-article {
        font-size: 16px !important;       /* نفس الحجم الثابت على الهاتف */
        line-height: 1.95 !important;
    }
    .fnv-rpt-article p  { margin-bottom: 1.2em; }
    .fnv-rpt-article h2 { font-size: 1.15rem !important; margin-top: 1.5em; }
    .fnv-rpt-article h3 { font-size: 1.05rem !important; }

    /* Images — flat, no shadow on mobile */
    .fnv-rpt-article img:not([data-logo]) {
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin: 14px 0 !important;
        max-width: 100% !important;
    }

    /* TinyMCE-written paragraphs often carry inline text-align:center —
       override to RTL-start (right) so Arabic text stays readable on narrow screens */
    .fnv-rpt-article p,
    .fnv-rpt-article li,
    .fnv-rpt-article [style*="text-align: center"],
    .fnv-rpt-article [style*="text-align:center"] {
        text-align: right !important;
    }

    /* Blockquote */
    .fnv-rpt-article blockquote { padding: 14px 16px; font-size: .95rem; }

    /* Strict overflow control — text elements only, never tables */
    .fnv-rpt-article, .fnv-rpt-paywall__preview {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        overflow-x: hidden;
        width: 100%;
        box-sizing: border-box;
    }
    /* Apply word-break only to prose elements — NEVER touch table cells */
    .fnv-rpt-article p,
    .fnv-rpt-article li,
    .fnv-rpt-article h1,
    .fnv-rpt-article h2,
    .fnv-rpt-article h3,
    .fnv-rpt-article h4,
    .fnv-rpt-article h5,
    .fnv-rpt-article h6,
    .fnv-rpt-article span:not(table span),
    .fnv-rpt-article blockquote,
    .fnv-rpt-article figcaption,
    .fnv-rpt-paywall__preview p,
    .fnv-rpt-paywall__preview li {
        max-width: 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
    /* Images and embeds — constrain width but no white-space override */
    .fnv-rpt-article img,
    .fnv-rpt-article video,
    .fnv-rpt-article embed,
    .fnv-rpt-article object {
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box !important;
    }
    /* iframes (TradingView charts etc.) */
    .fnv-rpt-article iframe {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        min-height: 260px;
    }
    /* Scroll container — must NOT be constrained by max-width on the table inside */
    .fnv-tbl-scroll {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    /* Table headers must never wrap — protect Arabic column names */
    /* جدول التقرير: قابل للتمرير أفقياً بدل القصّ/الضغط على الموبايل */
    .fnv-rpt-article table { width: max-content !important; min-width: 100%; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .fnv-rpt-article th { white-space: nowrap !important; }
    .fnv-rpt-article td { white-space: nowrap !important; }
    /* الأرقام/الأسعار ($760.40) لا تنكسر؛ النص النثري داخل الخلية يلتفّ طبيعياً */
    .fnv-rpt-article td p { white-space: normal !important; word-break: break-word !important; }
    .fnv-rpt-article td span { white-space: nowrap !important; }
    /* الشعار داخل المحتوى: مقيّد العرض على الموبايل (إصلاح الشعار الضخم) */
    .fnv-rpt-article img[data-logo] { max-width: 150px !important; height: auto !important; }

    /* Paywall box */
    .fnv-rpt-paywall__overlay { padding: 16px; }
    .fnv-rpt-paywall__box {
        padding: 24px 16px;
        box-shadow: none;
    }
    .fnv-rpt-paywall__actions { flex-direction: column; width: 100%; }
    .fnv-rpt-paywall__actions a { width: 100%; text-align: center; }

    /* Print/PDF button — bigger tap target */
    .fnv-rpt-print-btn { padding: 8px 14px; font-size: .8rem; }
}

/* ── Small Mobile (≤ 480px) ──────────────────────── */
@media (max-width: 480px) {

    .container { padding-right: 12px !important; padding-left: 12px !important; }

    /* Masthead */
    .fnv-rpt-masthead { padding: 20px 0 14px; }
    .fnv-rpt-masthead__title { font-size: 1.3rem !important; }
    .fnv-rpt-masthead__kicker { font-size: .8125rem; letter-spacing: 0.1em; }

    /* Cards */
    .fnv-rpt-card {
        padding: 16px 12px;
        box-shadow: none;
        border-width: 1.5px;
    }
    .fnv-rpt-card__title { font-size: 1.0rem !important; }

    /* Article */
    .fnv-rpt-article { font-size: 1.06rem !important; line-height: 1.9 !important; }

    /* Images — completely flat on small screens */
    .fnv-rpt-article img:not([data-logo]) {
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        margin: 12px 0 !important;
    }

    /* Nav pills — smaller */
    .fnv-rpt-nav-btn { padding: 7px 12px !important; font-size: .82rem !important; }

    /* TOC — smaller on tiny screens */
    .fnv-report-toc { padding: 12px 14px; font-size: .85rem; }
    .fnv-toc-list { margin: 8px 0 0; gap: 6px; }
}

/* Animations setup */
.reveal-elem { opacity: 0; transform: translateY(20px); }

