/*
Theme Name: TraderNova
Theme URI: https://trader-nova.com
Author: TraderNova Team
Author URI: https://trader-nova.com
Description: پوسته حرفه‌ای تریدر نووا برای مقایسه بروکرهای فارکس، پراپ فرم‌ها و صرافی‌های ارز دیجیتال
Version: 1.0.183
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: tradernova
Tags: rtl-language, custom-colors, custom-menu, featured-images, full-width-template, two-columns, widgetized-sidebar
*/

@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/IRANSansX-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/IRANSansX-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/IRANSansX-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ============================================================
   CSS VARIABLES — TRADERNOVA BLUE PALETTE
   ============================================================ */
:root {
    --tn-primary:        #1B68E0;
    --tn-primary-dark:   #0D3A8A;
    --tn-primary-light:  #4D8FE8;
    --tn-primary-bg:     #EFF6FF;
    --tn-primary-bg2:    #F4F9FF;
    --tn-primary-border: #DBEAFE;

    --tn-header-bg:      #0A1628;
    --tn-header-dark:    #060E1C;
    --tn-dark:           #0A1628;

    --tn-white:          #FFFFFF;
    --tn-gray-50:        #F8FAFC;
    --tn-gray-100:       #F1F5F9;
    --tn-gray-200:       #E2E8F0;
    --tn-gray-300:       #CBD5E1;
    --tn-gray-400:       #94A3B8;
    --tn-gray-500:       #64748B;
    --tn-gray-600:       #475569;
    --tn-gray-700:       #334155;
    --tn-gray-800:       #1E293B;
    --tn-gray-900:       #0F172A;

    --tn-text:           #1A202C;
    --tn-text-light:     #4A5568;
    --tn-text-muted:     #718096;

    --tn-gold:           #F59E0B;
    --tn-gold-dark:      #D97706;
    --tn-green:          #059669;
    --tn-green-light:    #10B981;
    --tn-red:            #DC2626;
    --tn-orange:         #EA580C;

    --tn-shadow-sm:      0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
    --tn-shadow:         0 4px 12px rgba(0,0,0,.10);
    --tn-shadow-lg:      0 10px 30px rgba(0,0,0,.12);
    --tn-shadow-blue:    0 6px 20px rgba(27,104,224,.20);

    --tn-radius-sm:      6px;
    --tn-radius:         10px;
    --tn-radius-lg:      16px;
    --tn-smart-sidebar-footer-gap: 32px;
    --tn-radius-xl:      24px;

    --tn-font:           'IRANSansX', 'Tahoma', 'Arial', sans-serif;
    --tn-font-size:      15px;
    --tn-line-height:    1.8;

    --tn-transition:     all 0.25s ease;
    --tn-transition-fast: all 0.15s ease;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    direction: rtl;
    font-size: var(--tn-font-size);
    scroll-behavior: smooth;
}

body {
    font-family: var(--tn-font);
    color: var(--tn-text);
    background: var(--tn-white);
    line-height: var(--tn-line-height);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Native controls do not consistently inherit the document font. Keep every
   public-facing control aligned with the established Persian typeface. */
button,
input,
select,
textarea,
optgroup,
option {
    font-family: var(--tn-font) !important;
}

a { color: var(--tn-primary); text-decoration: none; transition: var(--tn-transition-fast); }
a:hover { color: var(--tn-primary-dark); }

img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--tn-radius);
}

ul, ol { list-style: none; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--tn-font);
    color: var(--tn-gray-800);
    line-height: 1.4;
    font-weight: 700;
}

p { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ============================================================
   TYPOGRAPHY SCALE
   ============================================================ */
h1 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); }
h2 { font-size: clamp(1.3rem, 2.5vw, 1.9rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.45rem); }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 0.95rem; }

small { font-size: 0.85rem; }

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.tn-container {
    width: var(--tn-site-width, 80%);
    max-width: var(--tn-site-max-width, 1600px);
    margin: 0 auto;
    padding: 0;
}

.tn-container-wide {
    width: min(calc(var(--tn-site-width, 80%) + 8%), calc(100% - 40px));
    max-width: calc(var(--tn-site-max-width, 1600px) + 120px);
    margin: 0 auto;
    padding: 0;
}

.tn-section { padding: 60px 0; }
.tn-section-sm { padding: 40px 0; }
.tn-section-lg { padding: 80px 0; }

.tn-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.tn-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tn-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tn-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.tn-grid-6 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }

.tn-flex { display: flex; }
.tn-flex-center { display: flex; align-items: center; }
.tn-flex-between { display: flex; align-items: center; justify-content: space-between; }
.tn-flex-wrap { flex-wrap: wrap; }
.tn-gap-2 { gap: 8px; }
.tn-gap-3 { gap: 12px; }
.tn-gap-4 { gap: 16px; }

.tn-text-center { text-align: center; }
.tn-text-start { text-align: right; }
.tn-text-end { text-align: left; }

.tn-mt-1 { margin-top: 4px; }
.tn-mt-2 { margin-top: 8px; }
.tn-mt-3 { margin-top: 12px; }
.tn-mt-4 { margin-top: 16px; }
.tn-mt-6 { margin-top: 24px; }
.tn-mt-8 { margin-top: 32px; }
.tn-mb-2 { margin-bottom: 8px; }
.tn-mb-4 { margin-bottom: 16px; }
.tn-mb-6 { margin-bottom: 24px; }
.tn-mb-8 { margin-bottom: 32px; }

.tn-bg-white { background: var(--tn-white); }
.tn-bg-light { background: var(--tn-primary-bg2); }
.tn-bg-primary { background: var(--tn-primary-bg); }
.tn-bg-dark { background: var(--tn-dark); }

.tn-hidden { display: none !important; }

/* ============================================================
   BUTTONS
   ============================================================ */
.tn-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: var(--tn-radius-sm);
    font-family: var(--tn-font);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--tn-transition);
    white-space: nowrap;
    border: none;
    line-height: 1;
}

.tn-btn-primary {
    background: var(--tn-primary);
    color: #fff;
    box-shadow: var(--tn-shadow-blue);
}
.tn-btn-primary:hover {
    background: var(--tn-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(27,104,224,.30);
}

.tn-btn-outline {
    background: transparent;
    color: var(--tn-primary);
    border: 2px solid var(--tn-primary);
}
.tn-btn-outline:hover {
    background: var(--tn-primary);
    color: #fff;
}

.tn-btn-white {
    background: #fff;
    color: var(--tn-primary);
    font-weight: 700;
}
.tn-btn-white:hover {
    background: var(--tn-primary-bg);
    color: var(--tn-primary-dark);
}

.tn-btn-dark {
    background: var(--tn-dark);
    color: #fff;
}

.tn-btn-green {
    background: var(--tn-green);
    color: #fff;
}
.tn-btn-green:hover {
    background: #047857;
    color: #fff;
    transform: translateY(-1px);
}

.tn-btn-sm { padding: 7px 16px; font-size: 0.82rem; }
.tn-btn-lg { padding: 14px 32px; font-size: 1rem; }

.tn-btn-block { display: flex; width: 100%; }

/* ============================================================
   CARDS
   ============================================================ */
.tn-card {
    background: #fff;
    border-radius: var(--tn-radius);
    border: 1px solid var(--tn-primary-border);
    overflow: hidden;
    transition: var(--tn-transition);
}
.tn-card:hover {
    box-shadow: var(--tn-shadow);
    border-color: var(--tn-primary-light);
    transform: translateY(-2px);
}

.tn-card-body { padding: 20px; }

/* ============================================================
   BADGES
   ============================================================ */
.tn-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}
.tn-badge-primary { background: var(--tn-primary-bg); color: var(--tn-primary); }
.tn-badge-green { background: #D1FAE5; color: var(--tn-green); }
.tn-badge-gold { background: #FEF3C7; color: var(--tn-gold-dark); }
.tn-badge-red { background: #FEE2E2; color: var(--tn-red); }
.tn-badge-dark { background: var(--tn-dark); color: #fff; }

/* ============================================================
   STAR RATINGS
   ============================================================ */
.tn-stars { display: inline-flex; gap: 2px; }
.tn-star { font-size: 1rem; color: var(--tn-gray-300); }
.tn-star.filled { color: var(--tn-gold); }
.tn-star.half { color: var(--tn-gold); opacity: 0.6; }

.tn-rating-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.tn-rating-score {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--tn-primary);
}
.tn-rating-text { font-size: 0.8rem; color: var(--tn-text-muted); }

/* ============================================================
   SECTION TITLES
   ============================================================ */
.tn-section-title {
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--tn-gray-800);
    margin-bottom: 8px;
}
.tn-section-subtitle {
    font-size: 1rem;
    color: var(--tn-text-muted);
    margin-bottom: 36px;
}
.tn-section-header {
    margin-bottom: 36px;
}
.tn-section-header .tn-label {
    display: inline-block;
    background: var(--tn-primary-bg);
    color: var(--tn-primary);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
    border-right: 3px solid var(--tn-primary);
}

/* ============================================================
   HEADER & NAVBAR
   ============================================================ */
/* ============================================================
   HEADER — white background, TraderNova style
   ============================================================ */
#tn-header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #e8ecf2;
    box-shadow: none;
    transition: box-shadow .25s ease;
}
#tn-header.scrolled {
    box-shadow: 0 2px 16px rgba(0,0,0,.09);
}

.tn-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
    gap: 20px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
}

.tn-logo { flex-shrink: 0; display: flex; align-items: center; }
.tn-logo img { height: 38px; width: auto; }

/* Search bar */
.tn-header-search {
    display: flex;
    align-items: center;
    background: #f4f6f9;
    border: 1px solid #e0e4ec;
    border-radius: 30px;
    padding: 0 14px;
    height: 40px;
    gap: 8px;
    flex: 0 0 220px;
    transition: border-color .2s, box-shadow .2s;
}
.tn-header-search:focus-within {
    border-color: var(--tn-primary);
    box-shadow: 0 0 0 3px rgba(27,104,224,.10);
    background: #fff;
}
.tn-header-search input {
    border: none; background: none; outline: none;
    font-size: 0.88rem; color: var(--tn-text);
    font-family: inherit; direction: rtl; width: 100%;
}
.tn-header-search input::placeholder { color: #aab; }
.tn-header-search button {
    background: none; border: none; cursor: pointer;
    color: #aab; padding: 0; display: flex; align-items: center;
    transition: color .2s;
}
.tn-header-search:focus-within button { color: var(--tn-primary); }

/* Nav wrapper */
.tn-nav-wrap { flex: 1; }
.tn-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    list-style: none;
    margin: 0; padding: 0;
}
.tn-nav > li { position: relative; list-style: none; }

.tn-nav > li > a {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 13px;
    color: #1a2b4b;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--tn-radius-sm);
    transition: color .15s, background .15s;
    white-space: nowrap;
}
.tn-nav > li > a:hover,
.tn-nav > li.active > a { color: var(--tn-primary); background: #eef3fd; }

.tn-nav > li > a .tn-arrow {
    font-size: 0.6rem;
    opacity: .6;
    transition: transform .2s;
}
.tn-nav > li:hover > a .tn-arrow { transform: rotate(180deg); }

/* Mega dropdown */
.tn-mega-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
    border: 1px solid #e8ecf2;
    min-width: 240px;
    padding: 12px;
    z-index: 999;
}
.tn-nav > li:hover .tn-mega-menu { display: block; }

/* Wide mega: 3 columns */
.tn-mega-menu.wide { min-width: 640px; }
.tn-nav > li:hover .tn-mega-menu.wide {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 8px;
}
.mega-col { display: flex; flex-direction: column; }

.tn-mega-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #1a2b4b;
    font-size: 0.875rem;
    transition: background .15s, color .15s;
}
.tn-mega-menu a:hover { background: #eef3fd; color: var(--tn-primary); }

.tn-mega-menu .mega-title {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--tn-primary);
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 6px 10px 4px;
    border-bottom: 1px solid #eef;
    margin-bottom: 4px;
}

/* Header actions */
.tn-header-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.tn-header-social { display: flex; gap: 6px; }
.tn-header-social a {
    width: 33px; height: 33px;
    border-radius: 50%;
    background: #f4f6f9;
    color: #5a6a8a;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.88rem;
    border: 1px solid #e0e4ec;
    transition: background .15s, color .15s, border-color .15s;
}
.tn-header-social a:hover { background: var(--tn-primary); color: #fff; border-color: var(--tn-primary); }

/* Mobile toggle */
.tn-menu-toggle {
    display: none; flex-direction: column; gap: 5px;
    cursor: pointer; padding: 8px; background: none; border: none;
}
.tn-menu-toggle span {
    display: block; width: 22px; height: 2px;
    background: #1a2b4b; border-radius: 2px; transition: var(--tn-transition);
}


/* ============================================================
   TOOLS INFO CARDS
   ============================================================ */
.tn-tools-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.tn-tool-info-card {
    display: flex;
    gap: 20px;
    background: var(--tn-gray-50);
    border: 1px solid var(--tn-border);
    border-radius: var(--tn-radius);
    padding: 28px 24px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s, transform .2s;
}
.tn-tool-info-card:hover {
    box-shadow: var(--tn-shadow-md);
    transform: translateY(-2px);
}
.tn-tool-info-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--tn-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}
.tn-tool-info-body h3 {
    font-size: 1.05rem;
    margin-bottom: 6px;
    color: var(--tn-text);
}
.tn-tool-info-body p {
    font-size: .85rem;
    color: var(--tn-text-muted);
    margin-bottom: 14px;
    line-height: 1.6;
}
.tn-tool-info-body ul {
    list-style: none;
    padding: 0; margin: 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.tn-tool-info-body ul li {
    font-size: .82rem;
    color: var(--tn-text);
    display: flex;
    align-items: center;
    gap: 6px;
}
.tn-tool-info-body ul li i { color: #10b981; font-size: .8rem; }
.tn-tool-cta {
    font-size: .85rem;
    font-weight: 700;
    color: var(--tn-primary);
    display: flex;
    align-items: center;
    gap: 5px;
}

/* ============================================================
   WHY TRADERNOVA GRID (blue bg)
   ============================================================ */
.tn-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.tn-why-item {
    text-align: center;
    color: #fff;
}
.tn-why-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0 auto 16px;
}
.tn-why-item h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}
.tn-why-item p {
    font-size: .85rem;
    color: rgba(255,255,255,.8);
    line-height: 1.7;
    margin: 0;
}

/* ============================================================
   BROKER DIRECTORY LINKS (SEO section)
   ============================================================ */
.tn-broker-dir-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.tn-broker-dir-col {
    background: var(--tn-gray-50);
    border-radius: var(--tn-radius);
    padding: 18px 16px 14px;
    border: 1px solid var(--tn-border);
}
.tn-broker-dir-title {
    font-size: .82rem;
    font-weight: 800;
    color: var(--tn-primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.tn-broker-dir-col ul {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tn-broker-dir-col ul li a {
    font-size: .82rem;
    color: var(--tn-text);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color .15s;
}
.tn-broker-dir-col ul li a::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    color: var(--tn-primary);
}
.tn-broker-dir-col ul li a:hover { color: var(--tn-primary); }

/* ============================================================
   HORIZONTAL BROKER SCROLL ROW
   ============================================================ */
.tn-broker-scroll-section {
    padding: 36px 0 28px;
    background: var(--tn-gray-50);
}
.tn-broker-scroll-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}
.tn-broker-scroll-header h2 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--tn-text);
    margin: 0;
}
.tn-broker-scroll-header .tn-view-all {
    font-size: .85rem;
    color: var(--tn-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}
.tn-broker-scroll-wrap {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: #dde2ed transparent;
    -webkit-overflow-scrolling: touch;
}
.tn-broker-scroll-wrap::-webkit-scrollbar { height: 4px; }
.tn-broker-scroll-wrap::-webkit-scrollbar-track { background: transparent; }
.tn-broker-scroll-wrap::-webkit-scrollbar-thumb { background: #dde2ed; border-radius: 2px; }

.tn-bscroll-card {
    flex: 0 0 240px;
    background: #fff;
    border: 1px solid var(--tn-border);
    border-radius: var(--tn-radius);
    padding: 18px 16px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    transition: box-shadow .2s, transform .2s;
    cursor: pointer;
}
.tn-bscroll-card:hover {
    box-shadow: var(--tn-shadow-md);
    transform: translateY(-3px);
}
.tn-bscroll-logo {
    width: 100%;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    background: var(--tn-gray-50);
    border-radius: var(--tn-radius-sm);
    padding: 8px;
    border: 1px solid var(--tn-border);
}
.tn-bscroll-logo img {
    max-width: 160px;
    max-height: 40px;
    object-fit: contain;
    width: 100%;
}
.tn-bscroll-name {
    font-size: .95rem;
    font-weight: 700;
    color: var(--tn-text);
    line-height: 1.3;
}
.tn-bscroll-stars {
    display: flex;
    align-items: center;
    gap: 2px;
    color: #f59e0b;
    font-size: .9rem;
    direction: ltr;
}
.tn-bscroll-stars .tn-bscroll-score {
    font-size: .78rem;
    color: var(--tn-text-muted);
    margin-right: 4px;
    font-weight: 600;
}
.tn-bscroll-features {
    width: 100%;
    border-top: 1px solid var(--tn-border);
    border-bottom: 1px solid var(--tn-border);
    padding: 8px 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.tn-bscroll-feat-row {
    display: flex;
    justify-content: space-between;
    font-size: .78rem;
    padding: 0 4px;
}
.tn-bscroll-feat-row span { color: var(--tn-text-muted); }
.tn-bscroll-feat-row strong { color: var(--tn-text); font-weight: 600; }
.tn-bscroll-actions {
    display: flex;
    gap: 6px;
    width: 100%;
    margin-top: 2px;
}
.tn-bscroll-actions .tn-btn {
    flex: 1;
    justify-content: center;
    font-size: .8rem;
    padding: 7px 6px;
}

/* ============================================================
   PAGE HERO / INNER BANNER
   ============================================================ */
.tn-page-hero {
    background: linear-gradient(135deg, var(--tn-header-bg) 0%, #0D2E6B 100%);
    padding: 50px 0 40px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.tn-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.tn-page-hero-content { position: relative; z-index: 1; }
.tn-page-hero h1 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: 10px; }
.tn-page-hero p { color: rgba(255,255,255,.75); font-size: 1rem; max-width: 600px; }

.tn-listing-hero-content {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.tn-listing-hero-content p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.tn-listing-hero-content .tn-breadcrumb,
.tn-broker-cornerstone > .tn-container > .tn-breadcrumb {
    justify-content: center;
}

.tn-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    padding: 7px 13px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.6;
    color: rgba(255,255,255,.5);
    margin-bottom: 14px;
}
.tn-breadcrumb a { color: rgba(255,255,255,.7); }
.tn-breadcrumb a:hover { color: #fff; }
.tn-breadcrumb .sep {
    display: inline-flex;
    align-items: center;
    color: currentColor;
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1;
    opacity: .52;
}

/* ============================================================
   HOMEPAGE HERO
   ============================================================ */
.tn-hero {
    background: #fff;
    padding: 70px 0 90px;
    position: relative;
    overflow: hidden;
}
.tn-hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 1;
}
.tn-hero-text h1 {
    color: #0d2260;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    line-height: 1.35;
    margin-bottom: 16px;
}
.tn-hero-text p {
    color: #3a5280;
    font-size: 1.05rem;
    margin-bottom: 28px;
}
.tn-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.tn-hero-image { text-align: center; }
.tn-hero-image img { max-height: 380px; filter: drop-shadow(0 20px 40px rgba(13,34,96,.18)); }

.tn-hero-brands {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid rgba(13,34,96,.1);
}
.tn-hero-brands-label {
    font-size: 0.82rem;
    color: #5a7090;
    margin-bottom: 14px;
}
.tn-hero-brands-grid {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.tn-hero-brands-grid img {
    height: 26px;
    width: auto;
    opacity: 0.7;
    filter: none;
    transition: opacity 0.2s;
}
.tn-hero-brands-grid img:hover { opacity: 1; }

/* ============================================================
   STATS BAR
   ============================================================ */
.tn-stats-bar {
    background: #fff;
    padding: 20px 0;
    border-bottom: 1px solid #e8ecf2;
    box-shadow: 0 2px 8px rgba(13,34,96,.05);
}
.tn-stats-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}
.tn-stat-item { color: var(--tn-text); }
.tn-stat-number {
    display: block;
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 4px;
    color: var(--tn-primary);
}
.tn-stat-label { font-size: 0.82rem; color: var(--tn-text-muted); }

/* ============================================================
   FEATURED BROKERS SECTION
   ============================================================ */
.tn-featured-section {
    padding: 60px 0;
    background: var(--tn-white);
}
.tn-broker-logo-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.tn-broker-logo-item {
    background: #fff;
    border: 1px solid var(--tn-primary-border);
    border-radius: var(--tn-radius);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--tn-transition);
    min-width: 120px;
}
.tn-broker-logo-item:hover {
    border-color: var(--tn-primary);
    box-shadow: var(--tn-shadow-blue);
    transform: translateY(-2px);
}
.tn-broker-logo-item img { height: 32px; width: auto; }

/* ============================================================
   BROKER CARD (used in list pages)
   ============================================================ */
.tn-broker-card {
    background: #fff;
    border: 1px solid var(--tn-primary-border);
    border-radius: var(--tn-radius-lg);
    padding: 24px;
    position: relative;
    transition: var(--tn-transition);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.tn-broker-card:hover {
    box-shadow: var(--tn-shadow);
    border-color: var(--tn-primary);
    transform: translateY(-2px);
}
.tn-broker-card.featured {
    border-color: var(--tn-primary);
    background: linear-gradient(to left, rgba(27,104,224,.03), #fff);
}

.tn-broker-card-rank {
    position: absolute;
    top: -1px;
    right: 24px;
    background: var(--tn-primary);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: 0 0 var(--tn-radius-sm) var(--tn-radius-sm);
}
.tn-broker-card-rank.gold { background: var(--tn-gold-dark); }

.tn-broker-card-logo {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: var(--tn-radius);
    border: 1px solid var(--tn-gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    padding: 8px;
}
.tn-broker-card-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

.tn-broker-card-body { flex: 1; min-width: 0; }

.tn-broker-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.tn-broker-card-name {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--tn-gray-800);
    margin: 0;
}
.tn-broker-card-reg {
    font-size: 0.8rem;
    color: var(--tn-text-muted);
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 2px;
}
.tn-broker-card-reg .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--tn-green);
    display: inline-block;
}

.tn-broker-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 16px;
    margin: 12px 0;
}
.tn-broker-feature {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.83rem;
    color: var(--tn-text-light);
}
.tn-broker-feature .label { color: var(--tn-text-muted); }
.tn-broker-feature .value { font-weight: 600; color: var(--tn-text); }

.tn-broker-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0; }

.tn-broker-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--tn-gray-100);
    flex-wrap: wrap;
}
.tn-broker-card-btns { display: flex; gap: 10px; }

/* ============================================================
   RANKING TABLE (cornerstone page)
   ============================================================ */
.tn-ranking-section {
    background: var(--tn-primary-bg);
    border-radius: var(--tn-radius-lg);
    padding: 24px;
    margin-bottom: 24px;
}
.tn-ranking-section h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--tn-gray-800);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--tn-primary-border);
    display: flex;
    align-items: center;
    gap: 8px;
}
.tn-ranking-section h3::before {
    content: '';
    width: 4px;
    height: 18px;
    background: var(--tn-primary);
    border-radius: 2px;
    display: block;
}
.tn-ranking-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--tn-primary-border);
}
.tn-ranking-row:last-child { border-bottom: none; padding-bottom: 0; }
.tn-ranking-num {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--tn-primary);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.tn-ranking-num.gold { background: var(--tn-gold-dark); }
.tn-ranking-num.silver { background: #94A3B8; }
.tn-ranking-num.bronze { background: #D97706; }
.tn-ranking-logo {
    width: 40px; height: 40px;
    border-radius: var(--tn-radius-sm);
    border: 1px solid var(--tn-gray-200);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff;
    padding: 4px;
    flex-shrink: 0;
}
.tn-ranking-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tn-ranking-name { flex: 1; font-weight: 600; font-size: 0.92rem; }
.tn-ranking-score {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tn-primary);
    white-space: nowrap;
}

/* ============================================================
   FILTER BAR
   ============================================================ */
.tn-filter-bar {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    box-shadow: var(--tn-shadow);
    padding: 20px 24px;
    margin-bottom: 28px;
    border: 1px solid var(--tn-primary-border);
}
.tn-filter-bar-inner {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.tn-search-wrap {
    flex: 1;
    min-width: 220px;
    position: relative;
}
.tn-search-wrap input {
    width: 100%;
    padding: 10px 16px 10px 40px;
    border: 1px solid var(--tn-gray-200);
    border-radius: var(--tn-radius);
    font-family: var(--tn-font);
    font-size: 0.9rem;
    color: var(--tn-text);
    transition: var(--tn-transition-fast);
    direction: rtl;
}
.tn-search-wrap input:focus {
    outline: none;
    border-color: var(--tn-primary);
    box-shadow: 0 0 0 3px rgba(27,104,224,.12);
}
.tn-search-wrap .search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--tn-text-muted);
    font-size: 0.9rem;
    pointer-events: none;
}
.tn-filter-select {
    padding: 10px 16px;
    border: 1px solid var(--tn-gray-200);
    border-radius: var(--tn-radius);
    font-family: var(--tn-font);
    font-size: 0.88rem;
    color: var(--tn-text);
    background: #fff;
    cursor: pointer;
    min-width: 160px;
    transition: var(--tn-transition-fast);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 12px center;
    padding-left: 32px;
}
.tn-filter-select:focus { outline: none; border-color: var(--tn-primary); }

.tn-filter-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.tn-filter-tab {
    padding: 7px 18px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--tn-gray-200);
    color: var(--tn-text-light);
    background: #fff;
    transition: var(--tn-transition-fast);
}
.tn-filter-tab:hover, .tn-filter-tab.active {
    background: var(--tn-primary-bg);
    color: var(--tn-primary);
    border-color: var(--tn-primary);
}

/* ============================================================
   CTA BANNER
   ============================================================ */
.tn-cta-banner {
    background: linear-gradient(135deg, var(--tn-primary) 0%, #0D3A8A 100%);
    border-radius: var(--tn-radius-xl);
    padding: 50px 48px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    overflow: hidden;
    position: relative;
}
.tn-cta-banner::before {
    content: '';
    position: absolute;
    top: -40px; left: -40px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
}
.tn-cta-banner::after {
    content: '';
    position: absolute;
    bottom: -60px; right: -60px;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
}
.tn-cta-text { position: relative; z-index: 1; }
.tn-cta-text h2 { color: #fff; font-size: 1.6rem; margin-bottom: 8px; }
.tn-cta-text p { color: rgba(255,255,255,.8); margin-bottom: 0; }
.tn-cta-action { position: relative; z-index: 1; flex-shrink: 0; }

/* ============================================================
   BLOG POSTS
   ============================================================ */
.tn-blog-card {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    overflow: hidden;
    border: 1px solid var(--tn-primary-border);
    transition: var(--tn-transition);
}
.tn-blog-card:hover {
    box-shadow: var(--tn-shadow);
    transform: translateY(-3px);
}
.tn-blog-card-img {
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--tn-primary-bg);
}
.tn-blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.tn-blog-card:hover .tn-blog-card-img img { transform: scale(1.05); }
.tn-blog-card-body { padding: 20px; }
.tn-blog-card-cat {
    display: inline-block;
    background: var(--tn-primary-bg);
    color: var(--tn-primary);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.tn-blog-card-title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tn-blog-card-title a { color: var(--tn-gray-800); }
.tn-blog-card-title a:hover { color: var(--tn-primary); }
.tn-blog-card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.78rem;
    color: var(--tn-text-muted);
    margin-top: 12px;
}

/* ============================================================
   TRADERNOVA ARTICLE ARCHIVE / SINGLE
   ============================================================ */
.blog #tn-header,
.archive.category #tn-header,
.archive.tag #tn-header,
.search #tn-header,
.single-post #tn-header {
    background: transparent;
    border-bottom: 0;
    box-shadow: none;
    padding-top: 24px;
}

.blog #tn-header.scrolled,
.archive.category #tn-header.scrolled,
.archive.tag #tn-header.scrolled,
.search #tn-header.scrolled,
.single-post #tn-header.scrolled {
    background: transparent;
    box-shadow: none;
}

.blog .tn-header-inner,
.archive.category .tn-header-inner,
.archive.tag .tn-header-inner,
.search .tn-header-inner,
.single-post .tn-header-inner {
    max-width: 1320px;
    height: 80px;
    padding: 0 24px;
    background: rgba(255,255,255,.9);
    border: 1px solid #e6ebf3;
    border-radius: 24px;
    box-shadow: 0 8px 28px rgba(24,45,80,.08);
    backdrop-filter: blur(18px);
}

.tn-article-archive,
.tn-single-article {
    padding: 58px 0 86px;
    background: #fff;
}

.tn-article-archive-head {
    max-width: 940px;
    margin: 0 auto 34px;
    text-align: center;
}

.tn-article-breadcrumb {
    margin-bottom: 34px;
}

.tn-article-breadcrumb .tn-breadcrumb {
    justify-content: center;
    margin: 0;
    padding: 8px 15px;
    border-color: #e5ebf4;
    background: #f7f9fc;
    color: #7f8ba0;
}

.tn-article-breadcrumb .tn-breadcrumb a {
    color: #7f8ba0;
}

.tn-article-archive-head h1 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 8px;
    color: #172949;
    font-size: clamp(1.65rem, 3vw, 2.05rem);
    font-weight: 950;
}

.tn-article-archive-head h1 i {
    color: var(--tn-primary);
}

.tn-article-archive-head p {
    color: #a0abc0;
    font-size: 1.12rem;
    font-weight: 800;
}

.tn-article-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 74px;
    align-items: start;
    direction: ltr;
}

.tn-article-layout > * {
    direction: rtl;
}

.tn-article-sidebar {
    position: sticky;
    top: var(--tn-smart-sticky-top, 122px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 1025px) {
    .tn-article-sidebar,
    .tn-sidebar,
    .tn-broker-guide-sidebar,
    .tn-entity-side-panel,
    .tn-entity-sticky-sidebar,
    .tn-tools-sidebar,
    .tn-tool-side-card {
        top: var(--tn-smart-sticky-top, 122px);
        align-self: start;
        will-change: top;
    }
}

.tn-article-main,
.tn-single-article-main {
    min-width: 0;
}

.tn-article-rebate-cta {
    padding: 20px;
    border-radius: 18px;
    background: linear-gradient(135deg, #3b78ff, #2452d7);
    color: #fff;
    text-align: center;
}

.tn-article-rebate-cta strong {
    display: block;
    margin-bottom: 14px;
    font-size: 1rem;
    font-weight: 950;
}

.tn-article-rebate-cta a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    border-radius: 10px;
    background: #fff;
    color: var(--tn-primary);
    font-weight: 900;
}

.tn-article-widget {
    overflow: hidden;
    border: 1px solid #e1e8f2;
    border-radius: 18px;
    background: #fff;
}

.tn-article-market-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-bottom: 1px solid #edf2f8;
}

.tn-article-market-tabs span {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7887a0;
    font-size: .82rem;
    font-weight: 900;
}

.tn-article-market-tabs .active {
    color: #172949;
    border-bottom: 3px solid #aebbc8;
}

.tn-article-market-head,
.tn-article-market-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1.1fr;
    gap: 8px;
    align-items: center;
    padding: 10px 14px;
}

.tn-article-market-head {
    color: #a6b0c2;
    font-size: .82rem;
    font-weight: 800;
}

.tn-article-market-row {
    color: #273c5d;
    font-size: .9rem;
}

.tn-article-market-row strong {
    color: #263a58;
}

.tn-article-market-row em {
    font-style: normal;
    font-size: .78rem;
    font-weight: 800;
}

.tn-article-market-row em.up { color: #14a778; }
.tn-article-market-row em.down { color: #ef4444; }

.tn-article-widget-more {
    display: block;
    padding: 12px 14px 16px;
    color: var(--tn-primary);
    text-align: center;
    font-weight: 900;
}

.tn-article-calendar {
    padding: 18px;
}

.tn-article-calendar h3 {
    margin: 0 0 14px;
    text-align: center;
    color: #172949;
    font-size: 1.02rem;
    font-weight: 950;
}

.tn-article-calendar div {
    padding: 12px;
    border: 1px solid #edf2f8;
    border-radius: 10px;
    margin-bottom: 10px;
}

.tn-article-calendar strong,
.tn-article-calendar span {
    display: block;
}

.tn-article-calendar strong {
    color: #263a58;
    font-size: .86rem;
}

.tn-article-calendar span {
    color: #7a889e;
    font-size: .78rem;
    margin-top: 4px;
}

.tn-context-sidebar {
    gap: 18px;
}

.tn-context-widget-head {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f8;
}

.tn-context-widget-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #172949;
    font-size: .98rem;
    font-weight: 950;
}

.tn-context-widget-head h3 i {
    color: var(--tn-primary);
}

.tn-context-widget-head a {
    color: var(--tn-primary);
    font-size: .8rem;
    font-weight: 900;
}

.tn-context-calendar-table-wrap {
    overflow: hidden;
}

.tn-context-calendar-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.tn-context-calendar-table th,
.tn-context-calendar-table td {
    padding: 10px 10px;
    border-bottom: 1px solid #eef2f8;
    vertical-align: top;
    text-align: right;
}

.tn-context-calendar-table th {
    color: #9aa7bb;
    background: #f8fbff;
    font-size: .72rem;
    font-weight: 900;
}

.tn-context-calendar-table th:nth-child(1),
.tn-context-calendar-table td:nth-child(1) {
    width: 48px;
    direction: ltr;
    color: #65758f;
    font-size: .78rem;
    font-weight: 850;
    text-align: center;
}

.tn-context-calendar-table th:nth-child(2),
.tn-context-calendar-table td:nth-child(2) {
    width: 50px;
    text-align: center;
}

.tn-context-calendar-table th:nth-child(4),
.tn-context-calendar-table td:nth-child(4) {
    width: 58px;
    text-align: center;
}

.tn-context-calendar-table td strong {
    display: inline-flex;
    min-width: 38px;
    justify-content: center;
    padding: 2px 6px;
    border-radius: 999px;
    background: #eef5ff;
    color: var(--tn-primary);
    font-size: .72rem;
    font-weight: 950;
}

.tn-context-calendar-table td span {
    display: block;
    overflow: hidden;
    color: #263a58;
    font-size: .8rem;
    font-weight: 900;
    line-height: 1.65;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tn-context-calendar-table td small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: #8794aa;
    font-size: .7rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tn-context-calendar-table em {
    display: inline-flex;
    min-width: 40px;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 999px;
    color: #fff;
    background: #94a3b8;
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
}

.tn-context-calendar-table em.impact-high {
    background: #ef4444;
}

.tn-context-calendar-table em.impact-medium {
    background: #f59e0b;
}

.tn-context-calendar-table tr:last-child td {
    border-bottom: 0;
}

.tn-context-calendar-empty {
    padding: 16px;
}

.tn-context-calendar-empty a {
    min-height: 38px;
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eef5ff;
    color: var(--tn-primary);
    font-weight: 900;
}

.tn-context-post-list {
    display: flex;
    flex-direction: column;
}

.tn-context-post-row {
    display: block;
    padding: 13px 16px;
    border-bottom: 1px solid #eef2f8;
}

.tn-context-post-row:last-child {
    border-bottom: 0;
}

.tn-context-post-row strong {
    display: block;
    color: #263a58;
    font-size: .88rem;
    line-height: 1.8;
    font-weight: 900;
}

.tn-context-post-row span {
    display: block;
    margin-top: 3px;
    color: #8b98ad;
    font-size: .76rem;
    font-weight: 700;
}

.tn-context-post-row:hover {
    background: #f7faff;
}

.tn-context-sidebar-ad {
    overflow: hidden;
    display: block;
    border: 1px solid #e1e8f2;
    border-radius: 18px;
    background: #fff;
}

.tn-context-sidebar-ad img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.tn-context-academy-list {
    margin: 0;
    padding: 6px 0;
    list-style: none;
    counter-reset: tn-academy;
}

.tn-context-academy-list li {
    counter-increment: tn-academy;
}

.tn-context-academy-list a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 16px;
    color: #263a58;
    font-size: .84rem;
    line-height: 1.75;
    font-weight: 850;
}

.tn-context-academy-list a::before {
    content: counter(tn-academy);
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef5ff;
    color: var(--tn-primary);
    font-size: .72rem;
    font-weight: 950;
}

.tn-context-academy-list a:hover {
    background: #f7faff;
    color: var(--tn-primary);
}

.tn-context-empty {
    margin: 0;
    padding: 16px;
    color: #8b98ad;
    font-size: .84rem;
}

.tn-article-featured-card {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin-bottom: 32px;
    padding: 24px;
    border: 1px solid #dfe7f2;
    border-radius: 18px;
    background: #fff;
}

.tn-article-featured-image,
.tn-article-list-image,
.tn-single-article-image {
    overflow: hidden;
    border-radius: 10px;
    background: #eef4fb;
}

.tn-article-featured-image {
    min-height: 0;
    aspect-ratio: 16 / 9;
    align-self: center;
}

.tn-article-list-image {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
    align-self: center;
}

.tn-article-featured-image img,
.tn-article-list-image img,
.tn-single-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tn-article-placeholder {
    width: 100%;
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef4fb;
    color: #8ba2bf;
    font-size: 2.8rem;
}

.tn-article-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 8px;
    background: #eef4ff;
    color: var(--tn-primary);
    font-size: .78rem;
    font-weight: 900;
}

.tn-article-featured-body h2 {
    margin: 14px 0 12px;
    color: #172949;
    font-size: clamp(1.25rem, 2.2vw, 1.55rem);
    line-height: 1.65;
    font-weight: 950;
}

.tn-article-featured-body h2 a,
.tn-article-list-body h2 a {
    color: inherit;
}

.tn-article-featured-body p {
    color: #3d506d;
    line-height: 2.05;
}

.tn-article-featured-controls {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 18px;
}

.tn-article-featured-controls a {
    width: 42px;
    height: 42px;
    border: 1px solid #e0e7f2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4e5f79;
}

.tn-article-tabs {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dfe7f2;
    overflow-x: auto;
}

.tn-article-tabs a {
    min-width: max-content;
    padding-bottom: 12px;
    border-bottom: 3px solid transparent;
    color: #74839b;
    font-weight: 900;
}

.tn-article-tabs a.active,
.tn-article-tabs a:hover {
    color: var(--tn-primary);
    border-bottom-color: var(--tn-primary);
}

.tn-article-list {
    display: grid;
    gap: 18px;
}

.tn-article-list-card {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
    align-items: stretch;
    min-height: 170px;
    padding: 0;
    border: 1px solid #dfe7f2;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.tn-article-list-image {
    border-radius: 0;
}

.tn-article-list-body {
    padding: 22px 22px 18px;
    display: flex;
    flex-direction: column;
}

.tn-article-list-body h2 {
    margin: 0 0 10px;
    color: #172949;
    font-size: 1.12rem;
    line-height: 1.65;
    font-weight: 950;
}

.tn-article-list-body p {
    color: #5d6d85;
    line-height: 1.95;
    margin-bottom: auto;
}

.tn-article-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 14px;
    color: #9aa6b8;
    font-size: .82rem;
}

.tn-article-empty {
    padding: 80px 20px;
    color: #8da0b8;
    text-align: center;
}

.tn-article-empty i {
    display: block;
    margin-bottom: 12px;
    font-size: 3rem;
    opacity: .55;
}

/* ============================================================
   ACADEMY ARTICLE HUB
   ============================================================ */
.tn-academy-archive {
    padding: 58px 0 90px;
    background: #fff;
}

.tn-academy-head {
    max-width: 1040px;
    margin: 0 auto 32px;
    padding: 34px clamp(22px, 5vw, 64px) 38px;
    border: 1px solid #e2eaf6;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(24, 53, 98, .08);
    text-align: center;
}

.tn-academy-head .tn-article-breadcrumb {
    margin-bottom: 24px;
}

.tn-academy-head .tn-breadcrumb {
    margin-inline: auto;
}

.tn-academy-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 7px 13px;
    border: 1px solid #d7e4f7;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: #2369cf;
    font-size: .82rem;
    font-weight: 900;
}

.tn-academy-head h1 {
    margin: 0 0 12px;
    color: #142a50;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 950;
    line-height: 1.35;
}

.tn-academy-head p {
    max-width: 720px;
    margin: 0 auto;
    color: #71809a;
    font-size: 1.02rem;
    font-weight: 650;
    line-height: 2;
}

.tn-academy-topics {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 auto 30px;
}

.tn-academy-topics a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 7px 15px;
    border: 1px solid #e2e8f2;
    border-radius: 999px;
    background: #fff;
    color: #5e6e88;
    font-size: .86rem;
    font-weight: 850;
    box-shadow: 0 5px 16px rgba(31, 55, 91, .04);
    transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

.tn-academy-topics a:hover,
.tn-academy-topics a.active {
    border-color: #b8d1f7;
    background: #eaf3ff;
    color: #1b68e0;
    transform: translateY(-1px);
}

.tn-academy-topics a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    border-radius: 999px;
    background: #f0f3f8;
    color: #8491a6;
    font-size: .72rem;
}

.tn-academy-topics a.active span {
    background: #fff;
    color: #1b68e0;
}

.tn-academy-featured-card {
    display: grid;
    grid-template-columns: minmax(320px, 1.05fr) minmax(0, .95fr);
    align-items: stretch;
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid #dfe7f2;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(22, 49, 88, .09);
    direction: ltr;
}

.tn-academy-featured-card > * {
    direction: rtl;
}

.tn-academy-featured-image,
.tn-academy-grid-image {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eef4fb;
}

.tn-academy-featured-image {
    height: 100%;
    min-height: 100%;
}

.tn-academy-featured-image img,
.tn-academy-grid-image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}

.tn-academy-featured-image .tn-article-placeholder,
.tn-academy-grid-image .tn-article-placeholder {
    height: 100%;
    min-height: 0;
}

.tn-academy-featured-card:hover .tn-academy-featured-image img,
.tn-academy-grid-card:hover .tn-academy-grid-image img {
    transform: scale(1.035);
}

.tn-academy-featured-body {
    padding: clamp(24px, 4vw, 46px);
}

.tn-academy-card-topline,
.tn-academy-featured-footer,
.tn-academy-grid-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tn-academy-card-topline > span,
.tn-academy-grid-meta > span {
    color: #8d9aae;
    font-size: .8rem;
    font-weight: 700;
}

.tn-academy-topic {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eaf3ff;
    color: #1b68e0;
    font-size: .75rem;
    font-weight: 900;
}

.tn-academy-featured-body h2 {
    margin: 16px 0 12px;
    color: #172949;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 950;
    line-height: 1.55;
}

.tn-academy-featured-body h2 a,
.tn-academy-grid-body h2 a {
    color: inherit;
}

.tn-academy-featured-body p {
    margin-bottom: 22px;
    color: #5f6f87;
    line-height: 2;
}

.tn-academy-featured-footer {
    padding-top: 17px;
    border-top: 1px solid #edf1f6;
    color: #8290a5;
    font-size: .82rem;
}

.tn-academy-featured-footer a,
.tn-academy-grid-meta a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #1b68e0;
    font-weight: 900;
}

.tn-academy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.tn-academy-grid-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe7f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(25, 50, 88, .055);
    transition: transform .2s ease, box-shadow .2s ease;
}

.tn-academy-grid-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(25, 50, 88, .1);
}

.tn-academy-grid-image .tn-academy-topic {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(8px);
}

.tn-academy-grid-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 20px 17px;
}

.tn-academy-grid-body h2 {
    margin: 0 0 10px;
    color: #172949;
    font-size: 1.02rem;
    font-weight: 950;
    line-height: 1.68;
}

.tn-academy-grid-body p {
    display: -webkit-box;
    margin-bottom: 18px;
    overflow: hidden;
    color: #67768d;
    font-size: .88rem;
    line-height: 1.95;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.tn-academy-grid-meta {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf1f6;
    font-size: .8rem;
}

.tn-academy-pagination {
    margin-top: 36px;
}

.tn-academy-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tn-academy-pagination a,
.tn-academy-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 7px 12px;
    border: 1px solid #dfe7f2;
    border-radius: 11px;
    background: #fff;
    color: #65758c;
    font-weight: 850;
}

.tn-academy-pagination .current,
.tn-academy-pagination a:hover {
    border-color: #1b68e0;
    background: #1b68e0;
    color: #fff;
}

.tn-content-hub-top-content {
    width: 100%;
    max-width: none;
    margin: 16px auto 0;
    color: #5f6f87;
    font-size: 1rem;
    line-height: 2.05;
    text-align: right;
}

.tn-academy-head .tn-content-hub-top-content p,
.tn-content-hub-top-content ul,
.tn-content-hub-top-content ol {
    max-width: none;
    margin: 0 0 1.25em;
}

.tn-content-hub-top-content > :last-child,
.tn-content-hub-bottom-content > :last-child {
    margin-bottom: 0;
}

.tn-content-hub-top-content h2,
.tn-content-hub-top-content h3,
.tn-content-hub-bottom-content h2,
.tn-content-hub-bottom-content h3 {
    color: #172949;
    line-height: 1.65;
}

.tn-content-hub-bottom-content {
    max-width: 1120px;
    margin: 48px auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #53657e;
    font-size: 1rem;
    line-height: 2.1;
}

.tn-content-hub-bottom-content p,
.tn-content-hub-bottom-content ul,
.tn-content-hub-bottom-content ol {
    margin-bottom: 1.25em;
}

.tn-content-hub-bottom-content a {
    color: #1b68e0;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tn-content-hub-top-content .wp-block-table,
.tn-content-hub-bottom-content .wp-block-table {
    max-width: 100%;
    margin: 22px 0;
    overflow-x: auto;
}

.tn-content-hub-top-content table,
.tn-content-hub-bottom-content table {
    width: 100%;
    max-width: 100%;
    margin: 22px 0;
    border: 1px solid #dbe4f0;
    border-collapse: collapse;
    background: #fff;
    color: #263a58;
    font-size: .95rem;
}

.tn-content-hub-top-content .wp-block-table table,
.tn-content-hub-bottom-content .wp-block-table table {
    margin: 0;
}

.tn-content-hub-top-content th,
.tn-content-hub-top-content td,
.tn-content-hub-bottom-content th,
.tn-content-hub-bottom-content td {
    padding: 12px 14px;
    border: 1px solid #dbe4f0;
    text-align: right;
    vertical-align: top;
}

.tn-content-hub-top-content th,
.tn-content-hub-bottom-content th {
    background: #f5f7fc;
    color: #172949;
    font-weight: 900;
}

@media (max-width: 1024px) {
    .tn-academy-featured-card {
        grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr);
    }

    .tn-academy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ============================================================
   TRADERNOVA NAV BEHAVIOR, LIVE SEARCH & IMAGE-BASED HOME UI
   ============================================================ */
#tn-header {
    padding: var(--tn-header-top-gap, 20px) 0 12px;
    transition: padding .24s ease;
}

#tn-header .tn-header-inner {
    width: min(var(--tn-header-max-width, 1140px), calc(100vw - 48px));
    height: var(--tn-header-height, 80px);
    background: rgba(255, 255, 255, var(--tn-header-opacity, .85));
    border-radius: var(--tn-header-radius, 24px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, calc(var(--tn-header-shadow-opacity, .04) * .5)), 0 4px 8px rgba(0, 0, 0, var(--tn-header-shadow-opacity, .04));
    -webkit-backdrop-filter: blur(var(--tn-header-blur, 20px));
    backdrop-filter: blur(var(--tn-header-blur, 20px));
    transition: width .24s ease, max-width .24s ease, border-radius .24s ease, background-color .24s ease, box-shadow .24s ease, backdrop-filter .24s ease;
}

#tn-header.scrolled {
    padding: 0;
}

#tn-header.scrolled .tn-header-inner {
    width: 100%;
    max-width: 100%;
    border-color: rgba(229, 234, 242, .78);
    border-radius: 0;
    background: rgba(255, 255, 255, var(--tn-header-scroll-opacity, .85));
    box-shadow: 0 2px 10px rgba(0, 0, 0, var(--tn-header-scroll-shadow-opacity, .10));
    -webkit-backdrop-filter: blur(var(--tn-header-scroll-blur, 20px));
    backdrop-filter: blur(var(--tn-header-scroll-blur, 20px));
}

#tn-header .tn-mega-menu.tn-mega-modern,
#tn-header .tn-mega-menu.tn-mega-modern.wide {
    z-index: 1100;
    width: var(--tn-mega-width, min(var(--tn-header-max-width, 1140px), calc(100vw - 48px)));
    max-width: 100vw;
    top: calc(100% + var(--tn-mega-gap, 9px));
    border-radius: var(--tn-mega-radius, 24px);
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, var(--tn-mega-shadow-opacity, .15));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.tn-mega-page-overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, var(--tn-mega-overlay-opacity, .25));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
}

body.tn-mega-open .tn-mega-page-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.tn-mega-open #tn-header {
    z-index: 1000;
}

#tn-header .tn-header-search {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 190px;
    width: 190px;
    height: 36px;
    padding: 0 10px;
    overflow: visible;
    border: 1px solid #e6ebf3;
    border-radius: 12px;
    background: rgba(255, 255, 255, .92);
}

#tn-header .tn-header-search button {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8a9ab5;
    cursor: pointer;
}

#tn-header .tn-header-search input {
    width: 100%;
    min-width: 0;
    height: 34px;
    padding: 0 6px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #253b73;
    font: inherit;
    font-size: 12px;
}

#tn-header .tn-header-search-trigger {
    display: none;
}

.tn-live-search {
    position: relative;
}

.tn-live-search-results {
    position: absolute;
    z-index: 3200;
    top: calc(100% + 10px);
    right: 0;
    width: min(460px, calc(100vw - 32px));
    max-height: min(480px, 62vh);
    padding: 8px;
    overflow: auto;
    border: 1px solid #e3eaf4;
    border-radius: 16px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 18px 48px rgba(25, 48, 86, .18);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    direction: rtl;
}

.tn-live-search-results[hidden] {
    display: none !important;
}

.tn-live-search-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 58px;
    padding: 7px 8px;
    border-radius: 11px;
    color: #172a4f;
    text-decoration: none;
}

.tn-live-search-item:hover,
.tn-live-search-item:focus-visible,
.tn-live-search-item.is-active {
    background: #f0f5ff;
    color: #155fcc;
    outline: 0;
}

.tn-live-search-thumb {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    border: 1px solid #e7edf5;
    border-radius: 10px;
    background: #f5f8fc;
    color: #2b73dd;
}

.tn-live-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tn-live-search-copy {
    min-width: 0;
}

.tn-live-search-copy strong,
.tn-live-search-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tn-live-search-copy strong {
    font-size: 13px;
    line-height: 1.7;
}

.tn-live-search-copy small {
    margin-top: 2px;
    color: #8795aa;
    font-size: 11px;
}

.tn-live-search-type {
    padding: 3px 8px;
    border-radius: 999px;
    background: #edf4ff;
    color: #2d6fcf;
    font-size: 10px;
    white-space: nowrap;
}

.tn-live-search-message {
    padding: 18px 12px;
    color: #77869d;
    font-size: 13px;
    text-align: center;
}

.tn-search-overlay-form .tn-live-search-results {
    top: calc(100% + 18px);
    width: 100%;
}

.irx-search.tn-live-search {
    position: relative;
    overflow: visible;
}

.irx-search .tn-live-search-results {
    top: calc(100% + 10px);
    right: 0;
    width: 100%;
}

.irx-hero::before,
.irx-hero::after {
    content: none !important;
    display: none !important;
}

.irx-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 430px;
}

.irx-hero-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 430px;
    object-fit: contain;
    filter: drop-shadow(0 26px 28px rgba(25, 58, 105, .17));
}

.irx-tool-visual {
    overflow: hidden;
}

.irx-tool-custom-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: center;
}

.irx-articles .irx-section-head.compact {
    direction: rtl;
    justify-content: flex-start;
    text-align: right;
}

.irx-tab-view-all {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-width: 132px;
    min-height: 40px;
    margin: 28px auto 0;
    padding: 0 22px;
    border: 1px solid #1b68e0;
    border-radius: 9px;
    background: #fff;
    color: #1b68e0;
    font-size: 13px;
    font-weight: 800;
}

.irx-tab-view-all:hover {
    background: #1b68e0;
    color: #fff;
}

.irx-home.irx-faq-wrap {
    padding: 48px 0 64px;
    background: #fff;
}

.irx-home.irx-faq-wrap .irx-faq-grid {
    grid-template-columns: 262px minmax(0, 1fr);
    gap: 34px;
}

.irx-home.irx-faq-wrap .irx-help-card {
    border-radius: 8px;
    background: #f4f6fb;
    box-shadow: none;
}

.irx-home.irx-faq-wrap .tn-faq-item {
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

@media (max-width: 1024px) {
    #tn-header,
    #tn-header.scrolled {
        padding: 8px 0 10px;
    }

    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner {
        width: calc(100% - 24px);
        height: 64px;
        border-radius: 18px;
    }

    #tn-header .tn-header-search {
        display: none;
    }

    #tn-header .tn-header-search-trigger {
        display: inline-flex;
    }

    .tn-mega-page-overlay {
        display: none;
    }

    .irx-hero-visual {
        height: 360px;
        transform: none;
    }

    .irx-hero-image {
        max-height: 360px;
    }

    .irx-tool-custom-image {
        min-height: 300px;
    }
}

@media (max-width: 640px) {
    .irx-hero-visual {
        width: 100%;
        height: 320px;
        transform: none;
    }

    .irx-hero-image {
        max-height: 320px;
    }

    .irx-tool-custom-image {
        min-height: 230px;
    }

    .irx-home.irx-faq-wrap .irx-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .tn-academy-archive {
        padding: 34px 0 60px;
    }

    .tn-academy-head {
        padding: 26px 18px 30px;
        border-radius: 22px;
    }

    .tn-academy-topics {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 2px 1px 10px;
    }

    .tn-academy-featured-card,
    .tn-academy-grid {
        grid-template-columns: 1fr;
    }

    .tn-academy-featured-body {
        padding: 23px 20px;
    }
}

.tn-single-article .tn-article-breadcrumb {
    margin-bottom: 48px;
}

.tn-single-article-hero {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
    margin-bottom: 24px;
    direction: rtl;
}

.tn-single-article-hero > * {
    direction: rtl;
}

.tn-single-article-image {
    display: block;
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 14px;
    background: transparent;
}

.tn-single-article-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    margin: 0;
}

.tn-single-article-head h1 {
    width: 100%;
    margin: 12px 0 18px;
    color: #172949;
    font-size: clamp(1.9rem, 3.6vw, 2.65rem);
    line-height: 1.5;
    font-weight: 950;
}

.tn-single-article-meta {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 14px 20px;
    width: 100%;
    margin-bottom: 0;
    color: #9aa6b8;
    font-size: .86rem;
}

.tn-single-article-meta > span,
.tn-single-article-meta > a.author {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    padding: 0 0 0 18px;
    border: 0;
    border-left: 1px solid #dfe7f2;
    border-radius: 0;
    background: transparent;
}

.tn-single-article-meta a.author {
    color: inherit;
    text-decoration: none;
}

.tn-single-article-meta a.author:hover strong {
    color: var(--tn-primary);
}

.tn-single-article-meta > a.author > span,
.tn-single-article-meta > span.published > span {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.tn-single-article-meta small {
    color: inherit;
    font-size: .8rem;
    line-height: inherit;
    font-weight: 500;
}

.tn-single-article-meta > span:last-child {
    padding-left: 0;
    border-left: 0;
}

.tn-single-article-meta img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
}

.tn-single-article-meta strong {
    color: #64748b;
    font-size: .9rem;
    font-weight: 900;
}

.tn-single-article-meta small + strong {
    margin-inline-start: 6px;
}

.tn-single-article-head p {
    color: #263a58;
    font-size: 1.02rem;
    line-height: 2.18;
}

.tn-single-ai-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
    color: #4d5f79;
    font-weight: 800;
}

.tn-single-ai-row a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid #dfe7f2;
    border-radius: 8px;
    background: #fff;
    color: #53667f;
}

.tn-single-article-layout {
    align-items: start;
}

.tn-article-summary-box {
    margin-bottom: 34px;
    padding: 28px 32px;
    border-radius: 10px;
    background: #eaf3ff;
    color: #445875;
    line-height: 2.12;
}

.tn-article-summary-box h2 {
    margin: 0 0 14px;
    color: #283b58;
    font-size: 1.2rem;
    font-weight: 950;
}

.tn-single-article-content {
    color: #172949;
    font-size: 1.08rem;
    line-height: 2.22;
}

.tn-single-article-content > :first-child {
    margin-top: 0;
}

.tn-single-article-content h2 {
    margin-top: 42px;
    border-bottom: 0;
    color: #172949;
    font-size: 1.72rem;
    font-weight: 950;
}

.tn-single-article-content h3 {
    color: #223653;
    font-size: 1.3rem;
    font-weight: 950;
}

.tn-single-article-comments {
    margin-top: 42px;
    padding-top: 26px;
    border-top: 1px solid #dfe7f2;
}

.tn-article-toc-side {
    overflow: hidden;
    border: 1px solid #dfe7f2;
    border-radius: 10px;
    background: #fff;
}

.tn-article-toc-side strong {
    display: block;
    padding: 14px 16px;
    border-bottom: 1px solid #e8eef6;
    color: #172949;
    font-weight: 950;
}

.tn-article-toc-side a {
    display: block;
    padding: 10px 16px;
    border-bottom: 1px solid #eef2f8;
    color: #72819a;
    font-size: .84rem;
    line-height: 1.75;
}

.tn-article-toc-side a.child {
    padding-right: 28px;
    color: #8d9aaf;
}

.tn-article-toc-side a:hover {
    color: var(--tn-primary);
    background: #f6f9ff;
}

@media (max-width: 1120px) {
    .tn-article-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 36px;
    }
}

@media (max-width: 1024px) {
    .tn-article-layout {
        grid-template-columns: 1fr;
        direction: rtl;
    }
    .tn-article-sidebar {
        position: static;
        order: 2;
    }
    .tn-single-article-image {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .blog #tn-header,
    .archive.category #tn-header,
    .archive.tag #tn-header,
    .search #tn-header,
    .single-post #tn-header {
        padding: 10px 10px 0;
    }
    .blog .tn-header-inner,
    .archive.category .tn-header-inner,
    .archive.tag .tn-header-inner,
    .search .tn-header-inner,
    .single-post .tn-header-inner {
        height: 64px;
        border-radius: 18px;
        padding: 0 14px;
    }
    .tn-article-archive,
    .tn-single-article {
        padding: 34px 0 58px;
    }
    .tn-article-featured-card,
    .tn-article-list-card {
        grid-template-columns: 1fr;
    }
    .tn-article-featured-image,
    .tn-article-list-image {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
    .tn-article-list-image {
        border-radius: 0;
    }
    .tn-article-tabs {
        gap: 20px;
    }
    .tn-single-article-head h1 {
        font-size: 1.65rem;
    }
    .tn-article-summary-box {
        padding: 22px 20px;
    }
}

/* ============================================================
   SINGLE BROKER PAGE
   ============================================================ */
.tn-broker-hero {
    background: linear-gradient(135deg, #0A1628 0%, #0D2D6B 100%);
    padding: 40px 0 36px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.tn-broker-hero-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
}
.tn-broker-hero-logo {
    width: 96px; height: 96px;
    background: #fff;
    border-radius: var(--tn-radius);
    display: flex; align-items: center; justify-content: center;
    padding: 12px;
    box-shadow: var(--tn-shadow-lg);
    flex-shrink: 0;
}
.tn-broker-hero-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tn-broker-hero-info h1 { color: #fff; font-size: 1.8rem; margin-bottom: 6px; }
.tn-broker-hero-info p { color: rgba(255,255,255,.7); font-size: 0.92rem; }
.tn-broker-hero-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}
.tn-broker-hero-score {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--tn-gold);
    line-height: 1;
}
.tn-broker-hero-score small {
    font-size: 1rem;
    font-weight: 400;
    color: rgba(255,255,255,.5);
}

.tn-broker-quick-info {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    border: 1px solid var(--tn-primary-border);
    overflow: hidden;
    margin-bottom: 24px;
}
.tn-quick-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.tn-quick-info-item {
    padding: 18px 20px;
    border-left: 1px solid var(--tn-primary-border);
    text-align: center;
}
.tn-quick-info-item:last-child { border-left: none; }
.tn-quick-info-label {
    font-size: 0.78rem;
    color: var(--tn-text-muted);
    margin-bottom: 4px;
}
.tn-quick-info-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--tn-gray-800);
}
.tn-quick-info-value.blue { color: var(--tn-primary); }

.tn-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}
.tn-pros-box, .tn-cons-box {
    background: #fff;
    border-radius: var(--tn-radius);
    padding: 20px;
    border: 1px solid;
}
.tn-pros-box { border-color: #A7F3D0; background: #ECFDF5; }
.tn-cons-box { border-color: #FECACA; background: #FFF5F5; }
.tn-pros-box h4 { color: var(--tn-green); margin-bottom: 12px; }
.tn-cons-box h4 { color: var(--tn-red); margin-bottom: 12px; }
.tn-pros-box li, .tn-cons-box li {
    font-size: 0.88rem;
    padding: 5px 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.tn-pros-box li::before { content: '✓'; color: var(--tn-green); font-weight: 700; flex-shrink: 0; }
.tn-cons-box li::before { content: '✕'; color: var(--tn-red); font-weight: 700; flex-shrink: 0; }

.tn-data-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: var(--tn-radius);
    overflow: hidden;
    border: 1px solid var(--tn-primary-border);
    font-size: 0.9rem;
}
.tn-data-table th {
    background: var(--tn-primary-bg);
    color: var(--tn-primary-dark);
    font-weight: 700;
    padding: 12px 16px;
    text-align: right;
    border-bottom: 2px solid var(--tn-primary-border);
    white-space: nowrap;
}
.tn-data-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--tn-gray-100);
    vertical-align: middle;
}
.tn-data-table tr:last-child td { border-bottom: none; }
.tn-data-table tr:hover td { background: var(--tn-primary-bg2); }
.tn-data-table td:first-child {
    font-weight: 600;
    color: var(--tn-text-light);
    min-width: 180px;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.tn-layout-with-sidebar {
    display: grid;
    grid-template-columns: 1fr 310px;
    gap: 28px;
    align-items: start;
}
.tn-sidebar { position: sticky; top: 88px; }

.tn-sidebar-widget {
    background: #fff;
    border: 1px solid var(--tn-primary-border);
    border-radius: var(--tn-radius);
    overflow: hidden;
    margin-bottom: 20px;
}
.tn-sidebar-widget-title {
    background: var(--tn-primary-bg);
    padding: 12px 16px;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--tn-primary-dark);
    border-bottom: 1px solid var(--tn-primary-border);
    display: flex;
    align-items: center;
    gap: 8px;
}
.tn-sidebar-widget-body { padding: 16px; }

/* ============================================================
   TOOLS / CALCULATORS
   ============================================================ */
.tn-calc-wrap {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    border: 1px solid var(--tn-primary-border);
    overflow: hidden;
    box-shadow: var(--tn-shadow-sm);
}
.tn-calc-header {
    background: var(--tn-primary);
    padding: 20px 24px;
    color: #fff;
}
.tn-calc-header h3 { color: #fff; margin: 0; font-size: 1.1rem; }
.tn-calc-header p { color: rgba(255,255,255,.75); margin: 4px 0 0; font-size: 0.85rem; }
.tn-calc-body { padding: 24px; }
.tn-calc-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 28px;
    background: var(--tn-gray-100);
    border-radius: var(--tn-radius);
    padding: 4px;
}
.tn-calc-tab {
    flex: 1;
    padding: 9px 12px;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: calc(var(--tn-radius) - 2px);
    transition: var(--tn-transition-fast);
    color: var(--tn-text-muted);
    border: none;
    background: none;
    font-family: var(--tn-font);
}
.tn-calc-tab.active {
    background: #fff;
    color: var(--tn-primary);
    box-shadow: var(--tn-shadow-sm);
}

.tn-form-group { margin-bottom: 18px; }
.tn-form-label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--tn-text-light);
    margin-bottom: 7px;
}
.tn-form-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--tn-gray-200);
    border-radius: var(--tn-radius-sm);
    font-family: var(--tn-font);
    font-size: 0.92rem;
    color: var(--tn-text);
    transition: var(--tn-transition-fast);
    direction: rtl;
}
.tn-form-input:focus {
    outline: none;
    border-color: var(--tn-primary);
    box-shadow: 0 0 0 3px rgba(27,104,224,.1);
}
.tn-form-select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--tn-gray-200);
    border-radius: var(--tn-radius-sm);
    font-family: var(--tn-font);
    font-size: 0.9rem;
    color: var(--tn-text);
    background: #fff;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 12px center;
    padding-left: 32px;
}
.tn-form-select:focus { outline: none; border-color: var(--tn-primary); }

.tn-calc-result {
    background: var(--tn-primary-bg);
    border: 1px solid var(--tn-primary-border);
    border-radius: var(--tn-radius);
    padding: 20px;
    text-align: center;
    margin-top: 20px;
}
.tn-calc-result-label { font-size: 0.85rem; color: var(--tn-text-muted); margin-bottom: 6px; }
.tn-calc-result-value {
    font-size: 2rem;
    font-weight: 900;
    color: var(--tn-primary);
    line-height: 1.1;
}
.tn-calc-result-unit { font-size: 0.9rem; color: var(--tn-text-muted); margin-top: 4px; }

/* ============================================================
   PRICE WIDGETS
   ============================================================ */
.tn-price-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
}
.tn-price-tab {
    padding: 8px 20px;
    border-radius: var(--tn-radius);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    border: 2px solid var(--tn-primary-border);
    color: var(--tn-text-light);
    background: #fff;
    transition: var(--tn-transition-fast);
}
.tn-price-tab.active, .tn-price-tab:hover {
    background: var(--tn-primary);
    color: #fff;
    border-color: var(--tn-primary);
}
.tn-tradingview-wrap {
    border-radius: var(--tn-radius);
    overflow: hidden;
    border: 1px solid var(--tn-primary-border);
}

/* Mini charts grid (prices section) */
.tn-mini-charts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.tn-mini-chart-card {
    border-radius: var(--tn-radius);
    overflow: hidden;
    border: 1px solid var(--tn-border);
    background: #fff;
    min-height: 180px;
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.tn-contact-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
}
.tn-contact-form .tn-form-input,
.tn-contact-form textarea {
    width: 100%;
    margin-bottom: 16px;
}
.tn-contact-form textarea {
    padding: 12px 14px;
    border: 1px solid var(--tn-gray-200);
    border-radius: var(--tn-radius-sm);
    font-family: var(--tn-font);
    font-size: 0.92rem;
    resize: vertical;
    min-height: 140px;
    direction: rtl;
    width: 100%;
}
.tn-contact-form textarea:focus {
    outline: none;
    border-color: var(--tn-primary);
    box-shadow: 0 0 0 3px rgba(27,104,224,.1);
}

.tn-contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: var(--tn-primary-bg);
    border-radius: var(--tn-radius);
    margin-bottom: 12px;
}
.tn-contact-info-icon {
    width: 44px; height: 44px;
    background: var(--tn-primary);
    border-radius: var(--tn-radius-sm);
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.tn-contact-info-label { font-size: 0.8rem; color: var(--tn-text-muted); margin-bottom: 2px; }
.tn-contact-info-value { font-weight: 600; color: var(--tn-text); }

/* ============================================================
   FOOTER — TraderNova style: light gray + multi-strip
   ============================================================ */
#tn-footer { color: #3a4a6b; }

#tn-footer .tn-container {
    max-width: 1140px;
    padding: 0 12px;
}

/* The footer page is a true WPBakery composition. Rows provide the three
   horizontal bands and columns/components remain independently editable. */
#tn-footer .tn-footer-builder-page > .wpb-content-wrapper > .vc_row {
    width: 100%;
    max-width: 1140px;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 12px;
    padding-left: 12px;
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    background: transparent;
    border: 0;
}
#tn-footer .tn-footer-builder-page > .wpb-content-wrapper > .vc_row::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    right: 50%;
    width: 100vw;
    transform: translateX(50%);
    pointer-events: none;
}
#tn-footer .tn-footer-builder-page > .wpb-content-wrapper > .vc_row::after { display: none; }
#tn-footer .tn-footer-builder-top::before,
#tn-footer .tn-footer-builder-bottom::before { background: #eef1f7; }
#tn-footer .tn-footer-builder-top::before { border-top: 1px solid #dde2ed; }
#tn-footer .tn-footer-builder-mid::before {
    background: #dde2ed;
    border-top: 1px solid #c8d0e0;
    border-bottom: 1px solid #c8d0e0;
}
#tn-footer .tn-footer-builder-page > .wpb-content-wrapper > .vc_row > .wpb_column {
    float: none;
    box-sizing: border-box;
    width: auto;
}
#tn-footer .tn-footer-builder-page > .wpb-content-wrapper > .vc_row > .wpb_column > .vc_column-inner {
    padding-right: 0;
    padding-left: 0;
}
#tn-footer .tn-footer-builder-page .wpb_content_element { margin-bottom: 0; }
#tn-footer .tn-footer-builder-top {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
    gap: 32px;
    align-items: start;
}
#tn-footer .tn-footer-builder-mid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
#tn-footer .tn-footer-builder-mid > .wpb_column { flex: 0 0 auto; }
#tn-footer .tn-footer-builder-bottom { display: block; }
#tn-footer .tn-footer-builder-bottom > .wpb_column { width: 100%; }
#tn-footer .tn-footer-social img,
#tn-footer .tn-footer-trust img { display: block; max-width: 22px; max-height: 22px; }

/* Top section — links grid */
.tn-footer-top {
    background: #eef1f7;
    padding: 48px 0 36px;
    border-top: 1px solid #dde2ed;
}
.tn-footer-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
    gap: 32px;
    align-items: start;
}
.tn-footer-logo { display: block; margin-bottom: 14px; }
.tn-footer-logo img { height: 44px; width: auto; }
.tn-footer-desc {
    font-size: 0.85rem;
    line-height: 1.8;
    color: #5a6a8a;
    max-width: 280px;
}
.tn-footer-col h3 {
    color: #1a2b4b;
    font-size: 0.95rem;
    font-weight: 800;
    margin-bottom: 16px;
}
.tn-footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tn-footer-links li { margin: 0; padding: 0; }
.tn-footer-links a {
    font-size: 0.84rem;
    color: #5a6a8a;
    transition: color .15s;
}
.tn-footer-links a:hover { color: var(--tn-primary); }

/* Middle strip — social + tagline + links */
.tn-footer-mid {
    background: #dde2ed;
    border-top: 1px solid #c8d0e0;
    border-bottom: 1px solid #c8d0e0;
    padding: 18px 0;
}
.tn-footer-mid-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.tn-footer-social { display: flex; gap: 10px; }
.tn-footer-social a {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    color: #5a6a8a;
    font-size: 1rem;
    border: 1px solid #c8d0e0;
    transition: background .15s, color .15s;
}
.tn-footer-social a:hover { background: var(--tn-primary); color: #fff; border-color: var(--tn-primary); }

.tn-footer-tagline {
    font-size: 1rem;
    font-weight: 700;
    color: #1a2b4b;
    margin: 0;
}
.tn-footer-bottom-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.tn-footer-bottom-links a {
    font-size: 0.84rem;
    color: #5a6a8a;
    transition: color .15s;
}
.tn-footer-bottom-links a:hover { color: var(--tn-primary); }

/* Bottom — disclaimer + copyright */
.tn-footer-bottom {
    background: #eef1f7;
    padding: 20px 0;
}
.tn-footer-disclaimer {
    font-size: 0.8rem;
    color: #7a8aaa;
    line-height: 1.8;
    margin: 0 0 10px;
}
.tn-footer-disclaimer strong { color: #3a4a6b; }
.tn-footer-copy {
    font-size: 0.8rem;
    color: #9aaac0;
    margin: 0;
    text-align: center;
}

/* ============================================================
   ACCORDION / FAQ
   ============================================================ */
.tn-faq-item {
    border: 1px solid var(--tn-primary-border);
    border-radius: var(--tn-radius);
    margin-bottom: 10px;
    overflow: hidden;
}
.tn-faq-question {
    padding: 16px 20px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    transition: var(--tn-transition-fast);
}
.tn-faq-question:hover, .tn-faq-item.open .tn-faq-question {
    background: var(--tn-primary-bg);
    color: var(--tn-primary);
}
.tn-faq-icon { font-size: 1.2rem; transition: transform 0.25s; flex-shrink: 0; }
.tn-faq-item.open .tn-faq-icon { transform: rotate(45deg); }
.tn-faq-answer {
    display: none;
    padding: 16px 20px;
    font-size: 0.9rem;
    color: var(--tn-text-light);
    line-height: 1.75;
    border-top: 1px solid var(--tn-primary-border);
    background: var(--tn-primary-bg2);
}
.tn-faq-item.open .tn-faq-answer { display: block; }

/* ============================================================
   ARTICLE / CONTENT
   ============================================================ */
.tn-content-article {
    line-height: 1.85;
}
.tn-content-article h2 {
    font-size: 1.45rem;
    margin: 36px 0 14px;
    padding-bottom: 0;
    border-bottom: 0;
    color: var(--tn-gray-800);
}
.tn-content-article h2:first-child { margin-top: 0; }
.tn-content-article h3 {
    font-size: 1.2rem;
    margin: 28px 0 12px;
    color: var(--tn-gray-700);
}
.tn-content-article h4 { margin: 20px 0 10px; }
.tn-content-article p { margin-bottom: 1.2rem; }
.tn-content-article ul, .tn-content-article ol {
    margin: 0 20px 1.2rem 0;
}
.tn-content-article ul li { list-style: disc; margin-bottom: 6px; }
.tn-content-article ol li { list-style: decimal; margin-bottom: 6px; }
.tn-content-article blockquote {
    border-right: 4px solid var(--tn-primary);
    padding: 14px 20px;
    background: var(--tn-primary-bg);
    border-radius: 0 var(--tn-radius) var(--tn-radius) 0;
    margin: 20px 0;
    font-style: italic;
    color: var(--tn-text-light);
}
.tn-content-article img { border-radius: var(--tn-radius); margin: 16px 0; }
.tn-content-article a { color: var(--tn-primary); text-decoration: underline; text-decoration-color: rgba(27,104,224,.3); }
.tn-content-article a:hover { text-decoration-color: var(--tn-primary); }
.tn-content-article table {
    width: 100%;
    margin: 22px 0;
    border-collapse: collapse;
    border: 1px solid #dbe4f0;
    color: #263a58;
    font-size: .95rem;
}
.tn-content-article th,
.tn-content-article td {
    padding: 12px 14px;
    border: 1px solid #dbe4f0;
    text-align: right;
    vertical-align: top;
}
.tn-content-article th {
    background: #f5f7fc;
    color: #172949;
    font-weight: 900;
}

/* ============================================================
   INFO BOX
   ============================================================ */
.tn-info-box {
    border-radius: var(--tn-radius);
    padding: 18px 20px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 20px 0;
}
.tn-info-box.blue { background: var(--tn-primary-bg); border: 1px solid var(--tn-primary-border); }
.tn-info-box.green { background: #ECFDF5; border: 1px solid #A7F3D0; }
.tn-info-box.gold { background: #FFFBEB; border: 1px solid #FDE68A; }
.tn-info-box.red { background: #FFF5F5; border: 1px solid #FECACA; }
.tn-info-box-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 2px; }
.tn-info-box p { margin: 0; font-size: 0.9rem; line-height: 1.7; }

/* ============================================================
   COMPARISON TABLE (cornerstone page)
   ============================================================ */
.tn-compare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    background: #fff;
}
.tn-compare-table thead th {
    background: var(--tn-primary);
    color: #fff;
    padding: 12px 14px;
    text-align: right;
    font-weight: 700;
    white-space: nowrap;
}
.tn-compare-table thead th:first-child {
    background: var(--tn-primary-dark);
    border-radius: 0 var(--tn-radius-sm) 0 0;
}
.tn-compare-table thead th:last-child {
    border-radius: 0 0 0 var(--tn-radius-sm);
}
.tn-compare-table tbody td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--tn-gray-100);
    vertical-align: middle;
}
.tn-compare-table tbody tr:nth-child(even) td { background: var(--tn-primary-bg2); }
.tn-compare-table tbody tr:hover td { background: var(--tn-primary-bg); }
.tn-compare-table td:first-child { font-weight: 600; }
.tn-compare-table .check { color: var(--tn-green); font-size: 1.1rem; }
.tn-compare-table .cross { color: var(--tn-red); font-size: 1.1rem; }

/* ============================================================
   BROKER CORNERSTONE PAGE
   ============================================================ */
.tn-broker-cornerstone {
    padding: 34px 0 76px;
    background: #fff;
}

.tn-broker-cornerstone .tn-breadcrumb {
    color: #71809a;
    margin: 0 0 18px;
}

.tn-broker-cornerstone .tn-breadcrumb a {
    color: #536887;
}

.tn-broker-cornerstone-head {
    max-width: 920px;
    margin: 0 auto 28px;
    text-align: center;
}

.tn-directory-cornerstone .tn-broker-cornerstone-head {
    max-width: none;
}

.tn-broker-cornerstone-head h1 {
    margin: 0 0 18px;
    color: #152845;
    font-size: clamp(1.75rem, 4vw, 2.65rem);
    line-height: 1.45;
    font-weight: 900;
}

.tn-broker-cornerstone-intro {
    color: #435875;
    font-size: 1rem;
    line-height: 2.15;
    max-width: 860px;
    margin: 0 auto;
}

.tn-broker-cornerstone-intro p {
    margin: 0 0 12px;
}

.tn-directory-cornerstone .tn-broker-cornerstone-intro {
    max-width: none;
    text-align: right;
}

.tn-directory-featured-image {
    width: 70%;
    aspect-ratio: 16 / 9;
    margin: 0 auto 24px;
    overflow: hidden;
    border-radius: var(--tn-radius-lg);
    background: var(--tn-primary-bg2);
}

.tn-directory-featured-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

.tn-broker-cornerstone-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px 18px;
    flex-wrap: wrap;
    margin-top: 18px;
    color: #6c7e99;
    font-size: .86rem;
}

.tn-broker-cornerstone-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.tn-broker-cornerstone-meta i {
    color: var(--tn-primary);
}

.tn-broker-finder {
    margin: 24px 0 42px;
}

.tn-broker-finder .tn-filter-bar {
    margin-bottom: 14px;
    box-shadow: 0 10px 28px rgba(31, 55, 96, .06);
}

.tn-broker-finder .tn-filter-tabs {
    gap: 8px;
    margin-bottom: 18px;
}

.tn-broker-finder .tn-filter-tab {
    border-radius: 999px;
    background: #fff;
    font-weight: 700;
}

.tn-broker-results {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tn-directory-simple-content {
    width: 100%;
    max-width: none;
    margin: 18px 0 0;
    color: #263a58;
    font-size: 1rem;
    line-height: 2.08;
}

.tn-directory-simple-content .tn-content-article {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.tn-directory-cornerstone .tn-broker-card {
    display: block;
    padding: 26px;
    border-color: #dbe5f2;
    border-radius: 18px;
    box-shadow: 0 7px 24px rgba(29, 61, 111, .055);
}

.tn-directory-cornerstone .tn-broker-card:hover {
    box-shadow: 0 16px 38px rgba(27, 76, 151, .12);
}

.tn-directory-cornerstone .tn-broker-card-logo {
    width: 128px;
    height: 72px;
    aspect-ratio: 16 / 9;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.tn-directory-cornerstone .tn-broker-card-logo img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.tn-directory-cornerstone .tn-broker-card-header {
    align-items: center;
    margin-bottom: 16px;
    padding-top: 10px;
}

.tn-broker-card-identity {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.tn-broker-card-title-group { min-width: 0; }

.tn-broker-card-score {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.tn-directory-cornerstone .tn-broker-card-name {
    font-size: 1.28rem;
}

.tn-directory-cornerstone .tn-rating-score small {
    margin-right: 2px;
    color: var(--tn-text-muted);
    font-size: .72rem;
    font-weight: 700;
}

.tn-broker-review-count {
    flex-basis: 100%;
    color: var(--tn-text-muted);
    font-size: .72rem;
    text-align: right;
}

.tn-directory-cornerstone .tn-broker-features {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.tn-directory-cornerstone .tn-broker-feature {
    min-width: 0;
    min-height: 66px;
    padding: 10px 12px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    border: 1px solid #e7edf6;
    border-radius: 11px;
    background: #f8fbff;
}

.tn-broker-feature-label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #71809a;
    font-size: .77rem;
    line-height: 1.55;
}

.tn-broker-feature-icon {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
}

.tn-broker-feature-value {
    width: 100%;
    overflow-wrap: anywhere;
    color: #1d304d;
    font-size: .89rem;
    line-height: 1.65;
}

.tn-directory-cornerstone .tn-broker-card-footer {
    align-items: stretch;
    margin-top: 18px;
    padding-top: 18px;
}

.tn-directory-cornerstone .tn-broker-card-btns {
    gap: 10px;
    flex-wrap: wrap;
}

.tn-directory-card-btn {
    min-width: 132px;
    min-height: 46px;
    padding: 11px 18px;
    border-radius: 12px;
    justify-content: center;
    font-size: .9rem;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(20, 45, 84, .08);
}

.tn-directory-site-btn {
    border-color: var(--tn-directory-site-button, var(--tn-primary));
    background: var(--tn-directory-site-button, var(--tn-primary));
    color: #fff;
}

.tn-directory-site-btn:hover {
    border-color: var(--tn-directory-site-button-hover, var(--tn-primary-dark));
    background: var(--tn-directory-site-button-hover, var(--tn-primary-dark));
    color: #fff;
    transform: translateY(-1px);
}

.tn-broker-guide-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 286px;
    gap: 28px;
    align-items: start;
    direction: ltr;
}

.tn-broker-guide-layout > * {
    direction: rtl;
}

.tn-broker-guide-main {
    min-width: 0;
    padding: 30px 34px;
    border: 1px solid #e1e8f3;
    border-radius: 10px;
    background: #fff;
}

.tn-broker-guide-main .tn-content-article {
    color: #263a58;
    font-size: 1rem;
    line-height: 2.08;
}

.tn-broker-guide-main .tn-content-article h2,
.tn-broker-guide-main .tn-content-article h3 {
    scroll-margin-top: 110px;
}

.tn-broker-guide-sidebar {
    position: sticky;
    top: 112px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tn-cornerstone-ad-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    border-radius: 10px;
    background: transparent;
}

.tn-cornerstone-ad-stack a,
.tn-cornerstone-ad-stack img {
    display: block;
    width: 100%;
    margin: 0;
}

.tn-cornerstone-ad-stack img {
    height: auto;
    border-radius: 0;
}

.tn-title-picker {
    overflow: hidden;
    border: 1px solid #dfe7f3;
    border-radius: 10px;
    background: #fff;
}

.tn-title-picker strong {
    display: block;
    padding: 14px 16px;
    border-bottom: 1px solid #e7edf6;
    color: #19345c;
    font-size: .92rem;
    font-weight: 900;
}

.tn-title-picker a {
    display: block;
    padding: 10px 16px;
    border-bottom: 1px solid #eef2f8;
    color: #526984;
    font-size: .86rem;
    line-height: 1.75;
}

.tn-title-picker a:last-child {
    border-bottom: 0;
}

.tn-title-picker a.child {
    padding-right: 28px;
    color: #72829a;
    font-size: .8rem;
}

.tn-title-picker a:hover {
    color: var(--tn-primary);
    background: var(--tn-primary-bg2);
}

.tn-cornerstone-faq {
    margin-top: 42px;
    padding-top: 26px;
    border-top: 1px solid #e1e8f3;
}

.tn-cornerstone-faq h2,
.tn-cornerstone-comments .tn-comments-title,
.tn-cornerstone-comments .tn-comment-reply-title {
    margin: 0 0 18px;
    color: #19345c;
    font-size: 1.35rem;
    line-height: 1.6;
    font-weight: 900;
}

.tn-cornerstone-comments {
    margin-top: 42px;
    padding-top: 26px;
    border-top: 1px solid #e1e8f3;
}

.tn-comments-area {
    color: #263a58;
}

.tn-comment-list {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.tn-comment-list .comment {
    margin-bottom: 14px;
    padding: 18px;
    border: 1px solid #e1e8f3;
    border-radius: 10px;
    background: #f9fbff;
}

.tn-comment-list .children {
    margin: 14px 24px 0 0;
    padding: 0;
    list-style: none;
}

.tn-comment-form {
    display: grid;
    gap: 12px;
}

.tn-comment-form input:not([type="submit"]),
.tn-comment-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8e1ee;
    border-radius: 8px;
    font-family: inherit;
}

.tn-comment-form input[type="submit"] {
    width: auto;
    min-width: 150px;
    min-height: 42px;
    border: 0;
    border-radius: 8px;
    background: var(--tn-primary);
    color: #fff;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.tn-cornerstone-empty {
    padding: 18px;
    border: 1px dashed #b9c7db;
    border-radius: 10px;
    background: #f8fbff;
}

/* ============================================================
   SINGLE ENTITY PAGES
   ============================================================ */
.single-broker #tn-header,
.single-prop_firm #tn-header,
.single-exchange #tn-header {
    background: transparent;
    border-bottom: 0;
    box-shadow: none;
    padding-top: 24px;
}

.single-broker #tn-header.scrolled,
.single-prop_firm #tn-header.scrolled,
.single-exchange #tn-header.scrolled {
    background: transparent;
    box-shadow: none;
}

.single-broker .tn-header-inner,
.single-prop_firm .tn-header-inner,
.single-exchange .tn-header-inner {
    max-width: 1320px;
    height: 80px;
    padding: 0 24px;
    background: rgba(255,255,255,.9);
    border: 1px solid #e6ebf3;
    border-radius: 24px;
    box-shadow: 0 8px 28px rgba(24,45,80,.08);
    backdrop-filter: blur(18px);
}

.single-broker #tn-header.scrolled .tn-header-inner,
.single-prop_firm #tn-header.scrolled .tn-header-inner,
.single-exchange #tn-header.scrolled .tn-header-inner {
    max-width: 1320px;
    border-radius: 24px;
    box-shadow: 0 8px 28px rgba(24,45,80,.08);
}

.tn-entity-page {
    padding: 54px 0 86px;
    background: #fff;
    color: #1b2d4a;
}

.tn-entity-builder-content .vc_row {
    margin-bottom: 34px;
}

.tn-entity-builder-content .wpb_content_element {
    margin-bottom: 0;
}

.tn-entity-builder-hero-row,
.tn-entity-builder-main-row {
    direction: ltr;
}

.tn-entity-builder-hero-row > .wpb_column,
.tn-entity-builder-main-row > .wpb_column {
    direction: rtl;
}

@media (min-width: 1025px) {
    .tn-entity-builder-hero-row,
    .tn-entity-builder-main-row {
        display: flex;
        align-items: stretch;
    }

    .tn-entity-builder-hero-row > .wpb_column,
    .tn-entity-builder-main-row > .wpb_column {
        float: none;
        display: flex;
    }

    .tn-entity-builder-hero-row > .wpb_column > .vc_column-inner,
    .tn-entity-builder-main-row > .wpb_column > .vc_column-inner {
        width: 100%;
        flex: 1;
    }

    .tn-entity-builder-main-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
        min-height: 100%;
    }
}

.tn-entity-builder-content .tn-entity-review-card {
    width: 100%;
    margin: 0 0 22px;
}

.tn-entity-builder-content .tn-entity-section {
    margin-top: 34px;
}

.tn-entity-breadcrumb {
    margin: 0 0 38px;
    color: #8896ad;
    font-size: .86rem;
}

.tn-entity-breadcrumb .tn-breadcrumb,
.tn-entity-breadcrumb .tn-breadcrumb a {
    color: #7b89a1;
}

.tn-entity-breadcrumb .tn-breadcrumb {
    padding: 8px 15px;
    border-color: #e5ebf4;
    background: #f7f9fc;
}

.tn-entity-hero-grid {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 70px;
    align-items: start;
    direction: ltr;
    margin-bottom: 42px;
}

.tn-entity-hero-grid > * {
    direction: rtl;
}

@media (min-width: 1025px) {
    .tn-entity-hero-main {
        grid-column: 2;
        grid-row: 1;
    }

    .tn-entity-hero-grid > .tn-entity-side-panel {
        grid-column: 1;
        grid-row: 1;
    }
}

.tn-entity-hero-main {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.tn-entity-logo-image {
    display: block;
    width: 100%;
    max-width: 220px;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    justify-self: center;
}

.tn-entity-kicker {
    margin-bottom: 8px;
    color: #8491a7;
    font-size: .84rem;
    font-weight: 700;
}

.tn-entity-hero-body h1 {
    margin: 0 0 18px;
    color: #172949;
    font-size: clamp(1.75rem, 3.3vw, 2.45rem);
    line-height: 1.42;
    font-weight: 900;
    letter-spacing: 0;
}

.tn-entity-hero-full {
    grid-column: 1 / -1;
    width: 100%;
}

.tn-entity-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-bottom: 22px;
    color: #8290a8;
    font-size: .86rem;
}

.tn-entity-meta-row span,
.tn-entity-meta-row a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tn-entity-meta-row a {
    color: inherit;
    text-decoration: none;
}

.tn-entity-meta-row a:hover {
    color: var(--tn-primary);
}

.tn-entity-meta-row img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.tn-entity-meta-row i {
    color: #a4b0c2;
}

.tn-entity-intro {
    color: #263a58;
    font-size: 1rem;
    line-height: 2.12;
    max-width: none;
}

.tn-entity-intro > :first-child { margin-top: 0; }
.tn-entity-intro > :last-child { margin-bottom: 0; }
.tn-entity-intro a {
    color: var(--tn-primary);
    text-decoration: underline;
    text-decoration-color: rgba(27, 104, 224, .35);
    text-underline-offset: 3px;
}
.tn-entity-intro a:hover { text-decoration-color: currentColor; }
.tn-entity-intro ul,
.tn-entity-intro ol { margin: 0 1.4rem 1rem 0; }
.tn-entity-intro ul { list-style: disc; }
.tn-entity-intro ol { list-style: decimal; }
.tn-entity-intro li { margin-bottom: .3rem; }
.tn-entity-intro blockquote {
    margin: 1rem 0;
    padding: .75rem 1rem;
    border-right: 4px solid var(--tn-primary);
    border-radius: var(--tn-radius-sm) 0 0 var(--tn-radius-sm);
    background: var(--tn-primary-bg);
    color: var(--tn-text-light);
}
.tn-entity-intro blockquote > :last-child { margin-bottom: 0; }
.tn-entity-intro img {
    height: auto;
    margin: 1rem 0;
    border-radius: var(--tn-radius);
}

.tn-entity-ai-row,
.tn-entity-actions,
.tn-entity-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.tn-entity-ai-row {
    margin-top: 20px;
    color: #4b5f7d;
    font-size: .88rem;
}

.tn-entity-ai-row a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #e1e8f3;
    border-radius: 7px;
    background: #fff;
    color: #52647e;
    font-weight: 700;
}

.tn-entity-actions {
    margin-top: 18px;
}

.tn-entity-action {
    min-height: 42px;
    padding: 9px 18px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .9rem;
    font-weight: 800;
}

.tn-entity-action.primary {
    border: 1px solid var(--tn-primary);
    color: var(--tn-primary);
    background: #fff;
}

.tn-entity-action.primary .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tn-primary);
}

.tn-entity-action.outline {
    border: 1px solid #16a085;
    color: #0f9a82;
    background: #fff;
}

.tn-entity-tags {
    margin-top: 18px;
}

.tn-entity-tags span {
    min-height: 32px;
    padding: 6px 13px;
    border-radius: 7px;
    background: #eef4fb;
    color: #52647e;
    font-size: .84rem;
    font-weight: 700;
}

.tn-entity-side-panel {
    border: 1px solid #d9e2ef;
    border-radius: 14px;
    background: #fff;
    padding: 14px 16px 16px;
    align-self: start;
}

.tn-entity-side-tabs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
    min-height: 36px;
    padding: 6px 10px;
    border-radius: 10px;
    background: #f4f7fc;
}

.tn-entity-side-title {
    color: var(--tn-primary);
    font-weight: 900;
}

.tn-entity-header-rating {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    direction: ltr;
}

.tn-entity-header-rating small {
    color: #66758c;
    font-size: .72rem;
    font-weight: 850;
    white-space: nowrap;
}

.tn-entity-header-rating .tn-entity-stars {
    font-size: .82rem;
}

.tn-entity-info-list {
    margin-bottom: 12px;
}

.tn-entity-info-row {
    display: grid;
    grid-template-columns: minmax(82px, .82fr) minmax(0, 1.18fr);
    gap: 8px;
    align-items: start;
    min-width: 0;
    padding: 7px 0;
    border-bottom: 1px solid #edf1f7;
    color: #52647e;
    font-size: .86rem;
    line-height: 1.5;
}

.tn-entity-info-row span {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    color: #8896ad;
    overflow-wrap: anywhere;
}

.tn-entity-info-icon {
    width: 1.45em;
    flex: 0 0 1.45em;
    color: inherit;
    font-family: system-ui, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.tn-entity-info-row strong {
    min-width: 0;
    max-width: 100%;
    color: #223653;
    font-weight: 800;
    line-height: 1.65;
    text-align: left;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.tn-entity-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #d7dee9;
    direction: ltr;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0;
}

.tn-entity-score-inline {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    direction: rtl;
    white-space: nowrap;
}

.tn-entity-score-inline b {
    color: #172949;
    font-size: .98rem;
    font-weight: 950;
}

.tn-entity-score-inline small {
    color: #7d8aa0;
    font-size: .72rem;
    font-weight: 800;
}

.tn-entity-score-inline .tn-entity-stars {
    font-size: .86rem;
}

.tn-entity-stars i {
    color: #d7dee9 !important;
    font-size: 1em;
    line-height: 1;
}

.tn-entity-stars .tn-entity-star-filled,
.tn-entity-stars .tn-entity-star-half {
    color: #f5b301 !important;
}

.tn-entity-stars .tn-entity-star-empty {
    color: #d7dee9 !important;
}

.tn-entity-side-action,
.tn-entity-sticky-actions a {
    width: 100%;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 9px;
    font-weight: 900;
}

.tn-entity-side-action + .tn-entity-side-action,
.tn-entity-sticky-actions a + a {
    margin-top: 8px;
}

.tn-entity-side-action.primary,
.tn-entity-sticky-actions .primary {
    background: var(--tn-primary);
    color: #fff;
    box-shadow: var(--tn-shadow-blue);
}

.tn-entity-side-action.outline,
.tn-entity-sticky-actions .outline {
    border: 1px solid var(--tn-primary);
    color: var(--tn-primary);
    background: #fff;
}

.tn-entity-review-card {
    width: 100%;
    margin: 0 0 30px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.tn-entity-review-box-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tn-entity-review-box {
    min-height: 0;
    padding: 16px;
    border: 1px solid #dfe7f2;
    border-radius: 10px;
    background: #f6f8fc;
}

.tn-entity-review-box h2 {
    margin: 0 0 12px;
    color: #172949;
    font-size: .98rem;
    font-weight: 950;
}

.tn-entity-review-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #e0e7f2;
}

.tn-entity-review-tabs button {
    min-height: 62px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #7c8aa3;
    font-family: inherit;
    font-size: .92rem;
    font-weight: 800;
}

.tn-entity-review-tabs button.active {
    background: #fff;
    color: var(--tn-primary);
    border-bottom-color: var(--tn-primary);
}

.tn-entity-tab-panel {
    display: none;
}

.tn-entity-tab-panel.active {
    display: block;
}

.tn-entity-tab-content {
    padding: 0;
    color: #364a68;
    font-size: .9rem;
    line-height: 1.85;
}

.tn-entity-tab-content p {
    margin: 0 0 10px;
}

.tn-entity-tab-content p:last-child {
    margin-bottom: 0;
}

.tn-entity-score-area {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: center;
    padding: 0;
}

.tn-entity-share-review {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--tn-primary);
    font-weight: 800;
}

.tn-entity-rating-lines {
    display: grid;
    gap: 10px;
}

.tn-entity-rating-row {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
    color: #6d7d95;
    font-size: .82rem;
}

.tn-entity-rating-row div {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5ebf4;
}

.tn-entity-rating-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--tn-primary);
}

.tn-entity-rating-row strong {
    color: #1f3556;
    font-weight: 900;
}

.tn-entity-score-gauge {
    width: 104px;
    height: 60px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    display: flex;
    align-items: end;
    justify-content: center;
    padding-bottom: 4px;
    color: var(--tn-primary);
}

.tn-entity-score-gauge::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 132px 132px 0 0;
    background: conic-gradient(from 270deg at 50% 100%, var(--tn-primary) 0 var(--score), #d9e0eb var(--score) 100%);
    clip-path: inset(0 0 50% 0);
}

.tn-entity-score-gauge::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 46px;
    border-radius: 90px 90px 0 0;
    background: #f5f7fc;
}

.tn-entity-score-gauge span,
.tn-entity-score-gauge small {
    position: relative;
    z-index: 1;
}

.tn-entity-score-gauge span {
    font-size: 1.5rem;
    font-weight: 950;
}

.tn-entity-score-gauge small {
    margin-right: 4px;
    color: #8795aa;
    font-weight: 700;
}

.tn-entity-content-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 70px;
    align-items: start;
    direction: ltr;
}

.tn-entity-content-layout > * {
    direction: rtl;
}

.tn-entity-sticky-sidebar {
    position: sticky;
    top: var(--tn-smart-sticky-top, 122px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tn-entity-ad-stack {
    overflow: hidden;
    border-radius: 10px;
    background: transparent;
}

.tn-entity-ad-stack a,
.tn-entity-ad-stack img {
    display: block;
    width: 100%;
    margin: 0;
}

.tn-entity-ad-stack img {
    border-radius: 0;
}

.tn-entity-title-picker {
    overflow: hidden;
    border: 1px solid #dce4f1;
    border-radius: 10px;
    background: #fff;
}

.tn-entity-title-picker strong {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    border-bottom: 1px solid #e6edf6;
    color: #182e51;
    font-size: .95rem;
    font-weight: 950;
}

.tn-entity-title-picker a {
    display: block;
    padding: 11px 16px;
    border-bottom: 1px solid #edf2f8;
    color: #708098;
    font-size: .86rem;
}

.tn-entity-title-picker a:hover,
.tn-entity-title-picker a.active {
    color: var(--tn-primary);
    background: #f6f9ff;
}

.tn-entity-title-picker a.active {
    font-weight: 950;
    box-shadow: inset -3px 0 0 var(--tn-primary);
}

.tn-entity-title-picker .tn-toc-level-h3 {
    padding-right: 30px;
    font-size: .84rem;
}

.tn-entity-title-picker .tn-toc-level-h4,
.tn-entity-title-picker .tn-toc-level-h5,
.tn-entity-title-picker .tn-toc-level-h6 {
    padding-right: 42px;
    color: #99a7bb;
    font-size: .8rem;
}

.tn-entity-title-picker a:last-child {
    border-bottom: 0;
}

.tn-entity-toc-links,
.tn-article-toc-links {
    position: relative;
}

.tn-entity-title-picker.is-collapsed .tn-entity-toc-links a:nth-child(n+6),
.tn-article-toc-side.is-collapsed .tn-article-toc-links a:nth-child(n+6) {
    display: none;
}

.tn-entity-title-picker.is-collapsed .tn-entity-toc-links::after,
.tn-article-toc-side.is-collapsed .tn-article-toc-links::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 34px;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 92%);
}

.tn-entity-toc-toggle,
.tn-toc-toggle {
    width: 100%;
    min-height: 38px;
    padding: 6px 16px 9px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--tn-primary);
    cursor: pointer;
    font-family: inherit;
    font-size: .82rem;
    font-weight: 900;
    text-align: center;
}

.tn-entity-toc-toggle:hover,
.tn-entity-toc-toggle:focus-visible,
.tn-toc-toggle:hover,
.tn-toc-toggle:focus-visible {
    background: #f7faff;
    color: var(--tn-primary-dark);
    outline: none;
}

.tn-entity-widget-sidebar {
    display: grid;
    gap: 14px;
}

.tn-entity-widget-sidebar .tn-sidebar-widget {
    overflow: hidden;
    border: 1px solid #dce4f1;
    border-radius: 10px;
    background: #fff;
}

.tn-entity-widget-sidebar .tn-sidebar-widget-title {
    padding: 13px 16px;
    border-bottom: 1px solid #edf1f7;
    color: #172949;
    font-weight: 900;
}

.tn-entity-widget-sidebar .tn-sidebar-widget > *:not(.tn-sidebar-widget-title) {
    margin: 0;
    padding: 14px 16px;
}

.tn-entity-widget-sidebar img {
    display: block;
    max-width: 100%;
    height: auto;
}

.tn-entity-sticky-actions {
    border: 1px solid #dce4f1;
    border-radius: 10px;
    background: #fff;
    padding: 12px;
}

.tn-entity-main {
    min-width: 0;
}

.tn-entity-anchor-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 28px;
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dfe7f2;
    overflow-x: auto;
}

.tn-entity-anchor-nav a {
    min-width: max-content;
    padding: 8px 0 12px;
    border-bottom: 2px solid transparent;
    color: #71809a;
    font-weight: 800;
}

.tn-entity-anchor-nav a.active,
.tn-entity-anchor-nav a:hover {
    color: var(--tn-primary);
    border-bottom-color: var(--tn-primary);
}

.tn-entity-section {
    margin-bottom: 54px;
    scroll-margin-top: 126px;
}

.tn-entity-section-head {
    margin-bottom: 24px;
    text-align: center;
}

.tn-entity-section-head a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    color: #61728d;
    font-size: .9rem;
}

.tn-entity-section-head h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 6px;
    color: #172949;
    font-size: clamp(1.35rem, 2.6vw, 1.9rem);
    font-weight: 950;
}

.tn-entity-section-head h2 i {
    color: var(--tn-primary);
}

.tn-entity-section-head p {
    color: #75849c;
    font-size: .95rem;
}

.tn-entity-table-card,
.tn-entity-spread-card,
.tn-entity-rule-grid {
    border-radius: 18px;
    background: #f5f7fc;
    overflow: hidden;
}

.tn-entity-account-row {
    border-bottom: 18px solid #fff;
}

.tn-entity-account-row:last-child {
    border-bottom: 0;
}

.tn-entity-account-row summary {
    min-height: 74px;
    display: grid;
    grid-template-columns: 1.2fr repeat(4, minmax(120px, 1fr)) 28px;
    align-items: center;
    gap: 16px;
    padding: 18px 26px;
    color: #50617c;
    cursor: pointer;
    list-style: none;
}

.tn-entity-account-row summary::-webkit-details-marker {
    display: none;
}

.tn-entity-account-row strong {
    color: #182e51;
    font-size: 1.05rem;
    font-weight: 950;
}

.tn-entity-account-row span {
    color: #63738e;
    font-size: .9rem;
    font-weight: 700;
}

.tn-entity-account-row i {
    color: #536887;
    transition: transform .2s ease;
}

.tn-entity-account-row[open] i {
    transform: rotate(180deg);
}

.tn-entity-account-row p {
    margin: 0;
    padding: 0 26px 18px;
    color: #63738e;
    font-size: .88rem;
}

.tn-entity-clean-table {
    width: 100%;
    border-collapse: collapse;
    color: #334966;
    font-size: .92rem;
}

.tn-entity-clean-table th,
.tn-entity-clean-table td {
    padding: 17px 18px;
    border-bottom: 1px solid #e5ebf4;
    text-align: right;
}

.tn-entity-clean-table th {
    color: #6b7a93;
    font-size: .83rem;
    font-weight: 900;
}

.tn-entity-clean-table tr:last-child td {
    border-bottom: 0;
}

.tn-entity-spread-card {
    padding: 28px 30px;
}

.tn-entity-spread-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(90px, 1fr));
    gap: 0;
    overflow-x: auto;
}

.tn-entity-spread-grid div {
    min-width: 90px;
    min-height: 74px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 10px;
    border-bottom: 1px solid #e1e8f2;
    color: #4c5d77;
}

.tn-entity-spread-grid span {
    font-weight: 800;
}

.tn-entity-spread-grid strong {
    color: #172949;
    font-size: 1.05rem;
}

.tn-entity-scrollbar {
    height: 8px;
    margin: 18px 28px 0;
    border-radius: 999px;
    background: #dfe7f0;
}

.tn-entity-scrollbar i {
    display: block;
    width: 28%;
    height: 100%;
    border-radius: inherit;
    background: #a8b9c7;
}

.tn-entity-rule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
}

.tn-entity-rule-grid div {
    min-height: 126px;
    padding: 24px;
    display: grid;
    align-content: center;
    gap: 8px;
    background: #f5f7fc;
}

.tn-entity-rule-grid span {
    color: #7b8ba2;
    font-size: .86rem;
    font-weight: 700;
}

.tn-entity-rule-grid strong {
    color: #172949;
    font-size: 1.24rem;
    font-weight: 950;
}

.tn-entity-review-section {
    padding-top: 10px;
}

.tn-entity-pros-cons {
    margin: 0 0 28px;
}

.tn-entity-main .tn-content-article {
    color: #263a58;
    font-size: 1rem;
    line-height: 2.1;
}

.tn-entity-comments {
    padding-top: 28px;
    border-top: 1px solid #dfe7f2;
}

.tn-entity-comments .tn-comments-title,
.tn-entity-comments .tn-comment-reply-title {
    color: #172949;
    font-size: 1.35rem;
    font-weight: 950;
}

@media (max-width: 1180px) {
    .tn-entity-hero-grid,
    .tn-entity-content-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 34px;
    }
    .tn-entity-account-row summary {
        grid-template-columns: 1fr 1fr;
    }
    .tn-entity-account-row summary i {
        display: none;
    }
    .tn-entity-review-box-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .single-broker #tn-header,
    .single-prop_firm #tn-header,
    .single-exchange #tn-header {
        padding: 10px 10px 0;
    }
    .tn-entity-hero-grid,
    .tn-entity-content-layout {
        grid-template-columns: 1fr;
        direction: rtl;
    }
    .tn-entity-side-panel {
        order: 2;
    }
    .tn-entity-review-card {
        width: 100%;
    }
    .tn-entity-sticky-sidebar {
        position: static;
        order: 2;
    }
    .tn-entity-ad-stack {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .tn-entity-ad-stack img {
        border-radius: 10px;
    }
}

@media (max-width: 768px) {
    .tn-entity-page {
        padding: 32px 0 58px;
    }
    .single-broker .tn-header-inner,
    .single-prop_firm .tn-header-inner,
    .single-exchange .tn-header-inner {
        height: 64px;
        border-radius: 18px;
        padding: 0 14px;
    }
    .tn-entity-hero-main {
        gap: 18px;
    }
    .tn-entity-review-box-grid {
        grid-template-columns: 1fr;
    }
    .tn-entity-hero-body h1 {
        font-size: 1.6rem;
    }
    .tn-entity-score-area {
        grid-template-columns: 1fr;
        text-align: right;
    }
    .tn-entity-score-gauge {
        margin: 0 auto;
    }
    .tn-entity-review-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tn-entity-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tn-entity-account-row summary {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .tn-entity-clean-table {
        min-width: 620px;
    }
    .tn-entity-table-card {
        overflow-x: auto;
    }
}

@media (max-width: 520px) {
    .tn-entity-side-tabs,
    .tn-entity-review-tabs,
    .tn-entity-rule-grid,
    .tn-entity-review-box-grid,
    .tn-entity-ad-stack {
        grid-template-columns: 1fr;
    }
    .tn-entity-info-row {
        grid-template-columns: 1fr;
    }
    .tn-entity-info-row strong {
        text-align: right;
    }
    .tn-entity-action,
    .tn-entity-ai-row a {
        width: 100%;
    }
    .tn-entity-section-head {
        text-align: right;
    }
    .tn-entity-section-head h2 {
        justify-content: flex-start;
    }
}

/* ============================================================
   PAGINATION
   ============================================================ */
.tn-pagination {
    display: flex;
    gap: 6px;
    justify-content: center;
    align-items: center;
    margin: 40px 0;
}
.tn-pagination a, .tn-pagination span {
    width: 40px; height: 40px;
    border-radius: var(--tn-radius-sm);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid var(--tn-gray-200);
    color: var(--tn-text-light);
    background: #fff;
    transition: var(--tn-transition-fast);
}
.tn-pagination a:hover, .tn-pagination .current {
    background: var(--tn-primary);
    color: #fff;
    border-color: var(--tn-primary);
}

/* ============================================================
   MOBILE NAVIGATION
   ============================================================ */
.tn-mobile-nav {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    opacity: 0;
    transition: opacity .24s ease;
}
.tn-mobile-nav[aria-hidden="false"] {
    opacity: 1;
}
.tn-mobile-nav-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.5);
}
.tn-mobile-nav-inner {
    position: absolute;
    top: 0; right: 0;
    width: min(320px, 85vw);
    height: 100%;
    background: var(--tn-header-bg);
    overflow-y: auto;
    padding: 0 0 32px;
    box-shadow: -4px 0 24px rgba(0,0,0,.3);
    transform: translateX(102%);
    transition: transform .26s ease;
    overscroll-behavior: contain;
}
.tn-mobile-nav[aria-hidden="false"] .tn-mobile-nav-inner {
    transform: translateX(0);
}
.tn-mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    margin-bottom: 8px;
}
.tn-mobile-nav-close {
    background: rgba(255,255,255,.1);
    border: none;
    color: #fff;
    width: 36px; height: 36px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2rem;
    display: flex; align-items: center; justify-content: center;
}
.tn-mobile-nav-list {
    padding: 0 16px;
    list-style: none;
}
.tn-mobile-nav-list > li {
    list-style: none;
}
.tn-mobile-nav-row {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.tn-mobile-nav-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 12px;
    color: rgba(255,255,255,.8);
    font-size: 0.95rem;
    border-radius: var(--tn-radius-sm);
    margin-bottom: 2px;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.tn-mobile-nav-list a:hover { background: rgba(255,255,255,.07); color: #fff; }
.tn-mobile-nav-row .tn-mobile-nav-link {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
    gap: 10px;
}
.tn-mobile-sub-toggle {
    flex: 0 0 44px;
    width: 44px;
    min-height: 44px;
    margin-bottom: 2px;
    border: 0;
    border-radius: var(--tn-radius-sm);
    background: transparent;
    color: rgba(255,255,255,.8);
    cursor: pointer;
}
.tn-mobile-sub-toggle:hover,
.tn-mobile-sub-toggle:focus-visible,
.tn-mobile-sub-toggle[aria-expanded="true"] {
    color: #fff;
    background: rgba(255,255,255,.1);
    outline: 0;
}
.tn-mobile-sub-toggle i {
    font-size: .72rem;
    transition: transform .18s ease;
}
.tn-mobile-sub-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}
.tn-mobile-sub-list {
    margin: 2px 0 8px;
    padding: 8px 14px 8px 0;
    border-right: 1px solid rgba(255,255,255,.13);
    list-style: none;
}
.tn-mobile-sub-list[hidden] {
    display: none !important;
}
.tn-mobile-sub-list > li > strong {
    display: block;
    padding: 10px 12px 6px;
    color: rgba(255,255,255,.95);
    font-size: .8rem;
}
.tn-mobile-sub-list a {
    font-size: 0.88rem;
    color: rgba(255,255,255,.6);
    padding: 8px 12px;
}
.tn-mobile-sub-list .tn-mobile-section-link {
    justify-content: space-between;
    min-height: 40px;
    margin-top: 4px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: .82rem;
}
.tn-mobile-section-link strong {
    padding: 0;
}
.tn-mobile-section-link i {
    font-size: .68rem;
    opacity: .7;
}
.tn-mobile-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 16px 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.tn-mobile-header-actions .tn-header-menu-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    color: #fff;
    font-size: .86rem;
}
.tn-mobile-header-actions .tn-header-menu-action.is-telegram .tn-header-menu-action-icon {
    color: #4fc3f7;
}
.tn-mobile-header-actions .tn-header-menu-action.is-instagram .tn-header-menu-action-icon {
    color: #ff7db7;
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
#tn-back-top {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 44px; height: 44px;
    background: var(--tn-primary);
    color: #fff;
    border-radius: var(--tn-radius);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: var(--tn-shadow-blue);
    opacity: 0;
    transform: translateY(10px);
    transition: var(--tn-transition);
    z-index: 500;
    border: none;
}
#tn-back-top.visible { opacity: 1; transform: translateY(0); }
#tn-back-top:hover { background: var(--tn-primary-dark); }

/* ============================================================
   LOADING SPINNER
   ============================================================ */
.tn-spinner {
    width: 36px; height: 36px;
    border: 3px solid var(--tn-primary-border);
    border-top-color: var(--tn-primary);
    border-radius: 50%;
    animation: tn-spin 0.8s linear infinite;
    margin: 20px auto;
}
@keyframes tn-spin { to { transform: rotate(360deg); } }

/* ============================================================
   NOTICE / ALERT
   ============================================================ */
.tn-notice {
    padding: 12px 16px;
    border-radius: var(--tn-radius-sm);
    font-size: 0.9rem;
    margin-bottom: 16px;
}
.tn-notice-success { background: #D1FAE5; color: #065F46; border: 1px solid #A7F3D0; }
.tn-notice-error { background: #FEE2E2; color: #991B1B; border: 1px solid #FECACA; }
.tn-notice-info { background: var(--tn-primary-bg); color: var(--tn-primary-dark); border: 1px solid var(--tn-primary-border); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
    .tn-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
    .tn-footer-grid .tn-footer-col:last-child { display: none; }
    #tn-footer .tn-footer-builder-top { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
    #tn-footer .tn-footer-builder-top > .wpb_column:last-child { display: none; }
}

@media (max-width: 1024px) {
    .tn-layout-with-sidebar { grid-template-columns: 1fr; }
    .tn-sidebar { position: static; }
    .tn-broker-guide-layout { grid-template-columns: 1fr; }
    .tn-broker-guide-sidebar { position: static; order: -1; }
    .tn-directory-cornerstone .tn-broker-features { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tn-cornerstone-ad-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border-radius: 0; }
    .tn-cornerstone-ad-stack a,
    .tn-cornerstone-ad-stack img { border-radius: 10px; overflow: hidden; }
    .tn-broker-hero-inner { grid-template-columns: auto 1fr; }
    .tn-broker-hero-meta { display: none; }
    .tn-contact-grid { grid-template-columns: 1fr; }
    .tn-grid-4 { grid-template-columns: repeat(2, 1fr); }
    .tn-grid-5 { grid-template-columns: repeat(3, 1fr); }
    .tn-grid-6 { grid-template-columns: repeat(3, 1fr); }
    .tn-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
    .tn-footer-about { grid-column: 1 / -1; }
    #tn-footer .tn-footer-builder-top { grid-template-columns: 1fr 1fr 1fr; }
    #tn-footer .tn-footer-builder-top > .tn-footer-builder-brand-column { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
    :root { --tn-font-size: 14px; }
    .tn-nav { display: none; }
    .tn-menu-toggle { display: flex; }
    .tn-header-social { display: none; }
    .tn-hero-inner { grid-template-columns: 1fr; text-align: center; }
    .tn-hero-image { display: none; }
    .tn-hero-btns { justify-content: center; }
    .tn-stats-inner { grid-template-columns: repeat(2, 1fr); }
    .tn-grid-2 { grid-template-columns: 1fr; }
    .tn-grid-3 { grid-template-columns: 1fr; }
    .tn-grid-4 { grid-template-columns: 1fr; }
    .tn-grid-5 { grid-template-columns: repeat(2, 1fr); }
    .tn-grid-6 { grid-template-columns: repeat(2, 1fr); }
    .tn-broker-card { flex-direction: column; gap: 14px; }
    .tn-broker-features { grid-template-columns: repeat(2, 1fr); }
    .tn-broker-cornerstone { padding: 24px 0 54px; }
    .tn-broker-cornerstone-head h1 { font-size: 1.62rem; }
    .tn-directory-featured-image { margin-bottom: 18px; border-radius: 12px; }
    .tn-directory-cornerstone .tn-broker-card { padding: 22px 18px; }
    .tn-directory-cornerstone .tn-broker-card-logo { width: 112px; height: 63px; }
    .tn-directory-cornerstone .tn-broker-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tn-broker-guide-main { padding: 22px 18px; }
    .tn-broker-finder .tn-filter-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .tn-broker-finder .tn-filter-tab { min-width: max-content; }
    .tn-title-picker { max-height: 260px; overflow-y: auto; }
    .tn-cta-banner { flex-direction: column; text-align: center; padding: 36px 24px; }
    .tn-pros-cons { grid-template-columns: 1fr; }
    .tn-quick-info-grid { grid-template-columns: repeat(2, 1fr); }
    .tn-footer-grid { grid-template-columns: 1fr 1fr; }
    .tn-footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
    #tn-footer .tn-footer-builder-top { grid-template-columns: 1fr 1fr; }
    .tn-section { padding: 40px 0; }
    .tn-section-lg { padding: 50px 0; }
}

@media (max-width: 480px) {
    .tn-grid-5, .tn-grid-6 { grid-template-columns: 1fr; }
    .tn-broker-features { grid-template-columns: 1fr; }
    .tn-directory-cornerstone .tn-broker-features { grid-template-columns: 1fr; }
    .tn-cornerstone-ad-stack { grid-template-columns: 1fr; }
    .tn-broker-card-footer,
    .tn-broker-card-btns { width: 100%; }
    .tn-broker-card-btns { flex-direction: column; }
    .tn-broker-card-footer .tn-btn { justify-content: center; }
    .tn-directory-card-btn { width: 100%; min-width: 0; }
    .tn-broker-card-identity { gap: 10px; }
    .tn-directory-cornerstone .tn-broker-card-logo { width: 96px; height: 54px; }
    .tn-quick-info-grid { grid-template-columns: 1fr; }
    .tn-quick-info-item { border-left: none; border-bottom: 1px solid var(--tn-primary-border); }
    .tn-footer-grid { grid-template-columns: 1fr; }
    #tn-footer .tn-footer-builder-top { grid-template-columns: 1fr; }
    .tn-cta-banner { padding: 28px 20px; }
    .tn-filter-bar-inner { flex-direction: column; align-items: stretch; }
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
    #tn-header, #tn-footer, #tn-back-top, .tn-sidebar { display: none !important; }
    body { color: #000; background: #fff; }
}

/* ============================================================
   WPBakery Visual Composer Compat
   ============================================================ */
.vc_row-fluid { margin: 0; }
.wpb_content_element { margin-bottom: 24px; }

.tn-home-row {
    margin-left: 0;
    margin-right: 0;
}

.tn-home-row .wpb_content_element,
.tn-home-row .vc_column_container > .vc_column-inner {
    margin-bottom: 0;
}

.tn-home-row .vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}

/* ============================================================
   PRICES PAGE
   ============================================================ */
.tn-price-widget-card {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    border: 1px solid var(--tn-border);
    overflow: hidden;
    box-shadow: var(--tn-shadow-sm);
}
.tn-prices-grid-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tn-dark);
    margin: 24px 0 14px;
    padding-right: 12px;
    border-right: 4px solid var(--tn-primary);
}
.tn-prices-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.tn-prices-grid-2 { grid-template-columns: repeat(2, 1fr); }
.tn-prices-grid-3 { grid-template-columns: repeat(3, 1fr); }
.tn-price-mini-card {
    background: #fff;
    border-radius: var(--tn-radius);
    border: 1px solid var(--tn-border);
    overflow: hidden;
    box-shadow: var(--tn-shadow-sm);
    transition: box-shadow .2s;
}
.tn-price-mini-card:hover { box-shadow: var(--tn-shadow-md); }
.tn-price-mini-card-lg { /* wider card for 2-col or 3-col grids */ }

/* ============================================================
   INDIVIDUAL SYMBOL PRICE PAGES
   ============================================================ */
.tn-symbol-page {
    background: #fff;
    padding: 118px 0 72px;
}

.tn-symbol-container {
    max-width: 1160px;
}

.tn-symbol-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 28px;
    width: max-content;
    max-width: 100%;
    padding: 8px 14px;
    border: 1px solid #e5ebf4;
    border-radius: 999px;
    background: #f7f9fc;
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
}

.tn-symbol-breadcrumb a {
    color: #7282a2;
}

.tn-symbol-breadcrumb strong {
    color: #1c2f55;
}

.tn-symbol-breadcrumb .sep,
.tn-fc-breadcrumb .sep {
    color: #aab4c4;
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1;
}

.tn-symbol-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 26px;
    align-items: start;
    margin-bottom: 24px;
}

.tn-symbol-market {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 8px;
    background: #eff5ff;
    color: #2d6fff;
    font-size: 13px;
    font-weight: 900;
}

.tn-symbol-hero h1 {
    margin: 10px 0 4px;
    color: #14284d;
    font-size: 34px;
    line-height: 1.45;
    font-weight: 950;
}

.tn-symbol-code {
    margin-top: 10px;
    color: #7b8baa;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 2px;
}

.tn-symbol-intro {
    margin: 8px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #40516f;
    font-size: 15px;
    line-height: 2;
    box-shadow: none;
}

.tn-symbol-intro > :first-child { margin-top: 0; }
.tn-symbol-intro > :last-child { margin-bottom: 0; }

.tn-symbol-quote-card {
    display: grid;
    gap: 10px;
    min-height: 146px;
    padding: 14px;
    border: 1px solid #e1e8f3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(26, 52, 96, .07);
    align-self: start;
}

.tn-symbol-tv-widget {
    overflow: hidden;
}

.tn-symbol-trade-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px;
    border-radius: 8px;
    background: #2d6fff;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.tn-symbol-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px;
}

.tn-symbol-stats div {
    min-height: 76px;
    padding: 14px 16px;
    border: 1px solid #e8edf6;
    border-radius: 10px;
    background: #f8fbff;
}

.tn-symbol-stats span {
    display: block;
    margin-bottom: 7px;
    color: #8a98b2;
    font-size: 12px;
    font-weight: 800;
}

.tn-symbol-stats strong {
    color: #1a2c50;
    font-size: 14px;
    font-weight: 950;
}

.tn-symbol-chart-area {
    margin: 0 0 26px;
}

.tn-symbol-chart-head {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.tn-symbol-chart-head button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    background: #edf4ff;
    color: #2d6fff;
    font-size: 13px;
    font-weight: 950;
}

.tn-symbol-chart-grid {
    display: grid;
    grid-template-columns: minmax(320px, 340px) minmax(0, 1fr);
    grid-template-areas: "tech chart";
    gap: 16px;
    direction: ltr;
}

.tn-symbol-tech-card,
.tn-symbol-main-chart,
.tn-symbol-panel,
.tn-symbol-content,
.tn-symbol-faq {
    border: 1px solid #e0e7f2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(26, 52, 96, .055);
    overflow: hidden;
}

.tn-symbol-tech-card {
    min-width: 0;
    padding: 16px 12px;
    grid-area: tech;
    direction: rtl;
}

.tn-symbol-tech-card .tn-symbol-tv-widget,
.tn-symbol-tech-card .tradingview-widget-container__widget,
.tn-symbol-tech-card iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.tn-symbol-tech-card h2 {
    margin: 0 0 12px;
    color: #23395f;
    font-size: 16px;
    font-weight: 950;
}

.tn-symbol-main-chart {
    min-height: 520px;
    grid-area: chart;
    direction: rtl;
}

.tn-symbol-related {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    margin: 28px 0;
}

.tn-symbol-panel {
    min-height: 258px;
}

.tn-symbol-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 60px;
    padding: 0 18px;
    border-bottom: 1px solid #edf1f7;
}

.tn-symbol-panel-head h2 {
    margin: 0;
    color: #172d53;
    font-size: 17px;
    font-weight: 950;
}

.tn-symbol-panel-head a {
    color: #2d6fff;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.tn-symbol-side-list {
    display: grid;
}

.tn-symbol-side-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 46px;
    padding: 0 18px;
    border-bottom: 1px solid #eef2f7;
    color: #263a5f;
    font-size: 14px;
    font-weight: 750;
}

.tn-symbol-side-list a:hover {
    color: #2d6fff;
}

.tn-symbol-side-list i {
    color: #2d6fff;
    font-size: 11px;
}

.tn-symbol-empty {
    padding: 22px;
    color: #7a8aa6;
    font-size: 14px;
    line-height: 1.9;
}

.tn-symbol-analysis-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
}

.tn-symbol-analysis-thumb {
    display: block;
    min-height: 126px;
    border-radius: 10px;
    overflow: hidden;
    background: #edf4ff;
}

.tn-symbol-analysis-thumb img {
    width: 100%;
    height: 100%;
    min-height: 126px;
    object-fit: cover;
}

.tn-symbol-analysis-thumb span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 126px;
    color: #2d6fff;
    font-size: 34px;
}

.tn-symbol-analysis-card h3 {
    margin: 2px 0 8px;
    color: #192e55;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 950;
}

.tn-symbol-analysis-card p {
    margin: 0 0 14px;
    color: #64748f;
    font-size: 13px;
    line-height: 1.9;
}

.tn-symbol-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #93a0b7;
    font-size: 12px;
    font-weight: 700;
}

.tn-symbol-ad-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 100%;
    margin: 22px 0 30px;
}

.tn-symbol-ad {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 3 / 1;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dbe6f6;
    background: #fff;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tn-symbol-ad:hover {
    transform: translateY(-1px);
    border-color: #b9cced;
    box-shadow: 0 14px 32px rgba(24, 45, 80, .08);
}

.tn-symbol-ad img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

.tn-symbol-ad-placeholder {
    min-height: 0;
    max-height: none;
    aspect-ratio: 3 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 16px;
    text-align: center;
    color: #2f65d9;
    border: 1px dashed #b9cced;
    background:
        linear-gradient(135deg, rgba(47, 101, 217, .08), rgba(255, 255, 255, .92)),
        repeating-linear-gradient(-45deg, rgba(47, 101, 217, .05) 0 8px, transparent 8px 16px);
}

.tn-symbol-ad-placeholder span {
    font-size: 12px;
    font-weight: 850;
    color: #7a8daf;
}

.tn-symbol-ad-placeholder strong {
    font-size: 16px;
    font-weight: 950;
    color: #1d3971;
}

@media (max-width: 768px) {
    .tn-symbol-ad-row {
        grid-template-columns: 1fr;
    }

    .tn-symbol-ad img,
    .tn-symbol-ad-placeholder {
        max-height: none;
    }
}

.tn-symbol-ad-placeholder em {
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
    color: #2f65d9;
}

.tn-symbol-content {
    padding: 34px 42px;
    color: #334569;
    font-size: 16px;
    line-height: 2.25;
}

.tn-symbol-content h2 {
    margin: 34px 0 14px;
    color: #1b3973;
    font-size: 23px;
    line-height: 1.65;
    font-weight: 950;
}

.tn-symbol-content h2:first-child {
    margin-top: 0;
}

.tn-symbol-content p {
    margin: 0 0 16px;
}

.tn-symbol-content ul {
    margin: 0 0 20px;
    padding: 0 22px 0 0;
}

.tn-symbol-content li {
    margin: 6px 0;
}

.tn-symbol-correlation-table {
    width: 100%;
    margin: 18px 0 24px;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid #e2e8f3;
    border-radius: 10px;
    font-size: 14px;
}

.tn-symbol-correlation-table th,
.tn-symbol-correlation-table td {
    padding: 13px 16px;
    border-bottom: 1px solid #edf2f8;
    text-align: right;
}

.tn-symbol-correlation-table th {
    background: #f5f8fd;
    color: #1e3358;
    font-weight: 950;
}

.tn-symbol-faq {
    margin-top: 28px;
    padding: 24px 28px;
}

.tn-symbol-faq h2 {
    margin: 0 0 16px;
    color: #172d53;
    font-size: 22px;
    font-weight: 950;
}

.tn-symbol-faq details {
    border-top: 1px solid #e5ebf5;
}

.tn-symbol-faq summary {
    display: flex;
    align-items: center;
    min-height: 58px;
    cursor: pointer;
    color: #20375f;
    font-size: 15px;
    font-weight: 850;
}

.tn-symbol-faq p {
    margin: 0 0 18px;
    color: #5d6f90;
    font-size: 14px;
    line-height: 2;
}

.tn-symbol-comments {
    margin-bottom: 72px;
}

.tn-symbol-index {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 14px;
}

.tn-symbol-index a {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid #e2e8f2;
    border-radius: 12px;
    background: #fff;
    color: #1d3359;
}

.tn-symbol-index i {
    color: #2d6fff;
    font-size: 24px;
}

.tn-symbol-index span {
    font-size: 15px;
    font-weight: 950;
}

.tn-symbol-index em {
    color: #7c8ca7;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    direction: ltr;
    text-align: right;
}

@media (max-width: 1024px) {
    .tn-symbol-page { padding-top: 96px; }
    .tn-symbol-stats { grid-template-columns: repeat(3, 1fr); }
    .tn-symbol-chart-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "chart"
            "tech";
    }
    .tn-symbol-related { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
    .tn-symbol-hero { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .tn-symbol-page { padding-top: 84px; }
    .tn-symbol-hero h1 { font-size: 27px; }
    .tn-symbol-intro { font-size: 14px; }
    .tn-symbol-stats { grid-template-columns: 1fr 1fr; }
    .tn-symbol-ad-row { grid-template-columns: 1fr; }
    .tn-symbol-analysis-card { grid-template-columns: 1fr; }
    .tn-symbol-content { padding: 26px 20px; font-size: 15px; }
    .tn-symbol-content h2 { font-size: 20px; }
}

@media (max-width: 480px) {
    .tn-symbol-stats { grid-template-columns: 1fr; }
}

/* ============================================================
   TOOLS PAGE
   ============================================================ */
.tn-tool-page,
.tn-tool-index-page {
    background: #fff;
    padding: 118px 0 72px;
}

.tn-tool-hero,
.tn-tool-index-hero {
    margin-bottom: 22px;
}

.tn-tool-hero h1,
.tn-tool-index-hero h1 {
    max-width: 860px;
    margin: 16px 0 12px;
    color: #14284d;
    font-size: 34px;
    line-height: 1.45;
    font-weight: 950;
}

.tn-tool-hero p,
.tn-tool-index-hero p {
    max-width: 920px;
    margin: 0;
    color: #536684;
    font-size: 15px;
    line-height: 2.15;
}

.tn-tool-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px;
}

.tn-tool-stats div {
    min-height: 76px;
    padding: 14px 16px;
    border: 1px solid #e8edf6;
    border-radius: 10px;
    background: #f8fbff;
}

.tn-tool-stats span {
    display: block;
    margin-bottom: 7px;
    color: #8a98b2;
    font-size: 12px;
    font-weight: 800;
}

.tn-tool-stats strong {
    color: #1a2c50;
    font-size: 14px;
    font-weight: 950;
}

.tn-tool-workspace {
    margin-bottom: 28px;
}

.tn-tool-page-grid {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 16px;
    direction: ltr;
}

.tn-tool-page-side,
.tn-tool-page-main {
    direction: rtl;
}

.tn-tool-page-main > .tn-calc-wrap,
.tn-tool-widget-card,
.tn-tool-side-card,
.tn-tool-index-card {
    border: 1px solid #e0e7f2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(26, 52, 96, .055);
    overflow: hidden;
}

.tn-tool-page-main > .tn-calc-wrap {
    margin: 0;
    min-height: 520px;
}

.tn-tool-page-main .tn-calc-header {
    border-radius: 0;
}

.tn-tool-page-main .tn-calc-body {
    padding: 28px;
}

.tn-tool-side-card {
    position: sticky;
    top: 122px;
    padding: 14px;
}

.tn-tool-side-card h2 {
    margin: 2px 4px 12px;
    color: #23395f;
    font-size: 16px;
    font-weight: 950;
}

.tn-tool-side-card nav {
    display: grid;
    gap: 6px;
}

.tn-tool-side-card a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    color: #536684;
    font-size: 13px;
    font-weight: 850;
}

.tn-tool-side-card a:hover,
.tn-tool-side-card a.active {
    background: #edf4ff;
    color: #2d6fff;
}

.tn-tool-side-card i {
    width: 18px;
    text-align: center;
}

.tn-tool-widget-head {
    padding: 20px 24px;
    border-bottom: 1px solid #edf1f7;
    background: #f8fbff;
}

.tn-tool-widget-head h2 {
    margin: 0 0 6px;
    color: #172d53;
    font-size: 19px;
    font-weight: 950;
}

.tn-tool-widget-head p {
    margin: 0;
    color: #7282a2;
    font-size: 13px;
    line-height: 1.8;
}

.tn-tool-calendar-frame {
    padding: 18px;
}

.tn-session-clock {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 24px;
    padding: 18px 20px;
    border-radius: 10px;
    background: #eef5ff;
}

.tn-session-clock span {
    color: #6b7c98;
    font-size: 13px;
    font-weight: 850;
}

.tn-session-clock strong {
    color: #1e56c5;
    font-size: 28px;
    font-weight: 950;
    direction: ltr;
}

.tn-session-list {
    display: grid;
    gap: 12px;
    padding: 0 24px 24px;
}

.tn-session-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border: 1px solid #e3eaf4;
    border-radius: 10px;
    background: #fff;
}

.tn-session-row strong {
    display: block;
    color: #1d3158;
    font-size: 15px;
    font-weight: 950;
}

.tn-session-row span {
    display: block;
    margin-top: 4px;
    color: #7b89a5;
    font-size: 12px;
    direction: ltr;
    text-align: right;
}

.tn-session-row em {
    min-width: 72px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

.tn-session-row.open em {
    background: #e8fbf3;
    color: #059669;
}

.tn-session-row b {
    grid-column: 1 / -1;
    display: block;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.tn-session-row b i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2d6fff, #22c55e);
}

.tn-session-overlap {
    margin: 0 24px 24px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f8fbff;
    color: #23395f;
    font-size: 14px;
    font-weight: 900;
}

.tn-correlation-controls {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
}

.tn-correlation-controls label {
    display: grid;
    gap: 8px;
    min-width: 220px;
    color: #34486b;
    font-size: 13px;
    font-weight: 900;
}

.tn-corr-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 3px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.tn-corr-chip.positive { background: #e8fbf3; color: #047857; }
.tn-corr-chip.negative { background: #fff1f2; color: #be123c; }
.tn-corr-chip.neutral { background: #f1f5f9; color: #64748b; }

.tn-correlation-table-wrap {
    padding: 0 24px 26px;
    overflow-x: auto;
}

.tn-correlation-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.tn-correlation-table th,
.tn-correlation-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #edf2f7;
    text-align: right;
    white-space: nowrap;
}

.tn-correlation-table th {
    color: #20375f;
    font-weight: 950;
    background: #f8fbff;
}

.tn-correlation-table tr.positive td:nth-child(2) { color: #059669; font-weight: 950; }
.tn-correlation-table tr.negative td:nth-child(2) { color: #e11d48; font-weight: 950; }

.tn-tool-content {
    margin-top: 0;
}

.tn-tool-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.tn-tool-index-card {
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 22px;
    color: #1d3158;
}

.tn-tool-index-card:hover {
    border-color: #bcd1ff;
    transform: translateY(-2px);
}

.tn-tool-index-card i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #edf4ff;
    color: #2d6fff;
    font-size: 18px;
}

.tn-tool-index-card strong {
    font-size: 17px;
    font-weight: 950;
}

.tn-tool-index-card span {
    color: #7282a2;
    font-size: 13px;
    font-weight: 800;
}

.tn-tools-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 28px;
    align-items: start;
}
.tn-tools-sidebar { position: sticky; top: 120px; }
.tn-sidebar-card {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    border: 1px solid var(--tn-border);
    padding: 20px;
    box-shadow: var(--tn-shadow-sm);
}
.tn-sidebar-card-blue { background: var(--tn-primary); border-color: var(--tn-primary); }
.tn-sidebar-card-blue h3 { color: #fff; margin: 0 0 14px; font-size: 1rem; }
.tn-tools-sidebar-nav { display: flex; flex-direction: column; gap: 4px; }
.tn-tools-sidebar-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--tn-radius);
    color: rgba(255,255,255,.85);
    font-size: 0.9rem;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.tn-tools-sidebar-link:hover,
.tn-tools-sidebar-link.active { background: rgba(255,255,255,.18); color: #fff; }
.tn-tool-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 12px 18px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--tn-text-muted);
    white-space: nowrap;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: color .2s, border-color .2s;
}
.tn-tool-nav-btn:hover { color: var(--tn-primary); border-bottom-color: var(--tn-primary); }

/* Tool section card */
.tn-tool-section {
    background: #fff;
    border-radius: var(--tn-radius-lg);
    border: 1px solid var(--tn-border);
    overflow: hidden;
    margin-bottom: 28px;
    box-shadow: var(--tn-shadow-sm);
    scroll-margin-top: 130px;
}
.tn-tool-section-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--tn-border);
    background: var(--tn-gray-50);
}
.tn-tool-section-header h2 { font-size: 1.15rem; margin: 0 0 4px; color: var(--tn-dark); }
.tn-tool-section-header p  { font-size: 0.88rem; color: var(--tn-text-muted); margin: 0; }
.tn-tool-section-icon {
    width: 52px; height: 52px; flex-shrink: 0;
    background: linear-gradient(135deg, var(--tn-primary), var(--tn-primary-dark));
    border-radius: var(--tn-radius);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.3rem;
}
.tn-tool-calc-body { padding: 24px; border-bottom: 1px solid var(--tn-border); }
/* Override inner calc-wrap styles when embedded in tool section */
.tn-tool-calc-body .tn-calc-wrap {
    box-shadow: none;
    border-radius: 0;
    margin: 0;
}
.tn-tool-calc-body .tn-calc-header { border-radius: 0; }

/* Educational area */
.tn-tool-edu { padding: 24px; background: var(--tn-primary-bg2); }
.tn-tool-edu h3 { font-size: 1rem; margin: 0 0 10px; color: var(--tn-dark); }
.tn-tool-edu p  { font-size: 0.9rem; color: var(--tn-text-muted); line-height: 1.8; margin: 0 0 16px; }
.tn-tool-edu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}
.tn-tool-edu-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px;
    background: #fff;
    border-radius: var(--tn-radius);
    border: 1px solid var(--tn-border);
}
.tn-tool-edu-item i  { font-size: 1.1rem; margin-bottom: 4px; }
.tn-tool-edu-item strong { font-size: 0.88rem; color: var(--tn-dark); }
.tn-tool-edu-item span   { font-size: 0.82rem; color: var(--tn-text-muted); line-height: 1.5; }

/* RESPONSIVE — tools & prices */
@media (max-width: 1024px) {
    .tn-tool-page-grid { grid-template-columns: 1fr; direction: rtl; }
    .tn-tool-side-card { position: static; }
    .tn-tool-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tn-prices-grid { grid-template-columns: repeat(2, 1fr); }
    .tn-mini-charts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .tn-tool-page,
    .tn-tool-index-page { padding-top: 84px; }
    .tn-tool-hero h1,
    .tn-tool-index-hero h1 { font-size: 27px; }
    .tn-tool-stats { grid-template-columns: 1fr; }
    .tn-correlation-controls { align-items: stretch; flex-direction: column; }
    .tn-tools-layout { grid-template-columns: 1fr; }
    .tn-tools-sidebar { position: static; }
    .tn-prices-grid { grid-template-columns: 1fr 1fr; }
    .tn-prices-grid-3 { grid-template-columns: 1fr; }
    .tn-tool-section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .tn-mini-charts-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .tn-tool-index-grid { grid-template-columns: 1fr; }
    .tn-tool-page-main .tn-calc-body { padding: 20px; }
    .tn-prices-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   TRADERNOVA HOMEPAGE
   ============================================================ */
:root {
    --tn-border: #e2e8f0;
}

.home #tn-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent;
    border-bottom: 0;
    box-shadow: none;
}

body.admin-bar.home #tn-header { top: 32px; }

.home #tn-header.scrolled {
    background: transparent;
    backdrop-filter: none;
}

.home .tn-header-inner {
    max-width: 1140px;
    height: 80px;
    margin: 20px auto 0;
    padding: 0 24px;
    gap: 16px;
    background: rgba(255, 255, 255, .85);
    border: 1px solid #E9EBF1;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .02), 0 4px 8px rgba(0, 0, 0, .04);
    backdrop-filter: blur(20px);
}

.home #tn-header.scrolled .tn-header-inner {
    max-width: 1140px;
    margin: 20px auto 0;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .02), 0 4px 8px rgba(0, 0, 0, .04);
}

.home .tn-logo img { height: 32px; }

.home .tn-logo { order: 1; }
.home .tn-nav-wrap { order: 2; }
.home .tn-header-search { order: 3; }
.home .tn-header-actions { order: 4; }

.home .tn-nav {
    gap: 24px;
}

.home .tn-nav > li > a {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 400;
    color: #253B73;
    border-radius: 0;
}

.home .tn-nav > li > a:hover,
.home .tn-nav > li.active > a {
    color: #1B68E0;
    background: transparent;
}

.home .tn-header-search {
    flex-basis: 200px;
    height: 32px;
    padding: 0 16px 0 12px;
    border-color: #E9EBF1;
    border-radius: 12px;
    background: #fff;
}

.home .tn-header-search input {
    font-size: 12px;
    line-height: 1.6;
}
.home .tn-header-social { display: none; }

.tn-header-login {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border-radius: 12px;
    background: #253B73;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    box-shadow: none;
}

.tn-header-login:hover { color: #fff; background: #0D3A8A; }

.home .tn-mega-menu {
    top: calc(100% + 8px);
    border-color: #e2e8f0;
    border-radius: 24px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .15);
}

.home .tn-mega-menu.wide {
    right: 50%;
    min-width: min(1116px, calc(100vw - 48px));
    transform: translateX(50%);
}

.home .tn-mega-menu a {
    padding: 10px 20px;
    font-size: 14px;
}

.irx-home {
    background: #fff;
    color: #24364f;
    --tn-home-accent: #1B68E0;
    --tn-home-card-bg: #fff;
    --tn-home-card-border: #CBD0DD;
    --tn-home-card-radius: 12px;
}

.irx-home .tn-container {
    width: var(--tn-current-content-width, var(--tn-site-width, 80%));
    max-width: var(--tn-home-container, var(--tn-current-content-max-width, var(--tn-site-max-width, 1600px)));
    padding: 0 12px;
}

.irx-home a,
.irx-home .irx-view-all,
.irx-home .irx-tabs button.active,
.irx-home .irx-market-tabs button.active,
.irx-home .irx-section-head h2 i {
    color: var(--tn-home-accent);
}

.irx-home .irx-tabs button.active,
.irx-home .irx-market-tabs button.active::after,
.irx-home .tn-btn-primary,
.irx-home .irx-news-promo strong {
    background-color: var(--tn-home-accent);
}

.irx-home .irx-entity-card,
.irx-home .irx-cashback-card,
.irx-home .irx-post-card,
.irx-home .irx-review-card,
.irx-home .irx-market-card,
.irx-home .tn-faq-item,
.irx-home .irx-help-card,
.irx-home .irx-tool-panel {
    border-color: var(--tn-home-card-border);
    border-radius: var(--tn-home-card-radius);
    background-color: var(--tn-home-card-bg);
}

.tn-home-has-card-columns .irx-entity-grid,
.tn-home-has-card-columns .irx-cashback-grid,
.tn-home-has-card-columns .irx-post-grid,
.tn-home-has-card-columns .irx-article-grid,
.tn-home-has-card-columns .irx-analysis-grid,
.tn-home-has-card-columns .irx-review-grid {
    grid-template-columns: repeat(var(--tn-home-card-columns), minmax(0, 1fr));
}

.tn-home-title-align-center .irx-section-head,
.tn-home-title-align-center .irx-section-head.compact,
.tn-home-title-align-center .irx-section-head.centered {
    justify-content: center;
    text-align: center;
}

.tn-home-title-align-center .irx-section-head.compact {
    flex-direction: column-reverse;
}

.tn-home-title-align-center .irx-section-head h2 {
    justify-content: center;
}

.tn-home-title-align-left .irx-section-head,
.tn-home-title-align-left .irx-section-head.compact {
    justify-content: flex-start;
    text-align: left;
    direction: ltr;
}

.tn-home-title-align-right .irx-section-head,
.tn-home-title-align-right .irx-section-head.compact {
    justify-content: flex-end;
    text-align: right;
}

.tn-home-layout-compact {
    padding-top: 32px;
    padding-bottom: 32px;
}

.tn-home-layout-wide .tn-container {
    max-width: min(1360px, calc(100vw - 32px));
}

.tn-home-layout-boxed > .tn-container {
    padding: 28px;
    border: 1px solid var(--tn-home-card-border);
    border-radius: var(--tn-home-card-radius);
    background: var(--tn-home-card-bg);
    box-shadow: 0 18px 46px rgba(25, 52, 94, .08);
}

.tn-home-layout-minimal .irx-rail-arrow,
.tn-home-layout-minimal .irx-tabs,
.tn-home-layout-minimal .irx-market-tabs,
.tn-home-layout-minimal .irx-news-list,
.tn-home-layout-minimal .irx-cta-steps {
    display: none;
}

.tn-home-layout-reverse .irx-hero-grid,
.tn-home-layout-reverse .irx-news-layout,
.tn-home-layout-reverse .irx-tool-panel,
.tn-home-layout-reverse .irx-analysis-feature,
.tn-home-layout-reverse .irx-faq-grid {
    direction: rtl;
}

.tn-home-layout-two-columns .irx-post-grid,
.tn-home-layout-two-columns .irx-article-grid,
.tn-home-layout-two-columns .irx-analysis-grid,
.tn-home-layout-two-columns .irx-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tn-home-card-style-flat .irx-entity-card,
.tn-home-card-style-flat .irx-post-card,
.tn-home-card-style-flat .irx-review-card,
.tn-home-card-style-flat .irx-market-card,
.tn-home-card-style-flat .irx-tool-panel {
    box-shadow: none;
}

.tn-home-card-style-shadow .irx-entity-card,
.tn-home-card-style-shadow .irx-post-card,
.tn-home-card-style-shadow .irx-review-card,
.tn-home-card-style-shadow .irx-market-card,
.tn-home-card-style-shadow .irx-tool-panel {
    box-shadow: 0 18px 38px rgba(24, 55, 98, .12);
}

.tn-home-card-style-outline .irx-entity-card,
.tn-home-card-style-outline .irx-post-card,
.tn-home-card-style-outline .irx-review-card,
.tn-home-card-style-outline .irx-market-card,
.tn-home-card-style-outline .irx-tool-panel {
    border-width: 2px;
    box-shadow: none;
}

.tn-home-card-style-compact .irx-entity-card,
.tn-home-card-style-compact .irx-post-body,
.tn-home-card-style-compact .irx-review-card,
.tn-home-card-style-compact .irx-market-body {
    padding: 12px;
}

@media (min-width: 769px) {
    .tn-home-hide-desktop {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .tn-home-hide-mobile {
        display: none !important;
    }

    .tn-home-has-card-columns .irx-entity-grid,
    .tn-home-has-card-columns .irx-cashback-grid,
    .tn-home-has-card-columns .irx-post-grid,
    .tn-home-has-card-columns .irx-article-grid,
    .tn-home-has-card-columns .irx-analysis-grid,
    .tn-home-has-card-columns .irx-review-grid {
        grid-template-columns: 1fr;
    }
}

.irx-hero {
    position: relative;
    overflow: hidden;
    min-height: 615px;
    padding: 150px 0 72px;
    background: #fff;
    border-bottom: 3px solid #2b7bf4;
}

.irx-hero::before {
    content: "";
    position: absolute;
    right: 42%;
    bottom: -32%;
    width: 56%;
    height: 76%;
    border: 2px solid rgba(43, 123, 244, .18);
    border-radius: 50%;
    transform: rotate(12deg);
}

.irx-hero::after {
    content: "";
    position: absolute;
    left: -2%;
    bottom: 28px;
    width: 37%;
    height: 180px;
    opacity: .62;
    background: url("data:image/svg+xml,%3Csvg width='620' height='210' viewBox='0 0 620 210' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 188L152 58C174 39 207 41 226 64L318 174C337 197 371 198 392 177L620 0' stroke='%237DB1F5' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") left bottom / contain no-repeat;
}

.irx-hero-grid {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 32px;
    align-items: center;
    min-height: 390px;
    direction: ltr;
    position: relative;
    z-index: 1;
}

.irx-hero-grid > * { direction: rtl; }

.irx-hero-copy {
    text-align: right;
    justify-self: stretch;
}

.irx-hero-copy h1 {
    margin: 0 0 6px;
    font-size: 32px;
    line-height: 1.55;
    color: #1267df;
    font-weight: 700;
}

.irx-hero-copy p {
    max-width: 560px;
    margin: 0 0 18px;
    color: #253B73;
    font-size: 18px;
    line-height: 28px;
}

.irx-search {
    display: flex;
    align-items: center;
    height: 56px;
    width: min(52vw, 600px);
    max-width: 100%;
    background: #fff;
    border: 1px solid #CBD0DD;
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}

.irx-search input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 14px;
    color: #314767;
    font-family: inherit;
    font-size: 16px;
    background: transparent;
}

.irx-search button {
    width: 48px;
    height: 100%;
    border: 0;
    background: transparent;
    color: #8aa0bd;
    cursor: pointer;
}

.irx-quick-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: 650px;
    margin-top: 22px;
}

.irx-quick-tags a,
.irx-chip-cloud a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 146px;
    min-height: 50px;
    padding: 0 20px;
    border: 2px solid #8bb5ff;
    border-radius: 12px;
    background: #F6F9FE;
    color: #246fdd;
    font-size: 16px;
    font-weight: 700;
}

.irx-quick-tags a {
    flex: 0 0 calc(25% - 9px);
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
}

.irx-quick-tag-icon {
    flex: 0 0 auto;
    font-family: system-ui, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
    font-size: 18px;
    line-height: 1;
}

.irx-quick-tags a:first-child {
    background: #1B68E0;
    color: #fff;
    border-color: #1B68E0;
}

.irx-quick-tags a:hover,
.irx-chip-cloud a:hover {
    background: #1B68E0;
    color: #fff;
}

.irx-hero-visual {
    position: relative;
    height: 430px;
}

.irx-phone {
    position: absolute;
    width: 176px;
    min-height: 345px;
    padding: 18px 14px;
    background: #fff;
    border: 1px solid #d9e5f6;
    border-radius: 18px;
    box-shadow: 0 24px 45px rgba(37, 82, 143, .16);
}

.irx-phone-a {
    left: 0;
    top: 64px;
    transform: rotate(-12deg);
}

.irx-phone-b {
    left: 132px;
    top: 42px;
    transform: rotate(-7deg);
}

.irx-phone-c {
    left: 266px;
    top: 62px;
    transform: rotate(3deg);
}

.irx-phone-top {
    width: 40px;
    height: 4px;
    margin: 0 auto 12px;
    border-radius: 99px;
    background: #d9e5f6;
}

.irx-phone-title {
    margin-bottom: 14px;
    color: #1b3763;
    font-size: 13px;
    font-weight: 800;
}

.irx-app-row,
.irx-market-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 32px;
    margin-bottom: 9px;
    padding: 0 10px;
    border-radius: 9px;
    background: #f5f8fd;
    color: #506681;
    font-size: 12px;
}

.irx-app-row b {
    color: #10a86b;
    font-size: 12px;
}

.irx-market-row em {
    height: 7px;
    border-radius: 99px;
    background: #1B68E0;
}

.irx-score-card {
    display: grid;
    place-items: center;
    height: 118px;
    margin-bottom: 22px;
    border-radius: 14px;
    background: #eff6ff;
    color: #1B68E0;
}

.irx-score-card strong {
    font-size: 32px;
    line-height: 1;
}

.irx-score-card span { font-size: 13px; }

.irx-mini-bars {
    display: flex;
    align-items: end;
    gap: 10px;
    height: 84px;
}

.irx-mini-bars i {
    flex: 1;
    border-radius: 5px 5px 0 0;
    background: #8dbcf7;
}

.irx-mini-bars i:nth-child(1) { height: 24px; }
.irx-mini-bars i:nth-child(2) { height: 42px; }
.irx-mini-bars i:nth-child(3) { height: 34px; }
.irx-mini-bars i:nth-child(4) { height: 52px; background: #10b981; }
.irx-mini-bars i:nth-child(5) { height: 30px; }

.irx-strip-section {
    padding: 74px 0 96px;
    background: #fff;
}

.irx-strip-section.muted,
.irx-chip-section,
.irx-news-section,
.irx-evaluation,
.irx-testimonials,
.irx-articles,
.irx-faq-wrap {
    background: #f5f8fd;
}

.irx-chip-section {
    padding: 64px 0 68px;
    background: #fff;
    border-top: 1px solid #e7ecf4;
}

.irx-chip-section .irx-section-head.centered {
    max-width: 860px;
    margin-bottom: 28px;
}

.irx-chip-section .irx-section-head h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.irx-chip-section .irx-section-head h2 i {
    font-size: 22px;
}

.irx-chip-section .irx-section-head p {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 400;
}
.irx-news-section {
    padding: 58px 0 72px;
    background: #fff;
}
.irx-evaluation { padding: 54px 0; }
.irx-testimonials { padding: 54px 0; }
.irx-analysis {
    padding: 58px 0 46px;
    background: #fff;
    border-top: 1px solid #e9eef6;
}
.irx-articles {
    padding: 48px 0 54px;
    background: #fff;
}

.irx-faq-wrap {
    padding: 48px 0 58px;
    border-top: 1px solid #e1e7f0;
    background: #fff;
}

.irx-section-head {
    margin-bottom: 38px;
}

.irx-section-head.compact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    direction: ltr;
}

.irx-section-head.compact > * {
    direction: rtl;
}

.irx-section-head.centered {
    max-width: 920px;
    margin: 0 auto 34px;
    text-align: center;
}

.irx-section-head h2 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #223a5b;
    font-size: 22px;
    font-weight: 800;
}

.irx-section-head.centered h2 { justify-content: center; }

.irx-section-head h2 i {
    color: #1B68E0;
    font-size: 26px;
}

.irx-section-head p {
    margin: 18px 0 0;
    color: #253B73;
    font-size: 18px;
    line-height: 1.9;
}

.irx-view-all {
    color: #1B68E0;
    font-size: 16px;
    font-weight: 800;
}

.irx-view-all::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 8px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    vertical-align: -4px;
}

.irx-card-rail {
    position: relative;
    display: block;
}

.irx-rail-arrow {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    border: 1px solid #edf1f6;
    border-radius: 50%;
    background: #fff;
    color: #9aa9bd;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(36, 70, 116, .04);
    z-index: 2;
}

.irx-rail-arrow:first-child { right: -58px; }
.irx-rail-arrow:last-child { left: -58px; }

.irx-entity-grid,
.irx-cashback-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.irx-card-rail .irx-entity-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 64px) / 5);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}

.irx-card-rail .irx-entity-grid::-webkit-scrollbar {
    display: none;
}

.irx-card-rail .irx-entity-card {
    scroll-snap-align: start;
}

.irx-entity-card,
.irx-cashback-card {
    min-width: 0;
    min-height: 360px;
    padding: 22px 14px 18px;
    border: 1px solid #CBD0DD;
    border-radius: 18px;
    background: #fff;
    color: #263d5f;
    text-align: center;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.irx-entity-card:hover,
.irx-cashback-card:hover,
.irx-post-card:hover,
.irx-review-card:hover {
    transform: translateY(-2px);
    border-color: #b9d5ff;
    box-shadow: 0 14px 30px rgba(36, 70, 116, .10);
}

.irx-entity-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 112px;
    margin-bottom: 38px;
    padding: 8px;
    border: 1px solid #edf2f8;
    border-radius: 10px;
    background: #fafcff;
}

.irx-entity-logo img,
.irx-cashback-card img {
    width: 100%;
    max-width: 160px;
    height: auto;
    max-height: 84px;
    object-fit: contain;
}

.irx-rating-badge {
    position: absolute;
    left: 50%;
    bottom: -20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 126px;
    height: 38px;
    padding: 0 9px;
    border: 2px solid #7fa9ff;
    border-radius: 11px;
    background: #fff;
    color: #6e7d99;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    transform: translateX(-50%);
}

.irx-rating-badge span {
    white-space: nowrap;
}

.irx-rating-badge b {
    color: #253B73;
    font-size: 17px;
    font-weight: 900;
}

.irx-rating-badge i {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 5px;
    background: #253B73;
    color: #fff;
    font-size: 12px;
}

.irx-entity-card strong,
.irx-cashback-card strong {
    display: block;
    overflow: hidden;
    color: #253b5a;
    font-size: 18px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.45;
    min-height: 28px;
}

.irx-entity-card small {
    display: none;
    margin-top: 5px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eef6ff;
    color: #1B68E0;
    font-size: 11px;
    font-weight: 800;
}

.irx-stars {
    display: none;
    direction: ltr;
    margin-top: 6px;
    color: #f5b23b;
    font-size: 12px;
    letter-spacing: 0;
}

.irx-stars b {
    color: #61728a;
    font-size: .66rem;
}

.irx-entity-card em,
.irx-cashback-card span {
    display: block;
    min-height: 22px;
    margin-top: 4px;
    overflow: hidden;
    color: #65799d;
    font-size: 14px;
    line-height: 1.45;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.irx-card-actions {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 10px;
    direction: ltr;
    margin-top: 14px;
}

.irx-card-actions span,
.irx-cashback-card em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid #bcd6ff;
    border-radius: 10px;
    color: #1B68E0;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.irx-card-actions span:first-child {
    border-color: transparent;
    background: transparent;
}

.irx-card-actions span:last-child {
    background: #fff;
    color: #1B68E0;
    border-color: #7fa9ff;
}

.irx-chip-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 18px;
    max-width: 1000px;
    margin: 0 auto;
}

.irx-chip-cloud a {
    min-height: 44px;
    padding: 0 22px;
    border-color: #d3dceb;
    border-radius: 22px;
    background: #fff;
    color: #253B73;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(36, 70, 116, .02);
}

.irx-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #E9EBF1;
}

.irx-tabs button {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 16px 8px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #7684a7;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
}

.irx-tabs button.active {
    background: transparent;
    color: #1B68E0;
    border-bottom-color: #1B68E0;
}

.irx-tabs button:focus-visible {
    outline: 2px solid rgba(27, 104, 224, .24);
    outline-offset: 2px;
}

.irx-news-section .irx-section-head {
    margin-bottom: 22px;
}

.irx-news-section .irx-tabs {
    justify-content: flex-start;
    margin-bottom: 20px;
}

.irx-news-section .irx-tabs button {
    min-width: 106px;
    justify-content: center;
    font-size: 15px;
}

.irx-tab-hidden {
    display: none !important;
}

.irx-empty-state {
    grid-column: 1 / -1;
    margin: 0;
    padding: 24px;
    border: 1px solid #e6ebf3;
    border-radius: 8px;
    background: #f8fbff;
    color: #71809a;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
}

.irx-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 37.5%;
    gap: 26px;
    align-items: start;
    direction: rtl;
}

.irx-news-layout > * {
    direction: rtl;
}

.irx-news-list {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 1px;
}

.irx-news-side-title {
    min-height: 34px;
    margin-bottom: 8px;
    border-bottom: 2px solid #e6ebf3;
    color: #3974ef;
    font-size: 16px;
    font-weight: 900;
    text-align: center;
}

.irx-news-mini {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    min-height: 98px;
    padding: 10px 0;
    border-bottom: 1px solid #e6ebf3;
    color: inherit;
}

.irx-news-mini-thumb {
    position: relative;
    align-self: center;
    height: 82px;
    overflow: hidden;
    border-radius: 8px;
    background: #f0f5ff;
}

.irx-news-mini-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.irx-news-mini-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
}

.irx-news-mini-copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: #253B73;
    font-size: 14px;
    line-height: 1.65;
    font-weight: 700;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.irx-news-mini-copy em {
    align-self: flex-start;
    margin-top: 8px;
    padding: 3px 11px;
    border-radius: 8px;
    background: #eef4ff;
    color: #5675b3;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

.irx-news-mini-copy time {
    margin-top: 5px;
    color: #a2aec2;
    font-size: 11px;
}

.irx-news-promo {
    display: grid;
    grid-template-columns: 1fr 112px;
    gap: 18px;
    align-items: center;
    min-height: 78px;
    margin-top: 14px;
    padding: 12px 16px;
    border-radius: 10px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(42, 90, 207, .96), rgba(81, 126, 249, .96)),
        radial-gradient(circle at 0 100%, rgba(255,255,255,.20), transparent 36%);
    color: #fff;
}

.irx-news-promo span {
    display: grid;
    gap: 7px;
}

.irx-news-promo b {
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.irx-news-promo em {
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-style: normal;
}

.irx-news-promo strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.irx-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.irx-article-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.irx-news-section .irx-post-grid {
    grid-column: 1;
    grid-row: 1;
    gap: 16px;
}

.irx-post-card {
    overflow: hidden;
    border: 1px solid #CBD0DD;
    border-radius: 12px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.irx-post-thumb {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eff6ff;
}

.irx-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.irx-chart-art span,
.irx-mini-chart {
    position: absolute;
    inset: 0;
    display: block;
    background:
        linear-gradient(150deg, rgba(11, 30, 62, .88), rgba(25, 95, 180, .62)),
        linear-gradient(90deg, transparent 0 16%, rgba(255,255,255,.12) 16% 17%, transparent 17% 33%, rgba(255,255,255,.12) 33% 34%, transparent 34% 50%, rgba(255,255,255,.12) 50% 51%, transparent 51% 67%, rgba(255,255,255,.12) 67% 68%, transparent 68%),
        linear-gradient(0deg, transparent 0 20%, rgba(255,255,255,.10) 20% 21%, transparent 21% 42%, rgba(255,255,255,.10) 42% 43%, transparent 43% 64%, rgba(255,255,255,.10) 64% 65%, transparent 65%);
}

.irx-news-section .irx-chart-art span {
    background:
        linear-gradient(135deg, #edf5ff, #ffffff 48%, #dceafe),
        radial-gradient(circle at 88% 18%, rgba(59, 116, 240, .18), transparent 22%);
}

.irx-news-section .irx-chart-art span::before {
    right: 18%;
    bottom: 22%;
    width: 48%;
    height: 42%;
    clip-path: polygon(0 35%, 55% 18%, 55% 82%, 0 65%);
    background: #7ab0ff;
    box-shadow: 20px 2px 0 rgba(255,255,255,.72), 36px 8px 0 rgba(49, 103, 229, .16);
}

.irx-news-section .irx-chart-art span::after {
    content: "";
    position: absolute;
    right: 58%;
    bottom: 24%;
    width: 12%;
    height: 34%;
    border-radius: 3px;
    background: #23458d;
    transform: rotate(-10deg);
}

.irx-news-section .art-1 span,
.irx-news-section .art-5 span {
    background:
        linear-gradient(135deg, #071941, #183375 56%, #050b21),
        radial-gradient(circle at 84% 18%, rgba(252, 196, 69, .34), transparent 16%);
}

.irx-news-section .art-1 span::before,
.irx-news-section .art-5 span::before {
    background: linear-gradient(135deg, #f1b947, #f8dc87);
    box-shadow: 20px 2px 0 rgba(255,255,255,.10), 36px 8px 0 rgba(255, 210, 95, .18);
}

.irx-news-section .art-2 span,
.irx-news-section .art-6 span {
    background:
        linear-gradient(135deg, #eaf3ff, #f8fbff 50%, #dfeaff),
        radial-gradient(circle at 14% 18%, rgba(41, 94, 218, .18), transparent 20%);
}

.irx-news-section .art-3 span {
    background: linear-gradient(135deg, #eff6ff, #dfeeff);
}

.irx-news-section .art-4 span {
    background: linear-gradient(135deg, #101b38, #1d3e78);
}

.irx-chart-art span::before,
.irx-mini-chart::before {
    content: "";
    position: absolute;
    right: 11%;
    bottom: 24%;
    width: 76%;
    height: 42%;
    clip-path: polygon(0 70%, 15% 42%, 28% 56%, 42% 18%, 56% 32%, 71% 8%, 86% 25%, 100% 12%, 100% 24%, 86% 37%, 71% 20%, 56% 44%, 42% 30%, 28% 68%, 15% 54%, 0 82%);
    background: #33d28f;
    box-shadow: 0 0 18px rgba(51, 210, 143, .36);
}

.art-2 span::before,
.art-5 span::before,
.irx-mini-chart.down::before {
    clip-path: polygon(0 16%, 16% 32%, 31% 24%, 48% 54%, 62% 47%, 76% 70%, 100% 62%, 100% 74%, 76% 82%, 62% 59%, 48% 66%, 31% 36%, 16% 44%, 0 28%);
    background: #ffbf57;
}

.art-3 span { background: linear-gradient(135deg, #11264b, #305fc5); }
.art-4 span { background: linear-gradient(135deg, #073b4c, #148f77); }
.art-5 span { background: linear-gradient(135deg, #2c1d53, #1B68E0); }
.art-6 span { background: linear-gradient(135deg, #192236, #596d87); }

.irx-post-body {
    padding: 12px 14px 14px;
}

.irx-news-section .irx-post-body {
    padding: 11px 15px 13px;
}

.irx-post-body small {
    display: inline-flex;
    margin-bottom: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1B68E0;
    font-size: 11px;
    font-weight: 900;
}

.irx-post-body h3 {
    display: -webkit-box;
    min-height: 42px;
    margin: 0;
    overflow: hidden;
    color: #243a5a;
    font-size: 13px;
    line-height: 1.7;
    font-weight: 800;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.irx-news-section .irx-post-body h3 {
    min-height: 38px;
    font-size: 12.5px;
    line-height: 1.58;
}

.irx-post-body h3 a { color: inherit; }

.irx-post-body time {
    display: block;
    margin-top: 7px;
    color: #91a1b5;
    font-size: 11px;
}

.irx-news-section .irx-post-body time {
    margin-top: 5px;
}

.irx-blue-cta {
    padding: 76px 0 30px;
    background: #fff;
}

.irx-blue-cta + .irx-strip-section {
    padding-top: 42px;
}

.irx-cta-panel {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    min-height: 344px;
    padding: 58px 82px 58px 70px;
    border-radius: 12px;
    overflow: hidden;
    background:
        radial-gradient(circle at 0 47%, rgba(16, 42, 105, .78) 0 19%, transparent 20%),
        radial-gradient(circle at -2% 47%, transparent 0 27%, rgba(255,255,255,.12) 28% 29%, transparent 30% 36%, rgba(255,255,255,.10) 37% 38%, transparent 39%),
        linear-gradient(135deg, #254aa8 0%, #2d63d6 48%, #3d78fb 100%);
    color: #fff;
    direction: ltr;
    box-shadow: none;
}

.irx-cta-panel > * {
    position: relative;
    z-index: 1;
    direction: rtl;
}

.irx-cta-steps {
    display: grid;
    gap: 20px;
}

.irx-cta-steps span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    padding: 12px 24px;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.92);
    font-size: 17px;
    line-height: 1.5;
    font-weight: 400;
    text-align: center;
}

.irx-cta-steps strong {
    color: #fff;
    font-weight: 900;
}

.irx-cta-steps em {
    margin-right: 5px;
    color: rgba(255,255,255,.86);
    font-style: normal;
    font-weight: 400;
}

.irx-cta-copy h2 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 30px;
    line-height: 1.55;
    font-weight: 900;
}

.irx-cta-copy p {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 20px;
    line-height: 2;
    font-weight: 500;
}

.irx-cta-copy div {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 38px;
}

.irx-cta-copy .tn-btn {
    min-width: 150px;
    height: 52px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
}

.irx-cta-copy .tn-btn-outline,
.irx-blue-bar .tn-btn-outline {
    border-color: rgba(255,255,255,.72);
    color: #fff;
}

.irx-eval-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 16px;
    align-items: stretch;
}

.irx-table-card,
.irx-eval-copy,
.irx-help-card {
    border: 1px solid #CBD0DD;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(36, 70, 116, .05);
}

.irx-table-card {
    overflow: hidden;
    padding: 18px;
}

.irx-table-card table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.irx-table-card th {
    padding: 10px 8px;
    background: #f1f6fd;
    color: #53667f;
    font-weight: 900;
    text-align: right;
}

.irx-table-card td {
    padding: 9px 8px;
    border-bottom: 1px solid #edf2f8;
    color: #52657d;
}

.irx-table-card tr:last-child td { border-bottom: 0; }

.irx-table-card td span {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e8f9f0;
    color: #10a86b;
    font-size: .66rem;
    font-weight: 900;
}

.irx-eval-copy {
    padding: 28px 26px;
}

.irx-eval-copy span {
    color: #1B68E0;
    font-size: 13px;
    font-weight: 700;
}

.irx-eval-copy h2 {
    margin: 8px 0 10px;
    color: #243a5a;
    font-size: 20px;
    font-weight: 700;
}

.irx-eval-copy p {
    color: #687d98;
    font-size: 14px;
    line-height: 2;
}

.irx-tools-section {
    padding: 66px 0 70px;
    background: #fff;
    border-top: 0;
    border-bottom: 0;
}

.irx-tools-section .irx-section-head {
    margin-bottom: 22px;
}

.irx-tools-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 18px;
    direction: rtl;
}

.irx-tools-tabs button {
    min-height: 40px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #7182a8;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.irx-tools-tabs button.active {
    background: #fff;
    color: #2d6fff;
    box-shadow: 0 8px 22px rgba(31, 86, 170, .08);
}

.irx-tools-tabs button:focus-visible {
    outline: 2px solid rgba(45, 111, 255, .28);
    outline-offset: 2px;
}

.irx-tools-panels {
    position: relative;
}

.irx-tool-panel {
    display: none;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    gap: 24px;
    align-items: stretch;
    direction: ltr;
}

.irx-tool-panel.active {
    display: grid;
}

.irx-tool-visual,
.irx-tool-copy {
    min-height: 330px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(38, 73, 124, .05);
}

.irx-tool-visual {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid #d9e3f2;
}

.irx-tool-custom-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 286px;
    border-radius: 8px;
    object-fit: cover;
}

.irx-tool-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px 52px;
    direction: rtl;
    text-align: right;
}

.irx-tool-copy h2 {
    margin: 0 0 22px;
    color: #2d6fff;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.45;
}

.irx-tool-copy p {
    margin: 0;
    color: #50658f;
    font-size: 16px;
    line-height: 2.05;
    font-weight: 500;
}

.irx-tool-copy a {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    min-height: 40px;
    margin-top: 28px;
    padding: 0 20px;
    border-radius: 8px;
    background: #edf3ff;
    color: #2d6fff;
    font-size: 14px;
    font-weight: 900;
}

.irx-tool-copy a i {
    font-size: 12px;
}

.irx-tool-art {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 286px;
    border-radius: 8px;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 35%, rgba(45, 111, 255, .18), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #edf5ff 100%);
}

.irx-market-table,
.irx-symbol-table {
    position: absolute;
    inset: 28px 22px 28px 22px;
    display: grid;
    align-content: start;
    overflow: hidden;
    border: 1px solid #e4ebf5;
    border-radius: 8px;
    background: #fff;
}

.irx-market-table div,
.irx-symbol-table div,
.irx-spread-table div {
    display: grid;
    grid-template-columns: 1fr .9fr .9fr;
    gap: 10px;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-bottom: 1px solid #edf2f8;
    color: #607294;
    font-size: 12px;
    direction: ltr;
}

.irx-market-table b,
.irx-symbol-table b,
.irx-spread-table strong {
    color: #243a5f;
    font-weight: 900;
}

.irx-market-table em,
.irx-symbol-table em {
    font-style: normal;
    font-weight: 900;
}

.irx-market-table .up,
.irx-symbol-table .up { color: #10b981; }
.irx-market-table .down,
.irx-symbol-table .down { color: #ef476f; }

.irx-event-stack {
    position: absolute;
    top: 46px;
    right: 26px;
    display: grid;
    gap: 10px;
    width: 190px;
    padding: 14px;
    border: 1px solid #e0e8f4;
    border-radius: 10px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 28px rgba(38, 73, 124, .08);
}

.irx-event-stack span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #53658a;
    font-size: 12px;
    font-weight: 700;
}

.irx-event-stack b {
    color: #2d6fff;
}

.irx-spread-table {
    position: absolute;
    inset: 28px 24px;
    display: grid;
    overflow: hidden;
    border: 1px solid #e2eaf4;
    border-radius: 8px;
    background: #fff;
}

.irx-spread-table div {
    grid-template-columns: 1.1fr .8fr .4fr .65fr;
    direction: rtl;
}

.irx-spread-table b {
    color: #253b73;
}

.irx-spread-table em {
    display: inline-flex;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 6px;
    background: #2d6fff;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.irx-calc-phone,
.irx-crypto-card {
    position: absolute;
    right: 52px;
    top: 38px;
    display: grid;
    place-items: center;
    width: 230px;
    height: 230px;
    border: 1px solid #cddcf3;
    border-radius: 36px;
    background: linear-gradient(145deg, #ffffff, #dbeaff);
    box-shadow: 0 18px 36px rgba(40, 84, 150, .16);
    transform: rotate(-8deg);
}

.irx-calc-phone span {
    color: #52658b;
    font-weight: 900;
}

.irx-calc-phone div {
    display: grid;
    grid-template-columns: repeat(2, 42px);
    gap: 10px;
}

.irx-calc-phone b,
.irx-crypto-card i {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #fff;
    color: #253b73;
    box-shadow: 0 6px 16px rgba(48, 86, 143, .08);
}

.irx-tool-list {
    position: absolute;
    top: 46px;
    left: 48px;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    color: #4d618a;
    direction: rtl;
    font-size: 15px;
    font-weight: 800;
    list-style: none;
}

.irx-tool-list li::before {
    content: "•";
    margin-left: 8px;
    color: #2d6fff;
}

.irx-crypto-card {
    right: 42px;
    width: 260px;
    height: 190px;
    transform: rotate(-4deg);
}

.irx-crypto-card strong {
    padding: 8px 14px;
    border-radius: 10px;
    background: #152b56;
    color: #fff;
    font-size: 18px;
    letter-spacing: 0;
}

.irx-crypto-card i:nth-of-type(1) { color: #f59e0b; }
.irx-crypto-card i:nth-of-type(2) { color: #627eea; }
.irx-crypto-card i:nth-of-type(3) { color: #2d6fff; }

.irx-heatmap {
    position: absolute;
    inset: 22px auto 22px 22px;
    display: grid;
    grid-template-columns: repeat(9, 52px);
    grid-auto-rows: 38px;
    gap: 3px;
    padding: 10px;
    border-radius: 8px;
    background: #fff;
}

.irx-heatmap span {
    display: grid;
    place-items: center;
    border-radius: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.irx-heatmap .hot { background: #10a37f; }
.irx-heatmap .warm { background: #e45d7a; }
.irx-heatmap .cold { background: #f3a7b8; }

.irx-correlation-card {
    position: absolute;
    right: 22px;
    bottom: 28px;
    width: 340px;
    padding: 18px;
    border: 1px solid #e0e8f4;
    border-radius: 10px;
    background: rgba(255,255,255,.96);
}

.irx-correlation-card strong,
.irx-correlation-card em {
    color: #253b73;
    font-style: normal;
    font-weight: 900;
}

.irx-correlation-card em {
    float: left;
    color: #10b981;
}

.irx-correlation-card span {
    display: block;
    height: 8px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e11d48 0 34%, #e8eef7 34% 48%, #10b981 48% 100%);
}

.irx-session-chart {
    position: absolute;
    inset: 30px 24px 42px 24px;
    border-radius: 8px;
    background: repeating-linear-gradient(90deg, #f7faff 0 44px, #eef4fc 44px 88px);
    border: 1px solid #dfe8f4;
}

.irx-session-chart i {
    position: absolute;
    left: var(--x);
    width: var(--w);
    height: 48px;
    border-radius: 4px;
    background: #c9d3e2;
}

.irx-session-chart i:nth-child(1) { top: 42px; }
.irx-session-chart i:nth-child(2) { top: 112px; background: #11c29b; }
.irx-session-chart i:nth-child(3) { top: 182px; }
.irx-session-chart b {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 55%;
    width: 2px;
    background: #2d6fff;
}

.irx-event-stack.compact {
    top: auto;
    right: 34px;
    bottom: 34px;
}

.irx-tool-tags {
    position: absolute;
    top: 22px;
    right: 30px;
    display: flex;
    gap: 8px;
}

.irx-tool-tags span {
    padding: 6px 10px;
    border-radius: 8px;
    background: #eef4ff;
    color: #52658b;
    font-size: 11px;
    font-weight: 900;
}

.irx-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.irx-review-card {
    min-height: 142px;
    padding: 18px;
    border: 1px solid #CBD0DD;
    border-radius: 12px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.irx-review-card span {
    color: #f5b23b;
    font-size: .76rem;
}

.irx-review-card p {
    margin: 8px 0 12px;
    color: #536780;
    font-size: 13px;
    line-height: 1.9;
}

.irx-review-card strong {
    color: #263d5f;
    font-size: 13px;
}

.irx-analysis-feature {
    display: grid;
    grid-template-columns: minmax(310px, .78fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    margin-bottom: 34px;
    direction: ltr;
}

.irx-analysis-stack {
    display: grid;
    gap: 16px;
    direction: rtl;
}

.irx-market-card {
    position: relative;
    display: grid;
    overflow: hidden;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    background: #fff;
    color: #223a5b;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.irx-market-card:hover {
    border-color: #aebfe3;
    box-shadow: 0 16px 28px rgba(36, 67, 112, .08);
    transform: translateY(-2px);
}

.irx-market-card--feature {
    grid-template-columns: minmax(230px, 43%) minmax(0, 1fr);
    min-height: 210px;
    direction: ltr;
}

.irx-market-card--feature .irx-market-thumb {
    grid-column: 2;
    grid-row: 1;
}

.irx-market-card--feature .irx-market-body {
    grid-column: 1;
    grid-row: 1;
}

.irx-market-card--small {
    grid-template-columns: 134px minmax(0, 1fr);
    min-height: 100px;
    direction: ltr;
}

.irx-market-card--small .irx-market-thumb {
    grid-column: 2;
    grid-row: 1;
}

.irx-market-card--small .irx-market-body {
    grid-column: 1;
    grid-row: 1;
}

.irx-market-card--grid {
    grid-template-rows: auto 1fr;
    min-height: 260px;
}

.irx-market-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 100%;
    background: #f1f6ff;
}

.irx-market-card--grid .irx-market-thumb {
    min-height: 132px;
    height: 132px;
}

.irx-market-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.irx-market-body {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 17px 18px 16px;
    direction: rtl;
}

.irx-market-card--small .irx-market-body {
    padding: 13px 14px;
}

.irx-market-card--grid .irx-market-body {
    padding: 14px 16px 15px;
}

.irx-market-body strong {
    display: -webkit-box;
    overflow: hidden;
    color: #1f3760;
    font-size: 14px;
    line-height: 1.85;
    font-weight: 800;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.irx-market-card--feature .irx-market-body strong {
    font-size: 15px;
    line-height: 1.9;
}

.irx-market-body em {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 12px;
    color: #637595;
    font-size: 13px;
    font-style: normal;
    line-height: 1.95;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.irx-market-body span {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding-top: 12px;
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.5;
}

.irx-market-body span b {
    color: #c2cbda;
    font-weight: 700;
}

.irx-market-body small {
    align-self: flex-start;
    margin-top: 8px;
    margin-right: auto;
    padding: 4px 10px;
    border-radius: 7px;
    background: #316bff;
    color: #fff;
    font-size: 11px;
    line-height: 1.25;
    letter-spacing: 0;
    font-weight: 800;
}

.irx-market-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 28px;
    margin: 0 0 18px;
    border-bottom: 1px solid #dce4f1;
    direction: rtl;
    text-align: right;
}

.irx-market-tabs button {
    position: relative;
    min-height: 42px;
    padding: 0 0 11px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #7385a8;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.irx-market-tabs button::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: transparent;
}

.irx-market-tabs button.active {
    color: #1B68E0;
}

.irx-market-tabs button.active::after {
    background: #316bff;
}

.irx-analysis-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.irx-market-hidden {
    display: none !important;
}

.irx-analysis-chart {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 132px;
    background:
        linear-gradient(0deg, rgba(218, 228, 243, .46) 1px, transparent 1px),
        linear-gradient(90deg, rgba(218, 228, 243, .52) 1px, transparent 1px),
        linear-gradient(135deg, #f9fbff, #eef5ff 52%, #fff);
    background-size: 100% 34px, 46px 100%, 100% 100%;
}

.irx-analysis-chart::before,
.irx-analysis-chart::after {
    content: "";
    position: absolute;
    right: 11%;
    left: 11%;
    height: 16%;
    border-radius: 8px;
    opacity: .7;
}

.irx-analysis-chart::before {
    top: 23%;
    background: rgba(49, 107, 255, .14);
}

.irx-analysis-chart::after {
    bottom: 22%;
    background: rgba(255, 74, 98, .14);
}

.irx-analysis-chart i {
    position: absolute;
    display: block;
    width: 2px;
    border-radius: 999px;
    background: #0fc79b;
    box-shadow: 0 0 0 1px rgba(15, 199, 155, .16);
}

.irx-analysis-chart i:nth-child(1) { right: 16%; bottom: 30%; height: 34%; }
.irx-analysis-chart i:nth-child(2) { right: 32%; bottom: 40%; height: 20%; }
.irx-analysis-chart i:nth-child(3) { right: 48%; bottom: 26%; height: 42%; }
.irx-analysis-chart i:nth-child(4) { right: 64%; bottom: 44%; height: 18%; }
.irx-analysis-chart i:nth-child(5) { right: 80%; bottom: 33%; height: 30%; }

.irx-analysis-chart.down i {
    background: #ff6074;
    box-shadow: 0 0 0 1px rgba(255, 96, 116, .16);
}

.irx-analysis-chart.down i:nth-child(1) { bottom: 50%; height: 20%; }
.irx-analysis-chart.down i:nth-child(2) { bottom: 38%; height: 32%; }
.irx-analysis-chart.down i:nth-child(3) { bottom: 46%; height: 22%; }
.irx-analysis-chart.down i:nth-child(4) { bottom: 28%; height: 38%; }
.irx-analysis-chart.down i:nth-child(5) { bottom: 36%; height: 26%; }

.irx-blue-bar {
    padding: 12px 0 52px;
    background: #fff;
}

.irx-blue-bar .tn-container > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 106px;
    overflow: hidden;
    padding: 22px 58px;
    border-radius: 12px;
    background:
        radial-gradient(circle at 22% 35%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(135deg, #316bff, #244fd0);
    color: #fff;
    direction: rtl;
}

.irx-blue-bar .tn-container > div::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: .35;
    pointer-events: none;
}

.irx-blue-bar strong {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.6;
    font-weight: 900;
}

.irx-blue-bar .tn-container > div > span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    direction: ltr;
    flex-shrink: 0;
}

.irx-blue-bar .tn-btn {
    min-width: 132px;
    justify-content: center;
    border-radius: 8px;
}

.irx-blue-bar .tn-btn-outline {
    border-color: rgba(255,255,255,.88);
    color: #fff;
}

.irx-cashback-card img {
    height: 34px;
    margin: 0 auto 10px;
}

.irx-cashback-card em {
    margin-top: 10px;
}

.irx-faq-grid {
    display: grid;
    grid-template-columns: 262px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
    direction: ltr;
}

.irx-faq-grid > * {
    direction: rtl;
}

.irx-help-card {
    align-self: start;
    min-height: 266px;
    padding: 44px 30px 34px;
    border: 0;
    border-radius: 8px;
    background: #f4f6fb;
    text-align: center;
}

.irx-help-card strong {
    display: block;
    color: #243a5a;
    font-size: 15px;
    line-height: 1.9;
    font-weight: 900;
}

.irx-help-card p {
    margin: 22px 0 24px;
    color: #1f3760;
    font-size: 13px;
    line-height: 2.05;
}

.irx-help-card a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 138px;
    min-height: 34px;
    margin: 10px auto 0;
    border-radius: 8px;
    background: #e9eefb;
    color: #253b73;
    font-size: 13px;
    font-weight: 800;
}

.irx-faq-wrap .tn-faq-item {
    margin: 0;
    border: 0;
    border-bottom: 1px solid #d7deea;
    border-radius: 0;
    background: #fff;
    overflow: visible;
}

.irx-faq-wrap .tn-faq-question {
    min-height: 68px;
    padding: 0;
    background: transparent;
    color: #1f3760;
    font-size: 15px;
    line-height: 1.9;
    font-weight: 800;
}

.irx-faq-wrap .tn-faq-question:hover,
.irx-faq-wrap .tn-faq-item.open .tn-faq-question {
    background: transparent;
    color: #1B3F8E;
}

.irx-faq-wrap .tn-faq-answer {
    padding: 0 0 22px 34px;
    border-top: 0;
    background: transparent;
    color: #162b4d;
    font-size: 14px;
    line-height: 2.15;
}

.irx-faq-wrap .tn-faq-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border: 1px solid #1B68E0;
    border-radius: 50%;
    color: transparent;
    font-size: 0;
    transform: none;
}

.irx-faq-wrap .tn-faq-icon::before {
    content: "+";
    color: #1B68E0;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.irx-faq-wrap .tn-faq-item.open .tn-faq-icon {
    transform: none;
}

.irx-faq-wrap .tn-faq-item.open .tn-faq-icon::before {
    content: "−";
    font-size: 18px;
}

.tn-footer-trust {
    display: flex;
    gap: 8px;
    margin-top: 18px;
}

.tn-footer-trust span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #d3dceb;
    border-radius: 8px;
    background: #fff;
    color: #1B68E0;
    font-size: 1.12rem;
}

@media (max-width: 1100px) {
    .home .tn-header-inner {
        max-width: calc(100% - 24px);
        height: 64px;
        border-radius: 20px;
    }

    .home .tn-nav { gap: 10px; }
    .home .tn-nav > li > a { font-size: 12px; padding-inline: 0; }
    .home .tn-header-search { flex-basis: 150px; }
}

@media (max-width: 920px) {
    .home .tn-nav-wrap,
    .home .tn-header-search,
    .tn-header-login span {
        display: none;
    }

    .home .tn-menu-toggle { display: flex; }
    .home .tn-header-inner { height: 64px; }

    .irx-hero-grid,
    .irx-news-layout,
    .irx-eval-grid,
    .irx-tool-panel,
    .irx-faq-grid {
        grid-template-columns: 1fr;
    }

    .irx-hero-copy {
        text-align: center;
        order: 1;
    }

    .irx-hero-visual {
        order: 2;
        height: 250px;
        max-width: 420px;
        margin: 0 auto;
    }

    .irx-search,
    .irx-quick-tags {
        margin-right: auto;
        margin-left: auto;
    }

    .irx-entity-grid,
    .irx-cashback-grid,
    .irx-post-grid,
    .irx-article-grid,
    .irx-review-grid,
    .irx-analysis-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .irx-card-rail .irx-entity-grid {
        grid-template-columns: none;
        grid-auto-columns: calc((100% - 16px) / 2);
    }

    .irx-cta-panel,
    .irx-analysis-feature,
    .irx-market-card--feature {
        grid-template-columns: 1fr;
    }

    .irx-analysis-feature {
        direction: rtl;
    }

    .irx-market-card--feature .irx-market-thumb,
    .irx-market-card--feature .irx-market-body {
        grid-column: auto;
        grid-row: auto;
    }

    .irx-news-layout {
        direction: rtl;
    }

    .irx-news-list,
    .irx-news-section .irx-post-grid {
        grid-column: auto;
        grid-row: auto;
    }

    .irx-news-section .irx-tabs {
        justify-content: flex-start;
    }

    .irx-tools-tabs {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .irx-tools-tabs button {
        min-width: max-content;
    }

    .irx-tool-copy {
        min-height: 0;
        padding: 32px 28px;
    }

    .irx-tool-visual {
        min-height: 300px;
    }

    .irx-cta-panel {
        gap: 28px;
        min-height: 0;
        padding: 34px 28px;
    }

    .irx-cta-copy {
        text-align: center;
    }

    .irx-cta-copy div {
        justify-content: center;
    }

    .irx-blue-bar .tn-container > div {
        flex-direction: column;
        justify-content: center;
        padding: 24px;
        text-align: center;
    }

    .irx-blue-bar strong {
        font-size: 19px;
    }

    .irx-blue-bar .tn-container > div > span {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {
    .home .tn-header-inner {
        margin-top: 8px;
        padding: 0 10px;
        border-radius: 18px;
    }

    .tn-header-login {
        width: 34px;
        padding: 0;
        justify-content: center;
    }

    .irx-hero {
        padding: 96px 0 48px;
    }

    .irx-hero-copy h1 { font-size: 1.45rem; }
    .irx-hero-copy p {
        max-width: 330px;
        margin-right: auto;
        margin-left: auto;
        font-size: .84rem;
        line-height: 1.8;
    }

    .irx-search { max-width: 100%; }

    .irx-quick-tags {
        width: calc(100vw - 36px);
        max-width: calc(100vw - 36px);
        gap: 6px;
        direction: ltr;
        justify-content: center;
    }

    .irx-quick-tags a {
        direction: rtl;
        flex: 0 1 calc(33.333% - 6px);
        justify-content: center;
        min-height: 28px;
        padding: 5px 6px;
        font-size: .68rem;
    }

    .irx-hero-visual {
        height: 232px;
        width: 460px;
        max-width: none;
        left: 50%;
        transform: translateX(-50%) scale(.78);
        transform-origin: center top;
        margin-bottom: -28px;
    }

    .irx-card-rail {
        grid-template-columns: 1fr;
    }

    .irx-rail-arrow { display: none; }

    .irx-entity-grid,
    .irx-cashback-grid,
    .irx-post-grid,
    .irx-article-grid,
    .irx-review-grid,
    .irx-analysis-grid {
        grid-template-columns: 1fr;
    }

    .irx-card-rail .irx-entity-grid {
        grid-template-columns: none;
        grid-auto-columns: 100%;
    }

    .irx-market-tabs {
        justify-content: flex-start;
        gap: 22px;
        overflow-x: auto;
        padding-bottom: 1px;
    }

    .irx-market-tabs button {
        min-width: max-content;
        font-size: 13px;
    }

    .irx-market-card--small {
        grid-template-columns: 104px minmax(0, 1fr);
        min-height: 92px;
    }

    .irx-market-card--feature .irx-market-thumb {
        min-height: 180px;
        height: 180px;
    }

    .irx-market-card--grid .irx-market-thumb {
        height: 150px;
    }

    .irx-blue-bar .tn-container > div {
        flex-direction: column;
        text-align: center;
    }

    .irx-blue-bar strong { margin-left: 0; }

    .irx-news-section {
        padding: 48px 0 56px;
    }

    .irx-news-section .irx-tabs {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .irx-news-section .irx-tabs button {
        min-width: max-content;
        padding-inline: 12px;
        font-size: 13px;
    }

    .irx-tools-section {
        padding: 48px 0 56px;
    }

    .irx-tools-tabs {
        gap: 8px;
    }

    .irx-tools-tabs button {
        padding-inline: 12px;
        font-size: 13px;
    }

    .irx-tool-copy h2 {
        font-size: 19px;
    }

    .irx-tool-copy p {
        font-size: 14px;
    }

    .irx-tool-visual {
        min-height: 270px;
        padding: 12px;
    }

    .irx-tool-art {
        min-height: 244px;
    }

    .irx-heatmap {
        grid-template-columns: repeat(6, 1fr);
    }

    .irx-correlation-card,
    .irx-event-stack,
    .irx-tool-list {
        transform: scale(.82);
        transform-origin: top right;
    }

    .irx-calc-phone,
    .irx-crypto-card {
        right: 24px;
        transform: rotate(-6deg) scale(.82);
        transform-origin: center;
    }

    .irx-news-mini {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 12px;
    }

    .irx-news-mini-thumb {
        height: 76px;
    }

    .irx-news-promo {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .irx-blue-cta {
        padding: 42px 0 46px;
    }

    .irx-cta-panel {
        padding: 26px 18px;
        border-radius: 10px;
    }

    .irx-cta-copy h2 {
        font-size: 22px;
    }

    .irx-cta-copy p {
        font-size: 15px;
    }

    .irx-cta-copy div {
        flex-direction: column;
        margin-top: 22px;
    }

    .irx-cta-copy .tn-btn {
        width: 100%;
    }

    .irx-cta-steps span {
        min-height: 58px;
        font-size: 14px;
    }

    .irx-table-card { overflow-x: auto; }
    .irx-table-card table { min-width: 560px; }
}

/* ============================================================
   HOMEPAGE WPBAKERY COMPONENT DESIGN CONTROLS
   ============================================================ */
.irx-home .tn-container {
    width: var(--tn-current-content-width, var(--tn-site-width, 80%));
    max-width: var(--tn-home-container, var(--tn-current-content-max-width, var(--tn-site-max-width, 1600px)));
}

.irx-home .irx-section-head h1,
.irx-home .irx-section-head h2,
.irx-home .irx-section-head h3,
.irx-home .irx-section-head h4,
.irx-home .irx-section-head h5,
.irx-home .irx-section-head h6,
.irx-home .irx-section-head > strong,
.irx-home .irx-section-head > div,
.irx-home .irx-section-head > span {
    margin: var(--tn-home-title-margin, 0);
    color: var(--tn-home-title-color, #14284c);
    font-size: var(--tn-home-title-size, 22px);
    font-weight: var(--tn-home-title-weight, 900);
    line-height: var(--tn-home-title-line-height, 1.55);
}

.tn-home-title-align-center .irx-section-head h1,
.tn-home-title-align-center .irx-section-head h2,
.tn-home-title-align-center .irx-section-head h3,
.tn-home-title-align-center .irx-section-head h4,
.tn-home-title-align-center .irx-section-head h5,
.tn-home-title-align-center .irx-section-head h6,
.tn-home-title-align-center .irx-section-head > strong,
.tn-home-title-align-center .irx-section-head > div,
.tn-home-title-align-center .irx-section-head > span {
    justify-content: center;
    text-align: center;
}

.tn-home-title-align-left .irx-section-head h1,
.tn-home-title-align-left .irx-section-head h2,
.tn-home-title-align-left .irx-section-head h3,
.tn-home-title-align-left .irx-section-head h4,
.tn-home-title-align-left .irx-section-head h5,
.tn-home-title-align-left .irx-section-head h6,
.tn-home-title-align-left .irx-section-head > strong,
.tn-home-title-align-left .irx-section-head > div,
.tn-home-title-align-left .irx-section-head > span {
    justify-content: flex-start;
    text-align: left;
}

.tn-home-title-align-right .irx-section-head h1,
.tn-home-title-align-right .irx-section-head h2,
.tn-home-title-align-right .irx-section-head h3,
.tn-home-title-align-right .irx-section-head h4,
.tn-home-title-align-right .irx-section-head h5,
.tn-home-title-align-right .irx-section-head h6,
.tn-home-title-align-right .irx-section-head > strong,
.tn-home-title-align-right .irx-section-head > div,
.tn-home-title-align-right .irx-section-head > span {
    justify-content: flex-end;
    text-align: right;
}

.irx-home .irx-section-head p {
    color: var(--tn-home-desc-color, #5a6c8d);
    font-size: var(--tn-home-desc-size, 15px);
    line-height: var(--tn-home-desc-line-height, 2);
}

.irx-home .irx-section-head i {
    color: var(--tn-home-icon-color, var(--tn-home-accent, #1B68E0));
    font-size: var(--tn-home-icon-size, 1em);
}

.irx-home .irx-view-all {
    padding: var(--tn-home-view-padding, 0);
    border: 1px solid var(--tn-home-view-border, transparent);
    border-radius: var(--tn-home-view-radius, 0);
    background: var(--tn-home-view-bg, transparent);
    color: var(--tn-home-view-color, var(--tn-home-accent, #1B68E0));
    font-size: var(--tn-home-view-size, 14px);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.irx-home .irx-view-all:hover {
    border-color: var(--tn-home-view-hover-border, var(--tn-home-view-border, transparent));
    background: var(--tn-home-view-hover-bg, var(--tn-home-view-bg, transparent));
    color: var(--tn-home-view-hover-color, var(--tn-home-view-color, var(--tn-home-accent, #1B68E0)));
}

.irx-home .tn-btn,
.irx-home .irx-chip-cloud a,
.irx-home .irx-quick-tags a,
.irx-home .irx-tool-copy a,
.irx-home .irx-help-card a,
.irx-home .irx-news-promo strong {
    min-height: var(--tn-home-button-min-height, 38px);
    padding: var(--tn-home-button-padding, 0 18px);
    border-color: var(--tn-home-button-border, #bcd6ff);
    border-radius: var(--tn-home-button-radius, 10px);
    background: var(--tn-home-button-bg, #fff);
    color: var(--tn-home-button-color, var(--tn-home-accent, #1B68E0));
    font-size: var(--tn-home-button-size, 14px);
    font-weight: var(--tn-home-button-weight, 800);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.irx-home .tn-btn:hover,
.irx-home .irx-chip-cloud a:hover,
.irx-home .irx-quick-tags a:hover,
.irx-home .irx-tool-copy a:hover,
.irx-home .irx-help-card a:hover,
.irx-home .irx-news-promo strong:hover {
    border-color: var(--tn-home-button-hover-border, var(--tn-home-button-border, #7fa9ff));
    background: var(--tn-home-button-hover-bg, #eef5ff);
    color: var(--tn-home-button-hover-color, var(--tn-home-button-color, var(--tn-home-accent, #1B68E0)));
}

.irx-home .irx-tabs,
.irx-home .irx-tools-tabs,
.irx-home .irx-market-tabs {
    gap: var(--tn-home-tab-gap, 0);
}

.irx-home .irx-tabs button,
.irx-home .irx-tools-tabs button,
.irx-home .irx-market-tabs button {
    padding: var(--tn-home-tab-padding, 0 16px 8px);
    border-color: var(--tn-home-tab-border, transparent);
    border-radius: var(--tn-home-tab-radius, 0);
    background: var(--tn-home-tab-bg, transparent);
    color: var(--tn-home-tab-color, #7684a7);
    font-size: var(--tn-home-tab-size, 14px);
    font-weight: var(--tn-home-tab-weight, 600);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.irx-home .irx-tabs button:hover,
.irx-home .irx-tools-tabs button:hover,
.irx-home .irx-market-tabs button:hover {
    border-color: var(--tn-home-tab-hover-border, var(--tn-home-tab-border, transparent));
    background: var(--tn-home-tab-hover-bg, var(--tn-home-tab-bg, transparent));
    color: var(--tn-home-tab-hover-color, var(--tn-home-tab-active-color, var(--tn-home-accent, #1B68E0)));
}

.irx-home .irx-tabs button.active,
.irx-home .irx-tools-tabs button.active,
.irx-home .irx-market-tabs button.active {
    border-color: var(--tn-home-tab-active-border, var(--tn-home-accent, #1B68E0));
    background: var(--tn-home-tab-active-bg, transparent);
    color: var(--tn-home-tab-active-color, var(--tn-home-accent, #1B68E0));
}

.irx-home .irx-market-tabs button.active::after {
    background: var(--tn-home-tab-active-border, var(--tn-home-accent, #1B68E0));
}

.irx-home .irx-entity-grid,
.irx-home .irx-cashback-grid,
.irx-home .irx-post-grid,
.irx-home .irx-article-grid,
.irx-home .irx-review-grid,
.irx-home .irx-analysis-grid {
    gap: var(--tn-home-card-gap, 16px);
}

.irx-home .irx-entity-card,
.irx-home .irx-cashback-card,
.irx-home .irx-post-card,
.irx-home .irx-review-card,
.irx-home .irx-market-card,
.irx-home .irx-tool-panel,
.irx-home .irx-help-card,
.irx-home .tn-faq-item {
    min-height: var(--tn-home-card-min-height, initial);
    border-width: var(--tn-home-card-border-width, 1px);
    border-color: var(--tn-home-card-border, #CBD0DD);
    border-radius: var(--tn-home-card-radius, 12px);
    background: var(--tn-home-card-bg, #fff);
    box-shadow: var(--tn-home-card-shadow, none);
}

.irx-home .irx-entity-card,
.irx-home .irx-cashback-card,
.irx-home .irx-review-card,
.irx-home .irx-help-card {
    padding: var(--tn-home-card-padding, 22px 14px 18px);
}

.irx-home .irx-post-card:hover,
.irx-home .irx-entity-card:hover,
.irx-home .irx-cashback-card:hover,
.irx-home .irx-review-card:hover,
.irx-home .irx-market-card:hover,
.irx-home .irx-tool-panel:hover,
.irx-home .tn-faq-item:hover {
    border-color: var(--tn-home-card-hover-border, #b9d5ff);
    background: var(--tn-home-card-hover-bg, var(--tn-home-card-bg, #fff));
    box-shadow: var(--tn-home-card-hover-shadow, 0 14px 30px rgba(36, 70, 116, .10));
}

.irx-home .irx-card-title,
.irx-home .irx-card-title a,
.irx-home .irx-entity-card > strong,
.irx-home .irx-cashback-card > strong,
.irx-home .irx-post-body h3,
.irx-home .irx-post-body h3 a,
.irx-home .irx-market-body strong,
.irx-home .irx-review-card strong {
    color: var(--tn-home-card-title-color, #253b5a);
    font-size: var(--tn-home-card-title-size, 18px);
    font-weight: var(--tn-home-card-title-weight, 800);
    line-height: var(--tn-home-card-title-line-height, 1.45);
    text-align: var(--tn-home-card-title-align, center);
}

.irx-home .irx-card-title {
    display: block;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.irx-home .irx-post-body .irx-card-title {
    margin-top: 8px;
}

.irx-home .irx-entity-card small,
.irx-home .irx-entity-card em,
.irx-home .irx-cashback-card span,
.irx-home .irx-review-card p,
.irx-home .irx-market-body em,
.irx-home .irx-tool-copy p {
    color: var(--tn-home-card-text-color, #65799d);
    font-size: var(--tn-home-card-text-size, 14px);
}

.irx-home .irx-post-body time,
.irx-home .irx-post-body small,
.irx-home .irx-news-mini-copy time,
.irx-home .irx-market-body > span {
    color: var(--tn-home-card-meta-color, #9aa8bd);
    font-size: var(--tn-home-card-meta-size, 12px);
}

.irx-home .irx-entity-logo {
    height: var(--tn-home-logo-height, 112px);
    padding: var(--tn-home-logo-padding, 8px);
    border-color: var(--tn-home-logo-border, #edf2f8);
    border-radius: var(--tn-home-logo-radius, 10px);
    background: var(--tn-home-logo-bg, #fafcff);
}

.irx-home .irx-entity-logo img,
.irx-home .irx-cashback-card img {
    max-width: var(--tn-home-logo-max-width, 160px);
    max-height: var(--tn-home-logo-max-height, 84px);
}

.irx-home .irx-rating-badge {
    padding: var(--tn-home-rating-padding, 0 9px);
    border-color: var(--tn-home-rating-border, #7fa9ff);
    border-radius: var(--tn-home-rating-radius, 11px);
    background: var(--tn-home-rating-bg, #fff);
    color: var(--tn-home-rating-color, #6e7d99);
    font-size: var(--tn-home-rating-size, 13px);
}

.irx-home .irx-rating-badge b {
    color: var(--tn-home-rating-score-color, #253B73);
}

.irx-home .irx-rating-badge i {
    background: var(--tn-home-rating-icon-bg, #253B73);
    color: var(--tn-home-rating-icon-color, #fff);
}

.irx-home .irx-stars,
.irx-home .irx-review-card > span {
    color: var(--tn-home-stars-color, #f5b23b);
}

.irx-home .irx-card-actions span,
.irx-home .irx-card-actions span:first-child,
.irx-home .irx-card-actions span:last-child {
    border-color: var(--tn-home-entity-action-border, #7fa9ff);
    background: var(--tn-home-entity-action-bg, #fff);
    color: var(--tn-home-entity-action-color, var(--tn-home-accent, #1B68E0));
}

.irx-home .irx-card-actions span:hover,
.irx-home .irx-card-actions span:first-child:hover,
.irx-home .irx-card-actions span:last-child:hover {
    border-color: var(--tn-home-entity-action-hover-border, var(--tn-home-entity-action-border, #7fa9ff));
    background: var(--tn-home-entity-action-hover-bg, #eef5ff);
    color: var(--tn-home-entity-action-hover-color, var(--tn-home-entity-action-color, var(--tn-home-accent, #1B68E0)));
}

.irx-home .irx-post-thumb,
.irx-home .irx-market-thumb,
.irx-home .irx-news-mini-thumb {
    border-radius: var(--tn-home-post-thumb-radius, 8px);
}

.irx-home .irx-post-thumb {
    aspect-ratio: var(--tn-home-post-thumb-ratio, 16 / 9);
}

.irx-home .irx-post-body {
    padding: var(--tn-home-post-body-padding, 14px);
}

.irx-home .irx-market-body,
.irx-home .irx-market-card--small .irx-market-body,
.irx-home .irx-market-card--grid .irx-market-body {
    padding: var(--tn-home-post-body-padding, 17px 18px 16px);
}

.irx-home .irx-post-body small,
.irx-home .irx-market-body small,
.irx-home .irx-news-mini-copy em {
    background: var(--tn-home-post-cat-bg, #eef4ff);
    color: var(--tn-home-post-cat-color, #5675b3);
}

.irx-home .irx-post-body time,
.irx-home .irx-news-mini-copy time {
    color: var(--tn-home-post-date-color, var(--tn-home-card-meta-color, #a2aec2));
    font-size: var(--tn-home-post-date-size, var(--tn-home-card-meta-size, 12px));
}

.irx-home .irx-tool-panel {
    gap: var(--tn-home-tool-panel-gap, 20px);
}

.irx-home .irx-tool-visual {
    padding: var(--tn-home-card-padding, 18px);
    background: var(--tn-home-tool-visual-bg, #f5f8ff);
}

.irx-home .irx-tool-copy {
    padding: var(--tn-home-card-padding, 44px 46px);
    background: var(--tn-home-tool-copy-bg, #fff);
}

.irx-home .irx-tool-copy h1,
.irx-home .irx-tool-copy h2,
.irx-home .irx-tool-copy h3,
.irx-home .irx-tool-copy h4,
.irx-home .irx-tool-copy h5,
.irx-home .irx-tool-copy h6 {
    color: var(--tn-home-tool-title-color, #2f74ff);
    font-size: var(--tn-home-tool-title-size, 22px);
}

.irx-home .irx-tool-copy p {
    color: var(--tn-home-tool-text-color, var(--tn-home-card-text-color, #405278));
    font-size: var(--tn-home-tool-text-size, 16px);
}

.irx-home .irx-cta-panel,
.irx-home.irx-blue-bar .tn-container > div {
    padding: var(--tn-home-cta-panel-padding, 44px);
    border-radius: var(--tn-home-cta-panel-radius, 18px);
    background: var(--tn-home-cta-panel-bg, linear-gradient(135deg, #316bff, #244fd0));
}

.irx-home .irx-cta-copy h1,
.irx-home .irx-cta-copy h2,
.irx-home .irx-cta-copy h3,
.irx-home .irx-blue-bar strong {
    color: var(--tn-home-cta-title-color, #fff);
}

.irx-home .irx-cta-copy p {
    color: var(--tn-home-cta-text-color, rgba(255,255,255,.84));
}

.irx-home .irx-cta-steps span {
    border-color: var(--tn-home-cta-step-border, rgba(255,255,255,.24));
    background: var(--tn-home-cta-step-bg, rgba(255,255,255,.10));
    color: var(--tn-home-cta-step-color, #fff);
}

.irx-home .irx-faq-wrap .tn-faq-question,
.irx-home .tn-faq-question {
    color: var(--tn-home-faq-question-color, #1f3760);
    font-size: var(--tn-home-faq-question-size, 15px);
}

.irx-home .irx-faq-wrap .tn-faq-answer,
.irx-home .tn-faq-answer {
    color: var(--tn-home-faq-answer-color, #162b4d);
    font-size: var(--tn-home-faq-answer-size, 14px);
}

.irx-home.irx-news-section .irx-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: var(--tn-home-tab-gap, 0);
    margin-bottom: 20px;
    border-bottom: 1px solid #E9EBF1;
}

.irx-home.irx-news-section .irx-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 106px;
    min-height: 32px;
    padding: var(--tn-home-tab-padding, 0 16px 8px);
    border-width: 0 0 2px;
    border-style: solid;
    border-color: var(--tn-home-tab-border, transparent);
    border-radius: var(--tn-home-tab-radius, 0);
    background: var(--tn-home-tab-bg, transparent);
    color: var(--tn-home-tab-color, #7684a7);
    font-size: var(--tn-home-tab-size, 15px);
    font-weight: var(--tn-home-tab-weight, 400);
}

.irx-home.irx-news-section .irx-tabs button:hover {
    border-bottom-color: var(--tn-home-tab-hover-border, var(--tn-home-tab-active-border, var(--tn-home-accent, #1B68E0)));
    background: var(--tn-home-tab-hover-bg, transparent);
    color: var(--tn-home-tab-hover-color, var(--tn-home-tab-active-color, var(--tn-home-accent, #1B68E0)));
}

.irx-home.irx-news-section .irx-tabs button.active {
    border-bottom-color: var(--tn-home-tab-active-border, var(--tn-home-accent, #1B68E0));
    background: var(--tn-home-tab-active-bg, transparent);
    color: var(--tn-home-tab-active-color, var(--tn-home-accent, #1B68E0));
}

.irx-home.irx-chip-section .irx-chip-cloud a {
    min-height: var(--tn-home-button-min-height, 44px);
    padding: var(--tn-home-button-padding, 0 22px);
    border-color: var(--tn-home-button-border, #d3dceb);
    border-radius: var(--tn-home-button-radius, 22px);
    background: var(--tn-home-button-bg, #fff);
    color: var(--tn-home-button-color, #253B73);
    font-size: var(--tn-home-button-size, 15px);
    font-weight: var(--tn-home-button-weight, 600);
}

.irx-home.irx-faq-wrap .irx-help-card {
    min-height: var(--tn-home-card-min-height, 266px);
    padding: var(--tn-home-card-padding, 44px 30px 34px);
    border-width: var(--tn-home-card-border-width, 0);
    border-color: var(--tn-home-card-border, transparent);
    border-radius: var(--tn-home-card-radius, 8px);
    background: var(--tn-home-card-bg, #f4f6fb);
    box-shadow: var(--tn-home-card-shadow, none);
}

.irx-home.irx-faq-wrap .tn-faq-item {
    min-height: 0;
    margin: 0;
    border-width: 0 0 var(--tn-home-card-border-width, 1px);
    border-style: solid;
    border-color: var(--tn-home-card-border, #d7deea);
    border-radius: var(--tn-home-card-radius, 0);
    background: var(--tn-home-card-bg, #fff);
    box-shadow: var(--tn-home-card-shadow, none);
}

.irx-home.irx-faq-wrap .tn-faq-item:hover {
    border-color: var(--tn-home-card-hover-border, var(--tn-home-card-border, #d7deea));
    background: var(--tn-home-card-hover-bg, var(--tn-home-card-bg, #fff));
    box-shadow: var(--tn-home-card-hover-shadow, var(--tn-home-card-shadow, none));
}

.irx-home.irx-faq-wrap .tn-faq-question {
    min-height: 68px;
    padding: 0;
    background: transparent;
    color: var(--tn-home-faq-question-color, #1f3760);
    font-size: var(--tn-home-faq-question-size, 15px);
    line-height: 1.9;
}

.irx-home.irx-faq-wrap .tn-faq-answer {
    padding: 0 0 22px 34px;
    background: transparent;
    color: var(--tn-home-faq-answer-color, #162b4d);
    font-size: var(--tn-home-faq-answer-size, 14px);
    line-height: 2.15;
}

/* ============================================================
   UNIVERSAL TRADERNOVA ISLAND NAVBAR
   ============================================================ */
#tn-header {
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
    z-index: 1000;
    padding: 20px 0 12px;
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.admin-bar #tn-header {
    top: 32px;
}

#tn-header.scrolled {
    background: transparent !important;
    box-shadow: none !important;
}

#tn-header .tn-header-inner,
#tn-header.scrolled .tn-header-inner {
    width: min(1140px, calc(100vw - 48px));
    max-width: none;
    height: 80px;
    margin: 0 auto;
    padding: 0 24px;
    gap: 16px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid #e6ebf3;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .025), 0 8px 24px rgba(24, 45, 80, .075);
    backdrop-filter: blur(20px);
}

#tn-header .tn-logo {
    order: 1;
}

#tn-header .tn-logo img {
    height: 32px;
    width: auto;
}

#tn-header .tn-nav-wrap {
    order: 2;
    flex: 1 1 auto;
}

#tn-header .tn-header-search {
    order: 3;
    flex: 0 0 200px;
    height: 32px;
    padding: 0 16px 0 12px;
    border-color: #e9ebf1;
    border-radius: 12px;
    background: #fff;
}

#tn-header .tn-header-search input {
    font-size: 12px;
    line-height: 1.6;
}

#tn-header .tn-header-actions {
    order: 4;
    gap: 6px;
}

#tn-header .tn-header-social {
    display: none;
}

#tn-header .tn-nav {
    gap: 22px;
}

#tn-header .tn-nav > li {
    position: relative;
}

#tn-header .tn-nav > li::after {
    content: "";
    position: absolute;
    top: 100%;
    right: -10px;
    left: -10px;
    height: 18px;
}

#tn-header .tn-nav > li > a {
    padding: 8px 0;
    border-radius: 0;
    color: #253b73;
    font-size: 14px;
    font-weight: 500;
}

.tn-nav-item-icon {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    object-fit: contain;
    color: currentColor;
    font-size: 15px;
    line-height: 1;
    text-align: center;
}

span.tn-nav-item-icon {
    height: auto;
}

.tn-mobile-nav-item-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    object-fit: contain;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    text-align: center;
}

span.tn-mobile-nav-item-icon {
    height: auto;
}

#tn-header .tn-nav > li > a:hover,
#tn-header .tn-nav > li.active > a,
#tn-header .tn-nav > li:focus-within > a {
    color: #1b68e0;
    background: transparent;
}

#tn-header .tn-header-login {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border-radius: 12px;
    background: #253b73;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: none;
}

#tn-header .tn-header-login:hover {
    color: #fff;
    background: #0d3a8a;
}

#tn-header .tn-header-login[hidden] {
    display: none !important;
}

#tn-header .tn-header-search-trigger,
#tn-header .tn-header-menu-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #e5eaf2;
    border-radius: 11px;
    background: #fff;
    color: #253b73;
    box-shadow: none;
    cursor: pointer;
    transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

#tn-header .tn-header-search-trigger:hover,
#tn-header .tn-header-search-trigger:focus-visible,
#tn-header .tn-header-menu-action:hover,
#tn-header .tn-header-menu-action:focus-visible {
    border-color: #cdd9ec;
    background: #f8faff;
    outline: 0;
    transform: translateY(-1px);
}

.tn-header-menu-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

#tn-header .tn-header-menu-action.is-telegram {
    padding: 0;
    border: 0;
    background: #229ed9;
    color: #fff;
}

#tn-header .tn-header-menu-action.is-instagram {
    padding: 0;
    border: 0;
    background: linear-gradient(135deg, #833ab4 8%, #fd1d1d 52%, #fcb045 92%);
    color: #fff;
}

#tn-header .tn-header-menu-action.is-telegram:hover,
#tn-header .tn-header-menu-action.is-telegram:focus-visible {
    border-color: transparent;
    background: #188fc8;
    color: #fff;
}

#tn-header .tn-header-menu-action.is-instagram:hover,
#tn-header .tn-header-menu-action.is-instagram:focus-visible {
    border-color: transparent;
    background: linear-gradient(135deg, #71319d 8%, #e71919 52%, #e99a34 92%);
    color: #fff;
}

.tn-header-menu-action-icon {
    width: 21px;
    height: 21px;
    object-fit: contain;
    font-size: 21px;
    line-height: 1;
}

#tn-header .tn-header-login-icon {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    object-fit: contain;
    color: currentColor;
    font-size: 14px;
    line-height: 1;
}

.tn-search-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 3000;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(255,255,255,.97);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
    direction: rtl;
}

.tn-search-overlay[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
}

.tn-search-overlay-close {
    position: absolute;
    top: 24px;
    left: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #e5eaf2;
    border-radius: 50%;
    background: #fff;
    color: #253b73;
    font-size: 19px;
    cursor: pointer;
}

.tn-search-overlay-form {
    width: min(680px, 100%);
}

.tn-search-overlay-form > label {
    display: block;
    margin-bottom: 22px;
    color: #1b2f55;
    font-size: clamp(22px, 4vw, 34px);
    font-weight: 800;
}

.tn-search-overlay-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: center;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #253b73;
}

.tn-search-overlay-field input {
    width: 100%;
    min-width: 0;
    padding: 10px 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172a4f;
    font: inherit;
    font-size: clamp(20px, 3vw, 28px);
}

.tn-search-overlay-field button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: #1b68e0;
    color: #fff;
    cursor: pointer;
}

#tn-header .tn-mega-menu {
    display: block !important;
    top: calc(100% + 10px);
    right: 0;
    min-width: 250px;
    padding: 12px;
    border-color: #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(24, 45, 80, .16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

#tn-header .tn-mega-menu.wide {
    display: grid !important;
    right: 50%;
    min-width: min(860px, calc(100vw - 72px));
    transform: translateX(50%) translateY(6px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 8px;
}

#tn-header .tn-nav > li:hover > .tn-mega-menu,
#tn-header .tn-nav > li:focus-within > .tn-mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

#tn-header .tn-nav > li:hover > .tn-mega-menu.wide,
#tn-header .tn-nav > li:focus-within > .tn-mega-menu.wide {
    transform: translateX(50%) translateY(0);
}

#tn-header .tn-mega-menu a {
    padding: 10px 14px;
    border-radius: 10px;
    color: #253b73;
    font-size: 14px;
    font-weight: 500;
}

#tn-header .tn-mega-menu a:hover {
    background: #eef4ff;
    color: #1b68e0;
}

#tn-header .tn-nav > li.has-mega::before {
    content: "";
    position: absolute;
    top: 100%;
    right: -36px;
    left: -36px;
    height: 34px;
}

#tn-header .tn-mega-menu.tn-mega-modern,
#tn-header .tn-mega-menu.tn-mega-modern.wide {
    display: block !important;
    position: absolute;
    width: min(1080px, calc(100vw - 48px));
    min-width: 0;
    min-height: 330px;
    right: auto;
    left: var(--tn-mega-left, 50%);
    top: calc(100% + 16px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #e8edf5;
    border-radius: 24px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 70px rgba(23, 42, 75, .13);
    backdrop-filter: blur(20px);
    transform: translateX(-50%) translateY(8px);
    direction: rtl;
}

#tn-header .tn-nav > li:hover > .tn-mega-menu.tn-mega-modern,
#tn-header .tn-nav > li:focus-within > .tn-mega-menu.tn-mega-modern {
    transform: translateX(-50%) translateY(0);
}

.tn-mega-layout {
    display: grid;
    min-height: 330px;
}

.tn-mega-layout.has-side {
    grid-template-columns: 276px minmax(0, 1fr);
}

.tn-mega-layout.no-side {
    grid-template-columns: 1fr;
}

.tn-mega-side {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 12px;
    background: #f7f9fd;
    border-left: 1px solid #eef2f7;
}

.tn-mega-side-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 0 12px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #182a4d;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s ease, color .16s ease;
}

.tn-mega-side-item i:last-child {
    color: #bcc7d8;
    font-size: 11px;
}

.tn-mega-side-item.active,
.tn-mega-side-item:hover,
.tn-mega-side-item:focus-visible {
    color: #1b68e0;
    background: #fff;
    outline: 0;
}

.tn-mega-side-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
    color: #1b68e0;
    font-size: 18px;
}

.tn-mega-side-icon[src] {
    display: block;
    border-radius: 0;
    background: transparent;
}

.tn-mega-content {
    min-width: 0;
    padding: 28px 30px 26px;
}

.tn-mega-tab-panel {
    display: none;
}

.tn-mega-tab-panel.active {
    display: block;
}

.tn-mega-section {
    padding: 0 0 26px;
}

.tn-mega-section + .tn-mega-section {
    padding-top: 24px;
    border-top: 1px solid #e8edf5;
}

.tn-mega-section:last-child {
    padding-bottom: 0;
}

.tn-mega-section h3 {
    margin: 0 0 18px;
    color: #92a0b8;
    font-size: 14px;
    font-weight: 600;
}

.tn-mega-grid {
    display: grid;
    grid-template-columns: repeat(var(--mega-cols, 3), minmax(0, 1fr));
    gap: 16px 28px;
}

#tn-header .tn-mega-menu .tn-mega-link {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 7px 0;
    border-radius: 0;
    color: #172a4f;
    background: transparent;
    font-size: 14px;
    line-height: 1.8;
}

#tn-header .tn-mega-menu .tn-mega-link:hover {
    color: #1b68e0;
    background: transparent;
}

.tn-mega-link-icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
    color: #216df1;
    font-size: 21px;
    margin-top: 0;
}

img.tn-mega-link-icon {
    padding: 4px;
    border: 1px solid #edf1f7;
    border-radius: 11px;
    background: #fff;
}

i.tn-mega-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tn-mega-link-copy {
    min-width: 0;
}

.tn-mega-link-copy strong {
    display: block;
    color: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: normal;
}

.tn-mega-link-copy small {
    display: block;
    margin-top: 1px;
    color: #7e8da8;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}

#tn-header .tn-mega-link em {
    align-self: start;
    padding: 2px 7px;
    border-radius: 999px;
    background: #1b68e0;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
}

/* ============================================================
   FOREX FACTORY-STYLE CALENDAR PAGE
   ============================================================ */
.tn-forex-calendar-page {
    padding: 72px 0 90px;
    background: #fff;
    color: #18274b;
}

.tn-fc-breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 42px;
    padding: 8px 14px;
    border: 1px solid #e5ebf4;
    border-radius: 999px;
    background: #f7f9fc;
    color: #8b98b1;
    font-size: 13px;
}

.tn-fc-breadcrumb a {
    color: #7e8da8;
}

.tn-fc-hero {
    max-width: 860px;
    margin: 0 auto 34px;
    text-align: center;
}

.tn-fc-hero span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #1b68e0;
    font-size: 13px;
    font-weight: 700;
}

.tn-fc-hero h1 {
    margin: 0 0 16px;
    color: #172a4f;
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 900;
    line-height: 1.45;
}

.tn-fc-hero p {
    margin: 0;
    color: #536582;
    font-size: 17px;
    line-height: 2.15;
}

.tn-fc-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.tn-fc-calendar-card,
.tn-fc-side-card,
.tn-fc-related,
.tn-fc-content {
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(24, 45, 80, .06);
}

.tn-fc-calendar-card {
    overflow: hidden;
}

.tn-fc-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    border-bottom: 1px solid #eef2f7;
}

.tn-fc-card-head h2 {
    margin: 0;
    color: #172a4f;
    font-size: 22px;
    font-weight: 800;
}

.tn-fc-card-head p {
    margin: 4px 0 0;
    color: #7e8da8;
    font-size: 14px;
    line-height: 1.8;
}

.tn-fc-card-head a {
    flex: 0 0 auto;
    color: #1b68e0;
    font-weight: 700;
}

.tn-fc-native-table-wrap {
    padding: 18px;
    background: #fff;
}

.tn-fc-native-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.tn-fc-native-table th,
.tn-fc-native-table td {
    padding: 14px 12px;
    vertical-align: middle;
    color: #314261;
    font-size: 13px;
    line-height: 1.75;
    overflow-wrap: anywhere;
    text-align: right;
}

.tn-fc-native-table th {
    color: #8b9ab4;
    font-weight: 850;
    background: #f8fbff;
}

.tn-fc-native-table td {
    background: #f7f9fd;
    border-top: 1px solid #edf1f7;
    border-bottom: 1px solid #edf1f7;
}

.tn-fc-native-table th:first-child,
.tn-fc-native-table td:first-child {
    width: 92px;
    border-radius: 0 12px 12px 0;
    border-right: 1px solid #edf1f7;
}

.tn-fc-native-table th:nth-child(2),
.tn-fc-native-table td:nth-child(2) {
    width: 74px;
    text-align: center;
}

.tn-fc-native-table th:nth-child(4),
.tn-fc-native-table td:nth-child(4) {
    width: 82px;
    text-align: center;
}

.tn-fc-native-table th:nth-child(5),
.tn-fc-native-table td:nth-child(5),
.tn-fc-native-table th:nth-child(6),
.tn-fc-native-table td:nth-child(6),
.tn-fc-native-table th:nth-child(7),
.tn-fc-native-table td:nth-child(7) {
    width: 90px;
    text-align: center;
    direction: ltr;
}

.tn-fc-native-table th:last-child,
.tn-fc-native-table td:last-child {
    border-radius: 12px 0 0 12px;
    border-left: 1px solid #edf1f7;
}

.tn-fc-native-table td strong,
.tn-fc-native-table td small {
    display: block;
}

.tn-fc-native-table td strong {
    color: #19376b;
    font-weight: 950;
}

.tn-fc-native-table td small {
    color: #90a0ba;
    font-size: 11px;
    direction: rtl;
}

.tn-fc-currency {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    min-height: 30px;
    border-radius: 8px;
    background: #edf4ff;
    color: #1f5fd5;
    font-weight: 950;
    direction: ltr;
}

.tn-fc-event-title {
    color: #172a4f;
    font-weight: 850;
}

.tn-fc-impact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 30px;
    border-radius: 999px;
    font-style: normal;
    font-weight: 900;
}

.tn-fc-impact.impact-high {
    background: #fff0f0;
    color: #dc2626;
}

.tn-fc-impact.impact-medium {
    background: #fff7e6;
    color: #c77805;
}

.tn-fc-impact.impact-low {
    background: #eefaf4;
    color: #069668;
}

.tn-fc-impact.impact-unknown {
    background: #eef2f7;
    color: #637089;
}

.tn-fc-native-empty {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 220px;
    border: 1px solid #edf1f7;
    border-radius: 14px;
    background: #f8fbff;
    color: #7282a2;
    text-align: center;
}

.tn-fc-native-empty i {
    color: #2d6fff;
    font-size: 30px;
}

.tn-fc-sidebar {
    display: grid;
    gap: 16px;
}

.tn-fc-ad {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    background: #edf4ff;
}

.tn-fc-ad img {
    display: block;
    width: 100%;
    height: auto;
}

.tn-fc-side-card {
    padding: 22px;
}

.tn-fc-side-card h2 {
    margin: 0 0 14px;
    color: #172a4f;
    font-size: 20px;
    font-weight: 800;
}

.tn-fc-side-card ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #536582;
    font-size: 14px;
    line-height: 1.9;
}

.tn-fc-side-card li {
    position: relative;
    padding-right: 18px;
}

.tn-fc-side-card li::before {
    content: "";
    position: absolute;
    top: .78em;
    right: 0;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #1b68e0;
}

.tn-fc-ad-row {
    margin: 28px 0;
}

.tn-fc-content {
    padding: 34px 38px;
    margin-bottom: 28px;
}

.tn-fc-content h2 {
    margin: 0 0 12px;
    color: #1b68e0;
    font-size: 25px;
    font-weight: 900;
}

.tn-fc-content h2:not(:first-child) {
    margin-top: 28px;
}

.tn-fc-content p {
    margin: 0;
    color: #344563;
    font-size: 16px;
    line-height: 2.25;
}

.tn-fc-related {
    overflow: hidden;
}

.tn-fc-post-list {
    display: grid;
}

.tn-fc-post {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-top: 1px solid #eef2f7;
    color: #172a4f;
}

.tn-fc-post:hover {
    color: #1b68e0;
    background: #f8fbff;
}

.tn-fc-post span {
    font-weight: 700;
}

.tn-fc-post small {
    color: #92a0b8;
    white-space: nowrap;
}

.tn-fc-empty {
    margin: 0;
    padding: 22px 24px;
    color: #7e8da8;
}

/* ============================================================
   COMPANY PAGES: ABOUT / CONTACT
   ============================================================ */
.tn-company-page {
    background: #fff;
    color: #172a4f;
}

.tn-company-hero {
    padding: 76px 0 44px;
}

.tn-company-hero-inner {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.tn-company-hero-inner > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin-bottom: 18px;
    padding: 0 15px;
    border-radius: 999px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 13px;
    font-weight: 800;
}

.tn-company-hero h1 {
    margin: 0;
    color: #172a4f;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 950;
    line-height: 1.35;
}

.tn-company-hero p {
    max-width: 780px;
    margin: 18px auto 0;
    color: #5b6b86;
    font-size: 17px;
    line-height: 2.2;
}

.tn-about-story,
.tn-contact-main {
    padding: 18px 0 76px;
}

.tn-about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 34px;
    align-items: center;
    padding: 36px;
    border: 1px solid #e8edf5;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(24, 45, 80, .06);
}

.tn-about-story-grid h2,
.tn-about-more-copy h2,
.tn-contact-form-head h2,
.tn-contact-social-card h2 {
    margin: 0 0 12px;
    color: #172a4f;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.45;
}

.tn-about-story-grid p,
.tn-about-more-copy p,
.tn-contact-form-head p,
.tn-contact-social-card p {
    margin: 0;
    color: #536582;
    font-size: 16px;
    line-height: 2.15;
}

.tn-about-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 20% 18%, rgba(27, 104, 224, .12), transparent 34%),
        linear-gradient(135deg, #f7faff 0%, #edf4ff 100%);
}

.tn-about-mark img {
    width: min(250px, 70%);
    height: auto;
}

.tn-about-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.tn-about-stats div {
    min-height: 148px;
    padding: 22px 18px;
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: #fbfcff;
    text-align: center;
}

.tn-about-stats strong {
    display: block;
    color: #1b68e0;
    font-size: 34px;
    font-weight: 950;
    line-height: 1.1;
}

.tn-about-stats span {
    display: block;
    margin-top: 10px;
    color: #172a4f;
    font-weight: 800;
}

.tn-about-stats small {
    display: block;
    margin-top: 6px;
    color: #7e8da8;
    font-size: 13px;
    line-height: 1.8;
}

.tn-about-values {
    padding: 74px 0;
    background: #f5f8fd;
}

.tn-company-section-head {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.tn-company-section-head span {
    color: #8b98b1;
    font-size: 14px;
    font-weight: 800;
}

.tn-company-section-head h2 {
    margin: 10px 0 0;
    color: #172a4f;
    font-size: 32px;
    font-weight: 950;
}

.tn-about-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.tn-about-value-card,
.tn-about-link-card,
.tn-contact-request,
.tn-contact-social-card,
.tn-contact-form-card {
    border: 1px solid #e8edf5;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 46px rgba(24, 45, 80, .055);
}

.tn-about-value-card {
    padding: 24px 20px;
}

.tn-about-value-card div,
.tn-about-link-card div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    border-radius: 16px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 20px;
}

.tn-about-value-card h3 {
    margin: 0 0 10px;
    color: #172a4f;
    font-size: 18px;
    font-weight: 900;
}

.tn-about-value-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 2;
}

.tn-about-link-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.tn-about-link-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 0 16px;
    padding: 22px;
    color: #172a4f;
}

.tn-about-link-card div {
    grid-row: span 2;
    margin: 0;
}

.tn-about-link-card strong {
    align-self: end;
    color: inherit;
    font-size: 18px;
    font-weight: 900;
}

.tn-about-link-card span {
    color: #7e8da8;
    line-height: 1.9;
}

.tn-about-link-card:hover {
    color: #1b68e0;
    transform: translateY(-2px);
}

.tn-about-slogan {
    padding: 66px 0;
}

.tn-about-slogan-inner {
    padding: 44px 30px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(27, 104, 224, .96), rgba(13, 58, 138, .96)),
        #1b68e0;
    color: #fff;
    text-align: center;
}

.tn-about-slogan span {
    display: block;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, .72);
    font-weight: 800;
}

.tn-about-slogan h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 950;
    line-height: 1.5;
}

.tn-about-more {
    padding: 0 0 88px;
}

.tn-about-more-copy {
    max-width: 780px;
    margin-bottom: 26px;
}

.tn-about-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.tn-about-gallery article {
    min-height: 150px;
    padding: 22px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,.74)),
        repeating-linear-gradient(135deg, #edf4ff 0 1px, transparent 1px 12px);
    border: 1px solid #e8edf5;
}

.tn-about-gallery strong,
.tn-about-gallery span {
    display: block;
}

.tn-about-gallery strong {
    color: #172a4f;
    font-size: 18px;
    font-weight: 900;
}

.tn-about-gallery span {
    margin-top: 8px;
    color: #64748b;
    line-height: 1.9;
}

.tn-contact-quick {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.tn-contact-quick a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #f5f8fd;
    color: #253b73;
    font-weight: 700;
}

.tn-contact-request-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.tn-contact-request {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 4px 14px;
    min-height: 150px;
    padding: 20px;
    color: #172a4f;
    text-align: right;
    cursor: pointer;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}

.tn-contact-request span {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 18px;
}

.tn-contact-request strong {
    align-self: end;
    color: inherit;
    font-size: 17px;
    font-weight: 900;
}

.tn-contact-request small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.9;
}

.tn-contact-request.active,
.tn-contact-request:hover,
.tn-contact-request:focus-visible {
    border-color: #b8d2ff;
    background: #fbfdff;
    outline: 0;
    transform: translateY(-2px);
}

.tn-contact-content-grid {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.tn-contact-social-card,
.tn-contact-form-card {
    padding: 26px;
}

.tn-contact-social-card > div {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.tn-contact-social-card a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0 12px;
    align-items: center;
    min-height: 58px;
    padding: 10px;
    border-radius: 14px;
    color: #172a4f;
}

.tn-contact-social-card a:hover {
    background: #f5f8fd;
    color: #1b68e0;
}

.tn-contact-social-card a span {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 18px;
}

.tn-contact-social-card a strong,
.tn-contact-social-card a small {
    display: block;
}

.tn-contact-social-card a strong {
    font-weight: 900;
}

.tn-contact-social-card a small {
    color: #7e8da8;
    direction: ltr;
    text-align: right;
}

.tn-contact-form-head {
    margin-bottom: 22px;
}

.tn-contact-form {
    display: grid;
    gap: 16px;
}

.tn-contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tn-contact-form label {
    display: grid;
    gap: 8px;
    color: #253b73;
    font-size: 14px;
    font-weight: 800;
}

.tn-contact-form input,
.tn-contact-form textarea {
    width: 100%;
    border: 1px solid #dfe7f3;
    border-radius: 14px;
    background: #fbfcff;
    color: #172a4f;
    font: inherit;
    font-weight: 500;
    outline: 0;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.tn-contact-form input {
    height: 48px;
    padding: 0 14px;
}

.tn-contact-form textarea {
    min-height: 150px;
    padding: 14px;
    resize: vertical;
}

.tn-contact-form input:focus,
.tn-contact-form textarea:focus {
    border-color: #8cb7ff;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(27, 104, 224, .08);
}

.tn-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    min-width: 170px;
    height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: #1b68e0;
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.tn-contact-submit:disabled {
    cursor: wait;
    opacity: .72;
}

.tn-ads-hero {
    padding: 76px 0 38px;
}

.tn-ads-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 26px;
    align-items: stretch;
}

.tn-ads-hero-copy {
    min-height: 330px;
    padding: 44px;
    border: 1px solid #e8edf5;
    border-radius: 26px;
    background:
        radial-gradient(circle at 12% 20%, rgba(27, 104, 224, .12), transparent 32%),
        linear-gradient(135deg, #fbfdff, #f1f6ff);
}

.tn-ads-hero-copy span,
.tn-tos-hero span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin-bottom: 18px;
    padding: 0 15px;
    border-radius: 999px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 13px;
    font-weight: 900;
}

.tn-ads-hero-copy h1,
.tn-tos-hero h1 {
    margin: 0;
    color: #172a4f;
    font-size: clamp(34px, 5vw, 56px);
    font-weight: 950;
    line-height: 1.35;
}

.tn-ads-hero-copy p,
.tn-tos-hero p {
    max-width: 760px;
    margin: 18px 0 0;
    color: #536582;
    font-size: 17px;
    line-height: 2.2;
}

.tn-ads-contact-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-radius: 26px;
    background: #1b68e0;
    color: #fff;
    box-shadow: 0 24px 60px rgba(27, 104, 224, .18);
}

.tn-ads-contact-card h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 24px;
    font-weight: 950;
}

.tn-ads-contact-card p {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    line-height: 2.1;
}

.tn-ads-contact-card a,
.tn-ads-bottom-inner a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    min-height: 46px;
    margin-top: 24px;
    padding: 0 18px;
    border-radius: 14px;
    background: #fff;
    color: #1b68e0;
    font-weight: 900;
}

.tn-ads-packages,
.tn-ads-rules,
.tn-ads-bottom {
    padding: 32px 0;
}

.tn-ads-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.tn-ads-package,
.tn-ads-rules-card {
    border: 1px solid #e8edf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 46px rgba(24, 45, 80, .055);
}

.tn-ads-package {
    min-height: 230px;
    padding: 26px;
}

.tn-ads-package div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    border-radius: 17px;
    background: #eef4ff;
    color: #1b68e0;
    font-size: 22px;
}

.tn-ads-package h2 {
    margin: 0 0 10px;
    color: #172a4f;
    font-size: 21px;
    font-weight: 950;
}

.tn-ads-package p {
    margin: 0;
    color: #64748b;
    line-height: 2;
}

.tn-ads-rules-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 28px;
    padding: 34px;
}

.tn-ads-rules-card span {
    color: #8b98b1;
    font-weight: 900;
}

.tn-ads-rules-card h2 {
    margin: 8px 0 12px;
    color: #172a4f;
    font-size: 30px;
    font-weight: 950;
}

.tn-ads-rules-card p {
    margin: 0;
    color: #64748b;
    line-height: 2.1;
}

.tn-ads-rules-card ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tn-ads-rules-card li {
    position: relative;
    padding: 14px 42px 14px 16px;
    border-radius: 14px;
    background: #f8fbff;
    color: #253b73;
    line-height: 1.9;
}

.tn-ads-rules-card li::before {
    content: "!";
    position: absolute;
    top: 16px;
    right: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #fff1f2;
    color: #e11d48;
    font-weight: 900;
    line-height: 1;
}

.tn-ads-bottom {
    padding-bottom: 86px;
}

.tn-ads-bottom-inner {
    padding: 42px 30px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(27,104,224,.96), rgba(13,58,138,.96)),
        #1b68e0;
    color: #fff;
    text-align: center;
}

.tn-ads-bottom-inner h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(26px, 4vw, 42px);
    font-weight: 950;
    line-height: 1.5;
}

.tn-ads-bottom-inner p {
    max-width: 760px;
    margin: 14px auto 0;
    color: rgba(255,255,255,.82);
    line-height: 2.1;
}

.tn-tos-hero {
    padding: 76px 0 30px;
    text-align: center;
}

.tn-tos-hero p {
    margin-right: auto;
    margin-left: auto;
}

.tn-tos-hero small {
    display: inline-block;
    margin-top: 16px;
    color: #8b98b1;
    font-weight: 700;
}

.tn-tos-body {
    padding: 20px 0 88px;
}

.tn-tos-article {
    max-width: 940px;
    margin: 0 auto;
    padding: 42px 48px;
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(24, 45, 80, .055);
}

.tn-tos-article section + section {
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid #eef2f7;
}

.tn-tos-article > h2:not(:first-child) {
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid #eef2f7;
}

.tn-tos-article h2 {
    margin: 0 0 12px;
    color: #172a4f;
    font-size: 23px;
    font-weight: 950;
    line-height: 1.6;
}

.tn-tos-article p {
    margin: 0;
    color: #344563;
    font-size: 16px;
    line-height: 2.35;
}

.tn-tos-article p + p {
    margin-top: 12px;
}

.tn-tos-article .tn-tos-intro {
    color: #536582;
    font-size: 17px;
}

.tn-tos-article .tn-tos-updated {
    margin-bottom: 30px;
    color: #8b98b1;
    font-size: 14px;
    font-weight: 700;
}

.tn-risk-content {
    padding: 32px;
    border-radius: var(--tn-radius-lg);
}

.tn-risk-content .tn-risk-intro {
    color: #536582;
    font-size: 17px;
    line-height: 2.2;
}

.tn-risk-content .tn-risk-warning {
    margin: 0 0 32px;
    padding: 20px 22px;
    border: 1px solid #fecaca;
    border-radius: var(--tn-radius-lg);
    background: #fef2f2;
    color: #991b1b;
}

/* Legal pages use the existing article typography and the native layout
   controller's TOC sidebar. Only their title/content spacing is specialized. */
.tn-legal-page .tn-article-breadcrumb {
    margin-bottom: 10px;
}

.tn-legal-page .tn-legal-head h1 {
    margin: 0 0 12px;
}

@media (max-width: 1024px) {
    .tn-about-story-grid,
    .tn-contact-content-grid {
        grid-template-columns: 1fr;
    }

    .tn-ads-hero-grid,
    .tn-ads-rules-card {
        grid-template-columns: 1fr;
    }

    .tn-about-stats,
    .tn-about-value-grid,
    .tn-ads-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tn-company-hero {
        padding-top: 44px;
    }

    .tn-about-story-grid,
    .tn-contact-social-card,
    .tn-contact-form-card {
        padding: 22px;
        border-radius: 18px;
    }

    .tn-about-stats,
    .tn-about-value-grid,
    .tn-about-link-row,
    .tn-about-gallery,
    .tn-contact-request-grid,
    .tn-contact-form-row,
    .tn-ads-package-grid {
        grid-template-columns: 1fr;
    }

    .tn-contact-request {
        min-height: 126px;
    }

    .tn-ads-hero-copy,
    .tn-ads-contact-card,
    .tn-ads-rules-card,
    .tn-tos-article {
        padding: 24px 20px;
        border-radius: 18px;
    }
}

.tn-analysis-chart-figure {
    margin: 28px 0 32px;
    padding: 10px;
    border: 1px solid #dfe7f5;
    border-radius: 18px;
    background: #fff;
}

.tn-analysis-chart-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.tn-analysis-chart-figure figcaption {
    margin-top: 10px;
    color: #6b7a99;
    font-size: 13px;
    line-height: 1.9;
}

.tn-analysis-top-summary {
    margin: 0 0 24px;
    padding: 22px 24px;
    border: 1px solid #d9e6ff;
    border-radius: 18px;
    background: #eef5ff;
}

.tn-analysis-top-summary h2 {
    margin: 0 0 10px;
    color: #18345f;
    font-size: 22px;
}

.tn-analysis-top-summary p {
    margin: 0;
}

.tn-analysis-live-link,
.tn-analysis-related-links,
.tn-analysis-data-note {
    padding: 14px 16px;
    border: 1px solid #e3eaf8;
    border-radius: 14px;
    background: #f7faff;
}

.tn-analysis-data-note {
    color: #51617d;
    font-size: 14px;
}

.tn-analysis-tf-table-wrap {
    margin: 18px 0 22px;
    overflow-x: auto;
    border: 1px solid #e3eaf8;
    border-radius: 14px;
    background: #fff;
}

.tn-analysis-tf-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    font-size: 14px;
}

.tn-analysis-tf-table th,
.tn-analysis-tf-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #e8eef8;
    text-align: right;
}

.tn-analysis-tf-table th {
    color: #18345f;
    background: #f4f8ff;
    font-weight: 700;
}

.tn-analysis-tf-table tr:last-child td {
    border-bottom: 0;
}

@media (min-width: 1025px) {
    .tn-article-sidebar,
    .tn-sidebar,
    .tn-broker-guide-sidebar,
    .tn-entity-side-panel,
    .tn-entity-sticky-sidebar,
    .tn-tools-sidebar,
    .tn-tool-side-card {
        position: sticky;
        top: var(--tn-smart-sticky-top, 122px);
        align-self: start;
        will-change: top;
    }
}

@media (max-width: 960px) {
    .tn-fc-grid {
        grid-template-columns: 1fr;
    }

    .tn-fc-card-head,
    .tn-fc-post {
        align-items: flex-start;
        flex-direction: column;
    }

    .tn-fc-content {
        padding: 26px 20px;
    }

    .tn-fc-native-table,
    .tn-fc-native-table thead,
    .tn-fc-native-table tbody,
    .tn-fc-native-table tr,
    .tn-fc-native-table td {
        display: block;
        width: 100% !important;
    }

    .tn-fc-native-table {
        border-spacing: 0;
    }

    .tn-fc-native-table thead {
        display: none;
    }

    .tn-fc-native-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid #edf1f7;
        border-radius: 14px;
        background: #f8fbff;
    }

    .tn-fc-native-table td {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 12px;
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid #edf1f7;
        border-radius: 0 !important;
        background: transparent;
        text-align: right !important;
        direction: rtl;
    }

    .tn-fc-native-table td:last-child {
        border-bottom: 0;
    }

    .tn-fc-native-table td::before {
        content: attr(data-label);
        color: #8b9ab4;
        font-weight: 850;
    }
}

@media (max-width: 1100px) {
    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner {
        width: calc(100vw - 24px);
        height: 64px;
        border-radius: 20px;
    }

    #tn-header .tn-nav {
        gap: 10px;
    }

    #tn-header .tn-nav > li > a {
        font-size: 12px;
    }

    #tn-header .tn-header-search {
        flex-basis: 150px;
    }
}

@media (max-width: 1024px) {
    #tn-header {
        padding-top: 8px;
    }

    #tn-header .tn-nav-wrap,
    #tn-header .tn-header-search,
    #tn-header .tn-header-login span {
        display: none;
    }

    #tn-header .tn-menu-toggle {
        display: flex;
    }

    #tn-header .tn-header-menu-actions {
        display: none;
    }

    .tn-mobile-nav-inner {
        width: min(400px, 92vw);
    }
}

@media (max-width: 640px) {
    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner {
        width: calc(100vw - 18px);
        padding: 0 10px;
        border-radius: 18px;
    }

    #tn-header .tn-header-login {
        width: 34px;
        padding: 0;
        justify-content: center;
    }

    .tn-search-overlay {
        padding: 24px;
    }

    .tn-search-overlay-close {
        top: 16px;
        left: 16px;
    }
}

/* ============================================================
   GLOBAL PAGE CHROME: COMPACT BREADCRUMBS + RESPONSIVE HEADER
   ============================================================ */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

/* Generic page titles use the same clean, white treatment as entity pages. */
.tn-page-hero {
    padding: 24px 0 22px;
    overflow: visible;
    background: #fff;
    color: #172a4f;
}

.tn-page-hero::before {
    display: none;
}

.tn-page-hero h1 {
    margin: 0 0 8px;
    color: #172a4f;
}

.tn-page-hero p {
    max-width: 760px;
    margin-bottom: 0;
    color: #72819a;
    font-size: .92rem;
}

/* One quiet breadcrumb style for pages, articles, entities, tools and symbols. */
.tn-breadcrumb,
.tn-symbol-breadcrumb,
.tn-fc-breadcrumb,
.tn-article-breadcrumb .tn-breadcrumb,
.tn-entity-breadcrumb .tn-breadcrumb,
.tn-listing-hero-content .tn-breadcrumb,
.tn-broker-cornerstone > .tn-container > .tn-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    width: max-content;
    max-width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #a0acbd;
    font-size: .74rem;
    font-weight: 500;
    line-height: 1.7;
}

.tn-breadcrumb a,
.tn-symbol-breadcrumb a,
.tn-fc-breadcrumb a,
.tn-article-breadcrumb .tn-breadcrumb a,
.tn-entity-breadcrumb .tn-breadcrumb a,
.tn-symbol-breadcrumb strong,
.tn-fc-breadcrumb strong {
    color: #8795aa;
    font-weight: 500;
}

.tn-breadcrumb a:hover,
.tn-symbol-breadcrumb a:hover,
.tn-fc-breadcrumb a:hover {
    color: #536887;
}

.tn-breadcrumb .sep,
.tn-symbol-breadcrumb .sep,
.tn-fc-breadcrumb .sep {
    display: inline-flex;
    align-items: center;
    color: #b5bfcd;
    font-size: .82rem;
    font-weight: 400;
    line-height: 1;
    opacity: 1;
}

.tn-article-breadcrumb,
.tn-single-article .tn-article-breadcrumb,
.tn-entity-breadcrumb {
    margin: 0 0 18px;
}

.tn-article-archive,
.tn-single-article,
.tn-entity-page,
.tn-symbol-page,
.tn-tool-page,
.tn-tool-index-page,
.tn-forex-calendar-page,
.tn-broker-cornerstone {
    padding-top: 24px;
}

.tn-fc-breadcrumb {
    margin-right: 0;
    margin-left: 0;
}

@media (max-width: 1024px) {
    #tn-header,
    .home #tn-header,
    .blog #tn-header,
    .archive.category #tn-header,
    .archive.tag #tn-header,
    .search #tn-header,
    .single-post #tn-header,
    .single-broker #tn-header,
    .single-prop_firm #tn-header,
    .single-exchange #tn-header {
        padding: 8px 0 10px;
    }

    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner,
    .home .tn-header-inner,
    .home #tn-header.scrolled .tn-header-inner {
        width: calc(100% - 24px);
        max-width: none;
        height: 64px;
        margin: 0 auto;
        padding: 0 16px;
        border-radius: 18px;
    }

    #tn-header .tn-nav-wrap,
    #tn-header .tn-header-search,
    #tn-header .tn-header-search-trigger,
    #tn-header .tn-header-menu-actions,
    #tn-header .tn-header-login,
    #tn-header .tn-header-social {
        display: none;
    }

    #tn-header .tn-logo img {
        height: 30px;
    }

    #tn-header .tn-header-actions {
        margin-right: auto;
    }

    #tn-header .tn-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        padding: 9px;
        border: 0;
        border-radius: 10px;
        background: transparent;
    }

    .tn-mobile-nav-overlay {
        background: #fff;
    }

    .tn-mobile-nav-inner {
        width: 100%;
        max-width: none;
        background: #fff;
        box-shadow: none;
    }

    .tn-mobile-nav-header {
        border-bottom-color: #e9eef5;
    }

    .tn-mobile-nav-close {
        border: 1px solid #e5eaf2;
        background: #f7f9fc;
        color: #253b73;
    }

    .tn-mobile-nav-list a {
        border-bottom-color: #eef2f7;
        color: #344563;
    }

    .tn-mobile-nav-list a:hover,
    .tn-mobile-nav-list a:focus-visible {
        background: #f3f7fd;
        color: #1b68e0;
    }

    .tn-mobile-nav-item-icon {
        color: #1b68e0;
    }

    .tn-mobile-sub-toggle,
    .tn-mobile-sub-list a {
        color: #6f7f98;
    }

    .tn-mobile-sub-toggle:hover,
    .tn-mobile-sub-toggle:focus-visible,
    .tn-mobile-sub-toggle[aria-expanded="true"] {
        background: #eef4ff;
        color: #1b68e0;
    }

    .tn-mobile-sub-list {
        border-right-color: #dfe7f2;
    }

    .tn-mobile-sub-list > li > strong,
    .tn-mobile-sub-list .tn-mobile-section-link {
        color: #253b73;
    }

    .tn-mobile-sub-list .tn-mobile-section-link {
        background: #f7f9fc;
    }

    .tn-mobile-header-actions {
        border-top-color: #e9eef5;
    }

    .tn-mobile-header-actions .tn-header-menu-action {
        border-color: #dfe7f2;
        background: #f7f9fc;
        color: #253b73;
    }

    .tn-article-archive,
    .tn-single-article,
    .tn-entity-page,
    .tn-symbol-page,
    .tn-tool-page,
    .tn-tool-index-page,
    .tn-forex-calendar-page,
    .tn-broker-cornerstone {
        padding-top: 20px;
    }
}

@media (max-width: 640px) {
    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner,
    .home .tn-header-inner,
    .home #tn-header.scrolled .tn-header-inner {
        width: calc(100% - 18px);
        padding: 0 12px;
    }

    .irx-quick-tags {
        width: 100%;
        max-width: 100%;
    }

    .irx-hero-visual {
        left: auto;
        width: min(460px, 100%);
        max-width: 100%;
        transform: scale(.78);
    }
}

/* ============================================================
   ARTICLE TOC: SCROLLSPY + DIRECTION-AWARE SMART STICKY
   ============================================================ */
.tn-article-toc-side a {
    border-right: 3px solid transparent;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, font-weight .16s ease;
}

.tn-article-toc-side a.active,
.tn-article-toc-side a[aria-current="location"] {
    border-right-color: var(--tn-primary);
    background: #f3f7ff;
    color: var(--tn-primary);
    font-weight: 900;
}

.tn-single-article-layout-no-sidebar {
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1025px) {
    .tn-smart-sidebar-track {
        position: relative;
        min-width: 0;
        align-self: stretch;
        padding-bottom: var(--tn-smart-sidebar-footer-gap, 32px);
    }

    .tn-smart-sidebar-track > .tn-smart-sidebar {
        position: static;
        right: 0;
        left: 0;
        width: 100%;
        transform: none !important;
        will-change: auto;
    }

    .tn-entity-hero-grid > .tn-smart-sidebar-track {
        grid-column: 1;
        grid-row: 1;
    }

    .tn-tool-page-side > .tn-smart-sidebar-track,
    .tn-entity-builder-hero-row .tn-smart-sidebar-track,
    .tn-entity-builder-main-row .tn-smart-sidebar-track {
        min-height: 100%;
    }
}

@media (max-width: 1024px) {
    .tn-smart-sidebar-track {
        display: contents;
        min-height: 0 !important;
    }

    .tn-smart-sidebar-track > .tn-smart-sidebar {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        transform: none !important;
        will-change: auto;
    }
}

/* ============================================================
   FINAL HOMEPAGE / NAV OVERRIDES
   Kept last so the TraderNova interaction model wins over the
   legacy homepage and universal-navbar compatibility layers.
   ============================================================ */
#tn-header,
.home #tn-header {
    padding: var(--tn-header-top-gap, 20px) 0 12px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: padding .24s ease;
}

#tn-header .tn-header-inner,
#tn-header.scrolled .tn-header-inner,
.home .tn-header-inner,
.home #tn-header.scrolled .tn-header-inner {
    width: min(var(--tn-header-max-width, 1140px), calc(100vw - 48px));
    max-width: none;
    height: var(--tn-header-height, 80px);
    margin: 0 auto;
    border: 1px solid rgba(229, 234, 242, .84);
    border-radius: var(--tn-header-radius, 24px);
    background: rgba(255, 255, 255, var(--tn-header-opacity, .85));
    box-shadow: 0 1px 2px rgba(0, 0, 0, calc(var(--tn-header-shadow-opacity, .04) * .5)), 0 4px 8px rgba(0, 0, 0, var(--tn-header-shadow-opacity, .04));
    -webkit-backdrop-filter: blur(var(--tn-header-blur, 20px));
    backdrop-filter: blur(var(--tn-header-blur, 20px));
    transition: width .24s ease, max-width .24s ease, margin .24s ease, border-radius .24s ease, background-color .24s ease, box-shadow .24s ease, backdrop-filter .24s ease;
}

#tn-header.scrolled,
.home #tn-header.scrolled {
    padding: 0;
    background: rgba(255, 255, 255, var(--tn-header-scroll-opacity, .85)) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, var(--tn-header-scroll-shadow-opacity, .10)) !important;
    -webkit-backdrop-filter: blur(var(--tn-header-scroll-blur, 20px));
    backdrop-filter: blur(var(--tn-header-scroll-blur, 20px));
}

#tn-header.scrolled .tn-header-inner,
.home #tn-header.scrolled .tn-header-inner {
    width: min(calc(var(--tn-header-max-width, 1140px) + 80px), calc(100vw - 24px)) !important;
    max-width: none !important;
    margin: 0 auto;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

#tn-header .tn-mega-menu.tn-mega-modern,
#tn-header .tn-mega-menu.tn-mega-modern.wide {
    z-index: 1100;
    left: var(--tn-mega-left, 50%);
    top: var(--tn-mega-top, calc(100% + var(--tn-mega-gap, 16px)));
    width: var(--tn-mega-width, min(var(--tn-header-max-width, 1140px), calc(100vw - 48px)));
    max-width: 100vw;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e8edf5;
    border-radius: var(--tn-mega-radius, 24px);
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, var(--tn-mega-shadow-opacity, .15));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform: translateX(-50%) translateY(8px);
}

#tn-header .tn-nav > li:hover > .tn-mega-menu.tn-mega-modern,
#tn-header .tn-nav > li:focus-within > .tn-mega-menu.tn-mega-modern,
#tn-header .tn-nav > li.tn-mega-active > .tn-mega-menu.tn-mega-modern {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

#tn-header .tn-header-search-trigger {
    display: inline-flex;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#tn-header .tn-header-search-trigger:hover,
#tn-header .tn-header-search-trigger:focus-visible {
    border: 0;
    background: transparent;
    box-shadow: none;
    outline: 0;
}

.irx-home .irx-view-all::before {
    content: "";
    margin-right: 0;
    margin-left: 8px;
}

/* Directional arrows: one crisp, thin SVG system across RTL interfaces. */
i.fa-chevron-left,
i.fa-angle-left,
i.fa-arrow-left {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    font-size: 0 !important;
    vertical-align: -4px;
}

i.fa-chevron-right,
i.fa-angle-right,
i.fa-arrow-right {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    font-size: 0 !important;
    vertical-align: -4px;
}

i.fa-chevron-down,
i.fa-angle-down,
i.fa-arrow-down,
i.fa-chevron-up,
i.fa-angle-up,
i.fa-arrow-up {
    display: inline-block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14m6-6-6 6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14m6-6-6 6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
    font-size: 0 !important;
    vertical-align: -3px;
}

i.fa-chevron-up,
i.fa-angle-up,
i.fa-arrow-up {
    transform: rotate(180deg);
}

.irx-rail-arrow i {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
    vertical-align: 0;
}

#tn-header .tn-nav > li > a .tn-arrow {
    display: none;
}

/* Homepage tools use the same pill language as directory filters. */
.irx-home.irx-tools-section .irx-tools-tabs {
    gap: 6px;
    margin-bottom: 20px;
}

.irx-home.irx-tools-section .irx-tools-tabs button {
    min-height: 36px;
    padding: 7px 18px;
    border: 1px solid var(--tn-gray-200);
    border-radius: 20px;
    background: #fff;
    color: var(--tn-text-light);
    box-shadow: none;
    font-size: .85rem;
    font-weight: 500;
}

.irx-home.irx-tools-section .irx-tools-tabs button:hover,
.irx-home.irx-tools-section .irx-tools-tabs button.active {
    border-color: var(--tn-primary);
    background: var(--tn-primary-bg);
    color: var(--tn-primary);
    box-shadow: none;
}

/* In RTL text links the forward arrow belongs after the label, visually on its left. */
.irx-view-all::before,
.irx-home .irx-view-all::before {
    content: none;
    display: none;
}

.irx-view-all::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    vertical-align: -4px;
}

.irx-view-all {
    display: inline-flex;
    align-items: center;
    direction: rtl;
}

a:has(> i.fa-chevron-left),
a:has(> i.fa-chevron-right),
a:has(> i.fa-angle-left),
a:has(> i.fa-angle-right),
a:has(> i.fa-arrow-left),
a:has(> i.fa-arrow-right) {
    display: inline-flex;
    align-items: center;
    direction: rtl;
    gap: 6px;
}

a > i.fa-chevron-left,
a > i.fa-chevron-right,
a > i.fa-angle-left,
a > i.fa-angle-right,
a > i.fa-arrow-left,
a > i.fa-arrow-right {
    order: 2;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.irx-articles .irx-section-head.compact {
    direction: rtl;
    justify-content: flex-start;
    text-align: right;
}

.irx-home.irx-faq-wrap .tn-faq-icon {
    position: relative;
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border: 1px solid #1b68e0;
    border-radius: 50%;
    color: transparent;
    font-size: 0;
}

.irx-home.irx-faq-wrap .tn-faq-icon::before,
.irx-home.irx-faq-wrap .tn-faq-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 1.5px;
    border-radius: 2px;
    background: #1b68e0;
    transform: translate(-50%, -50%);
}

.irx-home.irx-faq-wrap .tn-faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: opacity .16s ease;
}

.irx-home.irx-faq-wrap .tn-faq-item.open .tn-faq-icon::after {
    opacity: 0;
}

.irx-home.irx-faq-wrap .tn-faq-item.open .tn-faq-icon::before {
    content: "";
    font-size: 0;
}

.irx-hero::before,
.irx-hero::after {
    content: none !important;
    display: none !important;
}

.irx-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 430px;
    transform: none;
}

.irx-hero-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 430px;
    object-fit: contain;
    filter: drop-shadow(0 26px 28px rgba(25, 58, 105, .17));
}

.irx-home .irx-tool-visual {
    padding: 0;
    overflow: hidden;
}

.irx-home .irx-tool-custom-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: center;
}

.irx-home.irx-faq-wrap {
    padding: 48px 0 64px;
    background: #fff;
}

.irx-home.irx-faq-wrap .irx-faq-grid {
    grid-template-columns: 262px minmax(0, 1fr);
    gap: 34px;
}

.irx-home.irx-faq-wrap .irx-help-card {
    border-radius: 8px;
    background: #f4f6fb;
}

@media (max-width: 1024px) {
    #tn-header,
    .home #tn-header,
    #tn-header.scrolled,
    .home #tn-header.scrolled {
        padding: 8px 0 10px;
    }

    #tn-header .tn-header-inner,
    #tn-header.scrolled .tn-header-inner,
    .home .tn-header-inner,
    .home #tn-header.scrolled .tn-header-inner {
        width: calc(100% - 24px);
        max-width: none;
        height: 64px;
        margin: 0 auto;
        padding: 0 16px;
        border: 1px solid rgba(229, 234, 242, .84);
        border-radius: 18px;
    }

    #tn-header .tn-header-search {
        display: none;
    }

    #tn-header .tn-header-search-trigger {
        display: flex;
    }

    .irx-home.irx-faq-wrap .irx-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .irx-hero-visual {
        left: auto;
        width: 100%;
        max-width: 100%;
        height: 350px;
        transform: none;
    }

    .irx-hero-image {
        max-height: 350px;
    }

    .irx-home .irx-tool-custom-image {
        min-height: 240px;
    }
}

/* ============================================================
   1.0.114 UNIFIED XTRA-STYLE PAGE / POST LAYOUT CONTROLLER
   ============================================================ */
.tn-site-layout-boxed,
.tn-site-layout-boxed-margin {
    background: #edf2f8;
}

.tn-site-layout-boxed #tn-page-wrap,
.tn-site-layout-boxed-margin #tn-page-wrap {
    width: var(--tn-site-width, 80%);
    max-width: var(--tn-site-max-width, 1600px);
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 70px rgba(15, 35, 70, .10);
}

.tn-site-layout-boxed-margin #tn-page-wrap {
    margin-top: 36px;
    margin-bottom: 36px;
    border-radius: 18px;
}

.tn-layout-frame {
    width: var(--tn-layout-page-width, 92%);
    max-width: var(--tn-layout-page-max-width, 1680px);
    margin-right: auto;
    margin-left: auto;
}

.tn-layout-shell {
    display: grid;
    align-items: start;
    gap: var(--tn-layout-column-gap, 32px);
    width: 100%;
    direction: ltr;
}

.tn-layout-shell > * {
    min-width: 0;
    direction: rtl;
}

.tn-layout-shell--right {
    grid-template-columns: minmax(0, 1fr) var(--tn-layout-sidebar-width, 300px);
    grid-template-areas: "main right";
}

.tn-layout-shell--right-small {
    grid-template-columns: minmax(0, 1fr) var(--tn-layout-sidebar-small, 220px);
    grid-template-areas: "main right";
}

.tn-layout-shell--left {
    grid-template-columns: var(--tn-layout-sidebar-width, 300px) minmax(0, 1fr);
    grid-template-areas: "left main";
}

.tn-layout-shell--both {
    grid-template-columns: var(--tn-layout-sidebar-width, 300px) minmax(0, 1fr) var(--tn-layout-sidebar-width, 300px);
    grid-template-areas: "left main right";
}

.tn-layout-shell--center {
    display: block;
}

.tn-layout-shell--center .tn-layout-main {
    width: var(--tn-layout-center-width, 70%);
    margin-right: auto;
    margin-left: auto;
}

.tn-layout-main {
    grid-area: main;
    min-width: 0;
}

.tn-layout-sidebar--right {
    grid-area: right;
}

.tn-layout-sidebar--left {
    grid-area: left;
}

.tn-layout-sidebar {
    padding-bottom: var(--tn-smart-sidebar-footer-gap, 32px);
}

.tn-layout-sidebar-inner {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    padding-top: 24px;
}

.tn-layout-above-toc {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tn-layout-sidebar.is-sticky .tn-layout-sidebar-inner { position: static; }

.tn-layout-sidebar .tn-sidebar-widget {
    width: 100%;
    margin: 0;
    border-color: #dfe7f2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(25, 52, 92, .045);
}

.tn-layout-sidebar .tn-layout-contextual-toc {
    width: 100%;
    margin: 0;
    box-shadow: 0 4px 16px rgba(25, 52, 92, .045);
}

.tn-layout-sidebar .tn-sidebar-widget-title {
    margin: 0;
    padding: 13px 15px;
    background: #f3f7ff;
    color: #19345c;
    font-size: .92rem;
    line-height: 1.65;
}

.tn-layout-sidebar .tn-layout-contextual-toc > strong {
    margin: 0;
    padding: 13px 15px;
    border-bottom: 0;
    background: #f3f7ff;
    color: #19345c;
    font-size: .92rem;
    line-height: 1.65;
}

.tn-layout-sidebar .tn-sidebar-widget > *:not(.tn-sidebar-widget-title) {
    max-width: 100%;
    padding: 14px 15px;
}

.tn-layout-sidebar .tn-sidebar-widget img,
.tn-layout-sidebar .tn-sidebar-widget iframe,
.tn-layout-sidebar .tn-sidebar-widget input,
.tn-layout-sidebar .tn-sidebar-widget select,
.tn-layout-sidebar .tn-sidebar-widget textarea {
    max-width: 100%;
}

/* Flexible recent-posts widget: compact editorial rows for any widget area. */
.tn-recent-posts {
    --tn-rp-thumb-size: 72px;
    --tn-rp-title-lines: 2;
    width: 100%;
}

.tn-recent-posts__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tn-recent-posts__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid #e7edf5;
}

.tn-recent-posts__item:first-child { padding-top: 0; }
.tn-recent-posts__item:last-child { padding-bottom: 0; border-bottom: 0; }
.tn-recent-posts--no-dividers .tn-recent-posts__item { border-bottom: 0; }
.tn-recent-posts--thumb-left .tn-recent-posts__item { flex-direction: row-reverse; }

.tn-recent-posts__thumb {
    position: relative;
    display: block;
    flex: 0 0 var(--tn-rp-thumb-size);
    width: var(--tn-rp-thumb-size);
    height: calc(var(--tn-rp-thumb-size) * .75);
    overflow: hidden;
    border-radius: 9px;
    background: #edf3fb;
}

.tn-recent-posts--ratio-square .tn-recent-posts__thumb { height: var(--tn-rp-thumb-size); }
.tn-recent-posts--ratio-portrait .tn-recent-posts__thumb { height: calc(var(--tn-rp-thumb-size) * 1.333); }

.tn-recent-posts__thumb img,
.tn-recent-posts__placeholder {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.tn-recent-posts__thumb img {
    object-fit: cover;
    transition: transform .25s ease;
}

.tn-recent-posts__item:hover .tn-recent-posts__thumb img { transform: scale(1.045); }

.tn-recent-posts__placeholder {
    display: grid;
    place-items: center;
    color: #7991b3;
    background: linear-gradient(135deg, #edf3fb, #dce8f8);
    font-size: 1.15rem;
}

.tn-recent-posts__body {
    flex: 1 1 auto;
    min-width: 0;
}

.tn-recent-posts__category {
    display: inline-flex;
    margin-bottom: 4px;
    color: var(--tn-primary);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.4;
}

.tn-recent-posts__title {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--tn-gray-800);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--tn-rp-title-lines);
}

.tn-recent-posts__title a { color: inherit; }
.tn-recent-posts__title a:hover { color: var(--tn-primary); }

.tn-recent-posts__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 5px;
    color: #788aa5;
    font-size: .69rem;
    line-height: 1.5;
}

.tn-recent-posts__meta time,
.tn-recent-posts__meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tn-recent-posts__meta i { color: #9aabc1; font-size: .82em; }

.tn-recent-posts__excerpt {
    display: -webkit-box;
    margin: 7px 0 0;
    overflow: hidden;
    color: var(--tn-gray-500);
    font-size: .75rem;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.tn-recent-posts__more {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e7edf5;
    color: var(--tn-primary);
    font-size: .78rem;
    font-weight: 700;
    text-align: center;
}

.tn-recent-posts__empty {
    margin: 0;
    color: var(--tn-gray-500);
    font-size: .8rem;
    line-height: 1.8;
}

.tn-recent-posts--compact .tn-recent-posts__item { gap: 9px; padding: 9px 0; }
.tn-recent-posts--compact .tn-recent-posts__title { font-size: .8rem; line-height: 1.55; }
.tn-recent-posts--compact .tn-recent-posts__meta { margin-top: 3px; font-size: .65rem; }

.tn-recent-posts--boxed .tn-recent-posts__list { gap: 9px; }
.tn-recent-posts--boxed .tn-recent-posts__item {
    padding: 10px;
    border: 1px solid #e2eaf4;
    border-radius: 10px;
    background: #fbfdff;
}

@media (max-width: 480px) {
    .tn-recent-posts__item { gap: 10px; }
}

/* A widget containing only one image is the artwork itself, not a card. */
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> .wp-block-image:only-child),
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> figure.wp-block-image:only-child),
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> img:only-child),
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> a:only-child > img:only-child) {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)) > .wp-block-image:only-child,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)) > figure.wp-block-image:only-child,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)) > img:only-child,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)) > a:only-child {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
}

.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)) > .wp-block-image:only-child > figure {
    width: 100%;
    margin: 0 !important;
}

.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> .wp-block-image:only-child) img,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> figure.wp-block-image:only-child) img,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> img:only-child) > img,
.tn-sidebar-widget:not(:has(.tn-sidebar-widget-title)):has(> a:only-child > img:only-child) img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* A sidebar frame owns the available width. Nested template containers must
   fill the main column instead of applying a second percentage constraint. */
.tn-layout-main .tn-container,
.tn-layout-main .tn-container-wide,
.tn-layout-main .irx-home .tn-container {
    width: 100%;
    max-width: none;
}

.tn-layout-managed.tn-layout-mode-none #tn-page-wrap .tn-container {
    width: var(--tn-current-content-width, var(--tn-site-width, 80%));
    max-width: var(--tn-current-content-max-width, var(--tn-site-max-width, 1600px));
}

.tn-page-content-card {
    width: 100%;
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    padding: 36px;
}

/* Article side content is controlled exclusively by the layout controller. */
.tn-layout-managed .tn-article-layout,
.tn-layout-managed .tn-single-article-layout,
.tn-article-layout-no-internal-sidebar {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    direction: rtl;
}

/* Entity information and navigation are in-content panels, never a second
   sidebar nested beside the administrator-selected theme sidebar. */
.tn-layout-managed .tn-entity-hero-grid,
.tn-layout-managed .tn-entity-content-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    direction: rtl;
}

.tn-layout-managed .tn-entity-hero-main,
.tn-layout-managed .tn-entity-hero-grid > .tn-smart-sidebar-track {
    grid-column: auto;
    grid-row: auto;
}

.tn-layout-managed .tn-entity-hero-grid > .tn-smart-sidebar-track,
.tn-layout-managed .tn-entity-content-layout > .tn-smart-sidebar-track {
    min-height: 0 !important;
}

.tn-layout-managed .tn-entity-side-panel,
.tn-layout-managed .tn-entity-sticky-sidebar {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    transform: none !important;
}

.tn-layout-managed .tn-entity-side-panel .tn-entity-info-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 6px 12px;
}

.tn-layout-managed .tn-entity-side-panel .tn-entity-info-row {
    min-height: 0;
    padding: 8px 10px;
    border: 1px solid #edf1f7;
    border-radius: 9px;
    background: #f8fafc;
}

.tn-layout-managed .tn-entity-side-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tn-layout-managed .tn-entity-side-actions .tn-entity-side-action {
    width: 100%;
    margin-top: 0;
}

.tn-layout-managed .tn-entity-sticky-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
    gap: 18px;
    align-items: start;
}

.tn-layout-managed .tn-entity-title-picker,
.tn-layout-managed .tn-entity-sticky-actions {
    margin: 0;
}

.tn-layout-managed .tn-entity-review-box-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tn-layout-managed .tn-entity-pros-cons {
    margin: 32px 0 0;
}

@media (max-width: 1180px) {
    .tn-layout-frame {
        width: min(94%, calc(100% - 32px));
    }

    .tn-layout-shell--right,
    .tn-layout-shell--right-small,
    .tn-layout-shell--left,
    .tn-layout-shell--both {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "main" "right" "left";
    }

    .tn-layout-sidebar-inner {
        position: static !important;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-top: 0;
    }
}

@media (max-width: 900px) {
    .tn-container,
    .tn-container-wide,
    .tn-site-layout-boxed #tn-page-wrap,
    .tn-site-layout-boxed-margin #tn-page-wrap {
        width: calc(100% - 32px);
        max-width: none;
    }

    .tn-site-layout-boxed-margin #tn-page-wrap {
        margin-top: 16px;
        margin-bottom: 16px;
        border-radius: 12px;
    }

    .tn-layout-shell--center .tn-layout-main {
        width: 100%;
    }

    .tn-layout-managed .tn-entity-side-panel .tn-entity-info-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tn-layout-managed .tn-entity-sticky-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .tn-container,
    .tn-container-wide,
    .tn-layout-frame,
    .tn-site-layout-boxed #tn-page-wrap,
    .tn-site-layout-boxed-margin #tn-page-wrap {
        width: calc(100% - 24px);
    }

    .tn-layout-sidebar-inner,
    .tn-layout-managed .tn-entity-side-panel .tn-entity-info-list,
    .tn-layout-managed .tn-entity-side-actions,
    .tn-layout-managed .tn-entity-review-box-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tn-page-content-card {
        padding: 24px 18px;
    }
}

/* ============================================================
   1.0.159 HOMEPAGE TOOLS — TRUE 16:9 MEDIA
   ============================================================ */
.irx-home.irx-tools-section .irx-tool-panel {
    align-items: start;
}

.irx-home.irx-tools-section .irx-tool-visual {
    aspect-ratio: 16 / 9;
    min-height: 0;
    height: auto;
    padding: 0;
}

.irx-home.irx-tools-section .irx-tool-custom-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}

/* ============================================================
   1.0.167 DIRECTORY BYLINE, MEDIA WIDTH + CONTEXT SIDEBARS
   ============================================================ */
.tn-directory-cornerstone .tn-single-article-meta {
    justify-content: flex-start;
    width: 70%;
    margin: 0 auto 24px;
    text-align: right;
}

.tn-directory-cornerstone .tn-broker-cornerstone-head > h1 {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
    text-align: right;
}

.tn-directory-cornerstone > .tn-container > .tn-breadcrumb,
.tn-directory-cornerstone > .tn-container > .tn-article-breadcrumb {
    width: 70%;
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    text-align: right;
}

.tn-directory-cornerstone > .tn-container > .tn-breadcrumb,
.tn-directory-cornerstone > .tn-container > .tn-article-breadcrumb .tn-breadcrumb {
    justify-content: flex-start;
}

.tn-directory-cornerstone > .tn-container > .tn-article-breadcrumb .tn-breadcrumb {
    margin-right: 0;
    margin-left: auto;
}

/* ============================================================
   1.0.168 EDUCATION HUB SHELL + PAGE FEEDBACK
   ============================================================ */
.tn-content-hub-directory-layout .tn-article-breadcrumb {
    margin-bottom: 28px;
}

.tn-content-hub-directory-layout .tn-content-hub-head {
    max-width: none;
    margin-bottom: 32px;
}

.tn-content-hub-directory-layout .tn-content-hub-top-content {
    margin-top: 0;
}

.tn-content-hub-directory-layout .tn-content-hub-bottom-content {
    max-width: none;
    margin-top: 0;
}

.tn-page-feedback {
    max-width: 1120px;
    margin: 48px auto 0;
}

.tn-directory-after-list-layout {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    grid-template-areas: "sidebar content";
    align-items: start;
    gap: 32px;
    margin-top: 38px;
    direction: ltr;
}

.tn-directory-after-list-layout > * {
    min-width: 0;
    direction: rtl;
}

.tn-directory-after-list-layout .tn-directory-simple-content {
    grid-area: content;
    margin-top: 0;
}

.tn-directory-left-sidebar {
    grid-area: sidebar;
    padding-bottom: var(--tn-smart-sidebar-footer-gap, 32px);
}

.tn-directory-left-sidebar-inner {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Center editor-inserted content images by default. Explicit WordPress
   align-left/right classes remain available when deliberately selected. */
.tn-content-article img:not(.alignleft):not(.alignright),
.entry-content img:not(.alignleft):not(.alignright),
.wpb_text_column img:not(.alignleft):not(.alignright),
.wpb_single_image img:not(.alignleft):not(.alignright) {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.wp-block-image:not(.alignleft):not(.alignright),
.wp-caption:not(.alignleft):not(.alignright) {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

@media (max-width: 1024px) {
    .tn-directory-featured-image,
    .tn-directory-cornerstone .tn-broker-cornerstone-head > h1,
    .tn-directory-cornerstone .tn-single-article-meta,
    .tn-directory-cornerstone > .tn-container > .tn-breadcrumb,
    .tn-directory-cornerstone > .tn-container > .tn-article-breadcrumb {
        width: 100%;
    }

    .tn-directory-after-list-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "content" "sidebar";
    }

    .tn-directory-left-sidebar-inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .tn-directory-cornerstone .tn-single-article-meta {
        overflow-x: auto;
    }

    .tn-directory-left-sidebar-inner {
        grid-template-columns: minmax(0, 1fr);
    }
}
