/* =========================================================
   Visatak — Visa UI (Page-scoped Organization / No style changes)
   Groups:
   [A] Shared: Tokens & Base
   [B] Shared: Utilities & Common UI
   [C] Single (Child) page only
   [D] Pillar page only
   [E] Archive (category: visa) page only
   ========================================================= */

/* =======================================
   [A] Shared — Tokens & Base
   ======================================= */
:where(.vt-visa){
  /* Theme token (HSL) */
  --visa-token: 218 57% 38%; /* ≈ #1d4da2 */

  /* Derived palette */
  --brand: hsl(var(--visa-token));
  --accent: color-mix(in hsl, hsl(var(--visa-token)) 25%, #f7b500);
  --ink: color-mix(in hsl, #0e2d63 60%, hsl(var(--visa-token)) 40%);
  --muted: color-mix(in hsl, #586170 70%, hsl(var(--visa-token)) 30%);
  --line: color-mix(in srgb, #e6e8ec 85%, hsl(var(--visa-token)) 15%);
  --soft: color-mix(in srgb, #f7f8fb 82%, hsl(var(--visa-token)) 18%);
  --white:#fff;

  --shadow: 0 12px 30px rgba(0,0,0,.08);
  --shadow-strong: 0 18px 40px color-mix(in srgb, rgba(22,30,84,.12) 100%, hsl(var(--visa-token)) 0%);

  --glass-bg: linear-gradient(135deg, rgba(255,255,255,.68), rgba(255,255,255,.5));
  --ring: 0 0 0 3px color-mix(in hsl, hsl(var(--visa-token)) 18%, transparent);
  --radius: 12px;
  --radius-lg: 16px;

  /* Hero-specific tokens (also derived) */
  --hero-grad-a: color-mix(in hsl, var(--soft) 70%, hsl(var(--visa-token)) 30%);
  --hero-grad-b: color-mix(in hsl, var(--soft) 85%, hsl(var(--visa-token)) 15%);
  --hero-glass-rgb: 255,255,255;

  /* Sticky offsets */
  --sticky-offset: 96px;
  --sticky-offset-mobile: 72px;

  color: var(--ink);
  line-height: 1.9;
  max-width: 1100px;
  margin: 16px auto 24px;
  padding: 0 16px;
  direction: rtl;
}

/* Wrapper adjustments (applies to all visa contexts) */
.vt-visa {
    margin: auto !important;
    padding: 10px !important;
}

/*importnat*/
#primary {
    margin: 0 !important;
}

/* =======================================
   [B] Shared — Utilities & Common UI
   ======================================= */
.vt-container{ width:100%; max-width:1100px; margin-inline:auto; padding-inline:0; }
.vt-hide{ display:none !important; }
.vt-mb{ margin-bottom:10px !important; }

/* Links */
.vt-link{ color:var(--brand); text-decoration:none; }
.vt-link:hover{ text-decoration:underline; }

/* Breadcrumb (scoped inside visa wrapper) */
.vt-visa .vt-bc{
  --bc-ink:var(--ink); --bc-muted:var(--muted); --bc-sep:#d9dde6;
  display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:8px 0 12px; padding:0;
  font-size:.92rem; color:var(--bc-muted);
}
.vt-visa .vt-bc__item{ display:flex; align-items:center; gap:8px; }
.vt-visa .vt-bc__item::before{ content:"›"; color:var(--bc-sep); }
.vt-visa .vt-bc__item:first-child::before{ content:none; }
.vt-visa .vt-bc__link{ color:var(--bc-muted); text-decoration:none; }
.vt-visa .vt-bc__link:hover{ color:var(--brand); text-decoration:underline; }
.vt-visa .vt-bc__current{ color:var(--bc-ink); font-weight:700; }

/* Chips / Badges (shared) */
.vt-chip{
  display:inline-block; padding:6px 10px; border-radius:999px; font-weight:800; font-size:.85rem;
  background: rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.35); backdrop-filter: blur(4px);
}
.vt-chip--country{ background: rgba(255,255,255,.22); }
.vt-chip--rec{ background: color-mix(in hsl, #f7b500 80%, var(--brand) 20%); border-color:transparent; color:#1b1b1b; }
.vt-chip--kind{ background: rgba(255,255,255,.18); }

/* Generic badge */
.vt-badge{
  display:inline-block; padding:2px 8px; border-radius:999px; font-size:.8rem;
  background:#eef2ff; color:#3730a3; border:1px solid #dfe3f5;
}
.vt-badge--muted{ background:#f6f7fb; color:#4b5563; border-color:#e6e8ec; }

/* Buttons */
.vt-btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:10px; border:1px solid transparent;
  text-decoration:none; font-weight:800; line-height:1; transition:transform .18s, box-shadow .18s, background-color .18s, color .18s, border-color .18s;
}
.vt-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.12); }
.vt-btn:focus-visible{ outline:none; box-shadow:var(--ring); }
.vt-btn--primary{ background:var(--brand); color:#fff; border-color:var(--brand); }
.vt-btn--outline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.55); }
.vt-btn--ghost{ background:#fff; color:var(--brand); border:1px solid #fff; }
.vt-btn--muted{ background:#fff; color:var(--ink); border:1px solid var(--line); }

/* Sections (shared panel) */
.vt-section{
  margin:14px 0; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--glass-bg); box-shadow:var(--shadow); backdrop-filter: blur(8px);
}
.vt-sec-title{
    background: #1d4da212;
    margin: 0 0 8px;
    font-weight: 900;
    font-size: clamp(18px, 2.5vw, 21px);
    color: var(--ink);
    position: relative;
    padding: 10px;
    padding-inline-end: 12px;
    text-align: start;
    border-left: solid 5px #1d4da2;
    border-bottom: 1px dashed var(--line);
    border-radius: 8px;
    border-bottom-color: 
    color-mix(in srgb, #1d4da2 70%, #000 30%);
    padding-bottom: 10px;
}

.vt-text{ color:var(--ink); text-align:justify; }
.vt-text p{ margin:0 0 10px; color:#000; }
.vt-lead{ margin: 8px 0 14px;
    padding: 10px 14px;
    color: #000000;
    border: 1px solid var(--line, #e6e8ee);
    border-inline-start: 5px solid var(--accent, #eca724);
    border-radius: 10px;
    text-align: justify; }

/* Shared lists */
.vt-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.vt-list__item{ border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px 12px; }
.vt-list__title{ margin:0 0 6px; font-weight:800; color:var(--ink); font-size:1rem; }
.vt-list__desc{ color:#1f2328; }

/* Shared accordion */
.vt-accordion{ display:grid; gap:10px; }
.vt-acc{ border:1px solid var(--line); border-radius:10px; background:#fff; overflow:hidden; }
.vt-acc__summary{ cursor:pointer; list-style:none; padding:10px 12px; font-weight:800; color:var(--ink); position:relative; }
.vt-acc__summary::-webkit-details-marker{ display:none; }
.vt-acc__summary::after{ content:"▾"; transform:translateY(-50%); color:#6b7280; font-weight:900; }
.vt-acc[open] .vt-acc__summary::after{ transform:translateY(-50%) rotate(180deg); }
.vt-acc__content{ padding:10px 12px; border-top:1px solid var(--line); color:#1f2328; text-align:justify; }

/* Shared docs inside accordion */
.vt-docs{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.vt-doc{ border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px; }
.vt-doc__head{ display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.vt-doc__title{ font-weight:800; color:var(--ink); }

/* Steps */
.vt-steps{ counter-reset:step; list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.vt-step{ position:relative; border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px 12px; }
.vt-step__num{
  position:absolute; right:12px; top:10px; width:26px; height:26px; border-radius:50%;
  background:var(--brand); color:#fff; display:grid; place-items:center; font: 900 12px/1 system-ui,sans-serif;
}
.vt-steps p {
  margin-bottom: 0;
}

.vt-step__body{ padding-right:44px; }
.vt-step__title{ margin:0 0 6px; font-weight:900; color:var(--ink); }
.vt-step__desc{ color:#1f2328; }
.vt-step__meta{ display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
.vt-chip--meta{
  background:#f4f6ff; color:var(--brand);
  border:1px solid #dde3f6; padding:4px 10px; border-radius:999px; font-weight:800; font-size:.85rem;
}

/* Video */
.vt-video{ position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:#000; }
.vt-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Reduced motion (shared) */
@media (prefers-reduced-motion:reduce){
  .vt-btn,
  .vt-visa--child .vt-quicknav,
  .vt-visa--child .vt-quicknav a{
    transition:none !important; transform:none !important;
  }
}

/* Shared: Pillar CTA (can appear near child or pillar) */
.vt-visa .vt-pillar-cta{
  max-width:1100px; margin:10px auto 0; padding:0 16px;
  display:flex; justify-content:flex-end;
}
.vt-visa .vt-pillar-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.55rem .85rem; border-radius:999px; text-decoration:none; font-weight:800;
  background: rgba(255,255,255,.72); backdrop-filter: blur(8px); border:1px solid var(--line); box-shadow: 0 8px 24px rgba(0,0,0,.06);
  color: var(--brand);
  transition: transform .18s, box-shadow .18s, border-color .18s, background-color .18s, color .18s;
}
.vt-visa .vt-pillar-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  border-color: color-mix(in srgb, var(--brand) 28%, var(--line));
  background: rgba(255,255,255,.85);
}
.vt-visa .vt-pillar-btn:focus-visible{ outline:none; box-shadow:var(--ring); }
.vt-visa .vt-pillar-btn svg{ width:18px; height:18px; }
@media (max-width: 480px){
  .vt-visa .vt-pillar-btn{ padding:.5rem .7rem; font-weight:700; }
}

/* =======================================
   [C] Single (Child) — page-specific
   Scope: .vt-visa--child …
   ======================================= */

/* Hero (glassy split) */
.vt-visa--child .vt-hero--glassy{ padding: clamp(16px, 3vw, 32px) 0; }
.vt-visa--child .vt-hero__grid{ gap:24px; align-items:center; max-width:1100px; margin:0 auto; }

.vt-visa--child .vt-hero__card{
  background: linear-gradient(186deg, #0e2d63, rgb(255 255 255 / 9%));
  backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: clamp(16px, 2.4vw, 28px);
  position: relative;
}

/* Chips in hero */
.vt-visa--child .vt-hero__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.vt-visa--child .vt-chip{
  display:inline-flex; align-items:center; gap:6px; padding:.3rem .6rem; border-radius:999px; border:1px solid var(--line);
  font-size:.85rem; background:#fff;
}
/* Country & Rec identical look → merged */
.vt-visa--child .vt-chip--country,
.vt-visa--child .vt-chip--rec{
  background: color-mix(in hsl, var(--brand) 15%, #fff 85%);
  border-color: color-mix(in hsl, var(--brand) 35%, #ddd 65%);
  color:#000;
}
.vt-visa--child .vt-chip--meta{ background:#fff; border-color:var(--line); font-size:.8rem; }

/* Titles & meta */
.vt-visa--child .vt-hero__title{ font-size:clamp(1.4rem, 2.6vw, 2rem); margin:.2rem 0 .4rem; }
.vt-visa--child .vt-hero__subtitle{ color:#fff; opacity:.85; margin:0 0 .6rem; }
.vt-visa--child .vt-hero__meta{ flex-wrap:wrap; gap:8px; margin:.25rem 0 1rem; }

/* CTAs */
.vt-visa--child .vt-cta__list{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.vt-visa--child .vt-cta{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem .9rem; border-radius:10px; border:1px solid transparent; text-decoration:none; font-weight:600; }
.vt-visa--child .vt-cta svg{ width:18px; height:18px; }
.vt-visa--child .vt-cta--primary{ background:var(--brand); color:#fff; }
.vt-visa--child .vt-cta--ghost{ background:transparent; border-color:var(--line); color:#111; }
.vt-visa--child .vt-cta--link{ background:transparent; color:var(--brand); border-color:transparent; padding:.6rem .2rem; }

/* Hover / Focus-visible for ghost CTA */
.vt-visa--child .vt-cta--ghost:hover,
.vt-visa--child .vt-cta--ghost:focus-visible{
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  box-shadow: 0 8px 20px rgba(14,45,99,.18);
  transform: translateY(-1px);
  outline: none;
}

/* Hint & thumb */
.vt-visa--child .vt-hero__hint{ position:absolute; left:50%; transform:translateX(-50%); bottom:6px; opacity:.7; }
.vt-visa--child .vt-hero__hint svg{ width:22px; height:22px; }
.vt-visa--child .vt-hero__thumb img{ width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:0 6px 24px rgba(0,0,0,.08); }

/* Ensure hint never covers CTA row */
.vt-visa--child .vt-hero__ctas{ position:relative; z-index:2; }
.vt-visa--child .vt-hero__hint{ z-index:1; }

/* Mobile handling for hint */
@media (max-width: 991.98px){
  .vt-visa--child .vt-hero__card{ padding-bottom:16px; }
  .vt-visa--child .vt-hero__hint{
    position:static; display:inline-flex; justify-content:center; margin-top:8px; opacity:.7;
  }
}
@media (max-width:420px){ .vt-visa--child .vt-hero__hint{ display:none; } }
.vt-visa--child .vt-hero__hint.is-hidden{ opacity:0; pointer-events:none; transition:opacity .2s ease; }

/* Sticky Quicknav */
.vt-visa--child .vt-quicknav{
  --qn-radius: 20px;
  --qn-gap: 12px;
  --qn-alpha: .74;
  --qn-blur: 14px;
  --qn-pad-v: 10px;
  --qn-pad-h: 14px;
  --qn-minh: 42px;
  --qn-shadow: 0 14px 36px rgba(0,0,0,.14);
  --qn-ring: 0 0 0 3px color-mix(in hsl, hsl(var(--visa-token)) 22%, transparent);
  --qn-border: color-mix(in srgb, var(--line) 75%, hsl(var(--visa-token)) 25%);
  --qn-bg: rgba(255,255,255,var(--qn-alpha));
  --qn-bg-hover: rgba(255,255,255,.92);
  --qn-active-bg: color-mix(in hsl, hsl(var(--visa-token)) 12%, #fff 88%);
  --qn-active-border: color-mix(in srgb, hsl(var(--visa-token)) 30%, var(--line));
  --qn-active-dot: hsl(var(--visa-token));
  --qn-ink: #111;

  position: fixed;
  inset-inline: 0;
  z-index: 50;
  transform: translateY(-120%);
  opacity: 0;
  transition: transform .32s cubic-bezier(.22,.9,.24,1), opacity .24s ease;
  pointer-events: none;
  will-change: transform, opacity;
}
.vt-visa--child .vt-quicknav.is-visible{ transform: translateY(0); opacity:1; pointer-events:auto; }

@media (min-width: 992px){ .vt-visa--child .vt-quicknav{ top: 12px; } }
@media (max-width: 991.98px){ .vt-visa--child .vt-quicknav{ bottom: calc(12px + env(safe-area-inset-bottom)); } }

/* glass pill container */
.vt-visa--child .vt-quicknav ul{
  position:relative; display:flex; align-items:center; justify-content:center; gap:var(--qn-gap);
  margin:0 auto; padding:var(--qn-pad-v) var(--qn-pad-h);
  min-height:calc(var(--qn-minh) + var(--qn-pad-v)*2); max-width:980px; list-style:none;
  background:var(--qn-bg);
  backdrop-filter: blur(var(--qn-blur)) saturate(120%);
  -webkit-backdrop-filter: blur(var(--qn-blur)) saturate(120%);
  border:1px solid var(--qn-border); border-radius:999px; box-shadow:var(--qn-shadow); overflow:hidden;
}

/* soft gradient ring */
.vt-visa--child .vt-quicknav ul::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background: linear-gradient(90deg,
      color-mix(in srgb, hsl(var(--visa-token)) 26%, #fff) 0%,
      transparent 35%,
      color-mix(in srgb, hsl(var(--visa-token)) 22%, #fff) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; /* Safari */
  mask-composite: exclude;
  opacity:.22; pointer-events:none;
}

/* inner gloss */
.vt-visa--child .vt-quicknav ul::after{
  content:""; position:absolute; inset:0 0 auto 0; height:40%; border-radius:inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.38), transparent 60%);
  opacity:.35; pointer-events:none;
}

/* items & links */
.vt-visa--child .vt-quicknav li{ display:contents; } /* flatten */
.vt-visa--child .vt-quicknav a{
  display:inline-flex; align-items:center; gap:.55rem; padding:.55rem .95rem; min-height:var(--qn-minh);
  border-radius:999px; text-decoration:none; color:var(--qn-ink); border:1px solid transparent; background:transparent;
  font-weight:800; letter-spacing:.1px;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.vt-visa--child .vt-quicknav a:hover{
  transform: translateY(-1.5px); background: var(--qn-bg-hover); box-shadow: 0 8px 22px rgba(0,0,0,.10);
}
.vt-visa--child .vt-quicknav a:active{ transform: translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,.10) inset; }
.vt-visa--child .vt-quicknav a:focus-visible{ outline:none; box-shadow:var(--qn-ring); }
.vt-visa--child .vt-quicknav a svg{ width:18px; height:18px; }

/* active state */
.vt-visa--child .vt-quicknav a.is-active{
  background: var(--qn-active-bg);
  color: hsl(var(--visa-token));
  border-color: var(--qn-active-border);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, hsl(var(--visa-token)) 34%, #fff), 0 10px 26px rgba(0,0,0,.12);
  position: relative;
}
.vt-visa--child .vt-quicknav a.is-active::after{
  content:""; position:absolute; bottom:6px; inset-inline-start:50%; transform:translateX(-50%);
  width:6px; height:6px; border-radius:50%; background: var(--qn-active-dot);
  box-shadow: 0 0 0 3px color-mix(in srgb, hsl(var(--visa-token)) 18%, transparent);
}

/* compact quicknav */
@media (max-width: 480px){
  .vt-visa--child .vt-quicknav ul{ gap:8px; padding:8px 10px; }
  .vt-visa--child .vt-quicknav a{ padding:.5rem .75rem; min-height:40px; }
  .vt-visa--child .vt-quicknav a span{ font-size:.9rem; }
}
@media (max-width: 360px){ .vt-visa--child .vt-quicknav a span{ display:none; } }

/* Child Sections / Cards / Accordion */
.vt-visa--child .vt-section{ max-width:1100px; margin:28px auto; }
.vt-visa--child .vt-sec-title{ font-size:1.25rem; margin:.2rem 0 12px; color:#000; }
.vt-visa--child .vt-lead{ opacity:.9; }
.vt-visa--child .vt-text p{ margin:.6rem 0; }

/* Contact box */
.vt-visa--child .vt-contact{ border:1px solid var(--line); border-radius:14px; padding:16px; background:#fff; }
.vt-visa--child .vt-contact__note{ margin:.2rem 0 1rem; }
.vt-visa--child .vt-contact__grid{ display:flex; flex-wrap:wrap; gap:10px; }
.vt-visa--child .vt-contact .vt-cta--primary{ min-width:160px; justify-content:center; }

/* Fee cards */
.vt-visa--child .vt-fee-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.vt-visa--child .vt-card{ border:1px solid var(--line); border-radius:14px; background:#fff; }
.vt-visa--child .vt-card__head{
  display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--line);
}
.vt-visa--child .vt-card__title{ margin:0; font-size:1rem; }
.vt-visa--child .vt-badge{ display:inline-block; border:1px solid var(--line); border-radius:999px; padding:.15rem .5rem; font-size:.8rem; }
.vt-visa--child .vt-badge--muted{ opacity:.75; }
.vt-visa--child .vt-meta{ list-style:none; margin:0; padding:12px 14px 6px; }
.vt-visa--child .vt-meta li{ display:flex; gap:6px; margin:.2rem 0; }
.vt-visa--child .vt-card__notes{ padding:0 14px 12px; opacity:.9; }

/* Accordion tweaks (child scope) */
.vt-visa--child .vt-accordion .vt-acc{ border:1px solid var(--line); border-radius:10px; margin-bottom:10px; background:#fff; }
.vt-visa--child .vt-acc__summary{ cursor:pointer; list-style:none; padding:10px 14px; }
.vt-visa--child .vt-acc__title{ font-weight:600; }
.vt-visa--child .vt-acc__content{ padding:10px 14px 14px;margin-right:20px; }
.vt-visa--child .vt-docs{ list-style:none; margin:0; padding:0; }
.vt-visa--child .vt-doc{ border-top:1px dashed var(--line); padding:10px 0; }
.vt-visa--child .vt-doc:first-child{ border-top:0; }
.vt-visa--child .vt-doc__head{ display:flex; justify-content:space-between; gap:10px; }

/* =======================================
   [D] Pillar — page-specific
   Scope: .vt-visa--pillar …
   ======================================= */

/* Scroll offset for anchored sections */
.vt-visa--pillar .vt-section { scroll-margin-top: calc(var(--sticky-offset) + 16px); }

/* ---------------------------------------
   [P1] Hero (with optional country background via CSS var)
   --------------------------------------- */
.vt-visa--pillar .vt-hero.vt-hero--pillar{
  position: relative;
  isolation: isolate;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background:
    radial-gradient(1200px 480px at 80% 0%, rgba(255,255,255,.6), transparent),
    linear-gradient(135deg, var(--hero-grad-a), var(--hero-grad-b));
  box-shadow: var(--shadow-strong);
  padding: 18px 16px 20px;
  overflow: hidden;
  color: var(--ink);
}

/* زمینه تصویری بدون <img>، با ماسک و اورلی */
.vt-visa--pillar .vt-hero--pillar .vt-hero__bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-hero__bg::before{
  content:""; position:absolute; inset:0;
  background-image: var(--pillar-hero-bg);
  background-size: cover; background-position: center;
  opacity:.9; filter: saturate(1.08) contrast(1.05) brightness(0.98);
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(120% 90% at 80% 10%, rgba(0,0,0,.98) 45%, rgba(0,0,0,.6) 70%, transparent 100%);
  mask-image: radial-gradient(120% 90% at 80% 10%, rgba(0,0,0,.98) 45%, rgba(0,0,0,.6) 70%, transparent 100%);
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.2) 40%, rgba(0,0,0,.38) 100%),
    linear-gradient(135deg, color-mix(in hsl, var(--brand) 10%, transparent), transparent 60%);
}

/* لایه‌ی محتوای هیرو */
.vt-visa--pillar .vt-hero--pillar .vt-hero__head,
.vt-visa--pillar .vt-hero--pillar .vt-hero__meta,
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas,
.vt-visa--pillar .vt-hero--pillar .vt-hero__hint{ position:relative; z-index:2; }

/* چیپ‌ها و تیتر/زیرتیتر */
.vt-visa--pillar .vt-hero--pillar .vt-hero__chips{ display:flex; gap:.5rem; margin-bottom:.25rem; }
.vt-visa--pillar .vt-hero--pillar .vt-hero__title{
  margin:0; font-weight:900; color:var(--ink);
  font-size:clamp(22px, 3.8vw, 32px);
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__subtitle{
  margin:.35rem 0 .65rem; color:color-mix(in hsl, var(--ink) 85%, #000 15%);
  font-size:clamp(14px, 2.6vw, 16px);
}

/* خوانایی بالا روی بک‌گراند تصویری */
.vt-visa--pillar .vt-hero--pillar.has-hero-bg{
  --on-hero:#fff;
  --on-hero-muted: color-mix(in srgb, #ffffff 80%, #cbd5e1 20%);
}
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-hero__title{
  color: var(--on-hero);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-hero__subtitle{
  color: var(--on-hero-muted);
  text-shadow: 0 1px 10px rgba(0,0,0,.3);
}
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-chip{
  background: rgba(0,0,0,.28);
  border-color: rgba(255,255,255,.35);
  color:#fff;
}
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-chip--meta{
  background: rgba(0,0,0,.4);
  border-color: rgba(255,255,255,.35);
  color:#fff;
}

/* دکمه راهنما (hint) */
.vt-visa--pillar .vt-hero--pillar .vt-hero__hint{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:10px; width:28px; height:28px; border-radius:999px;
  display:grid; place-items:center; color:var(--brand);
  background: rgba(var(--hero-glass-rgb), .85); border:1px solid var(--line);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__hint svg{ width:18px; height:18px; }

/* CTAها در هیرو */
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas{ margin-top:.35rem; }
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta__list{
  display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.55rem .85rem; border-radius:10px; border:1px solid transparent;
  text-decoration:none; font-weight:800; line-height:1;
  transition:transform .18s, box-shadow .18s, background-color .18s, color .18s, border-color .18s;
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta svg{ width:18px; height:18px; }
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta--primary{
  background:var(--brand); color:#fff; border-color:var(--brand);
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta--ghost{
  background:#fff; color:var(--brand); border:1px solid #fff;
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta--ghost:hover{
  transform:translateY(-1px); box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.vt-visa--pillar .vt-hero--pillar .vt-hero__ctas .vt-cta--link{
  background:transparent; color:var(--brand);
}
/* وقتی پس‌زمینهٔ تصویری فعال است، Ghost شیشه‌ای سفید شود */
.vt-visa--pillar .vt-hero--pillar.has-hero-bg .vt-hero__ctas .vt-cta--ghost{
  background: rgba(255,255,255,.92); border-color: rgba(255,255,255,.92); color: var(--brand);
}

/* موبایل: اورلی تیره‌تر برای خوانایی */
@media (max-width: 560px){
  .vt-visa--pillar .vt-hero--pillar .vt-hero__bg::after{
    background:
      linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.28) 40%, rgba(0,0,0,.48) 100%),
      linear-gradient(135deg, color-mix(in hsl, var(--brand) 12%, transparent), transparent 60%);
  }
}

/* ---------------------------------------
   [P2] Sticky Quicknav
   --------------------------------------- */
.vt-visa--pillar .vt-quicknav{
  position: sticky;
  top: var(--sticky-offset);
  z-index: 30;
  margin: 10px 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(var(--hero-glass-rgb), .82);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  overflow-x: auto;
}
@media (max-width: 680px){
  .vt-visa--pillar .vt-quicknav{ top: var(--sticky-offset-mobile); }
}
.vt-visa--pillar .vt-quicknav ul{
  display:flex; align-items:center; gap:6px;
  list-style:none; margin:0; padding:6px;
  white-space: nowrap;
}
.vt-visa--pillar .vt-quicknav a{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  color:var(--ink); text-decoration:none;
  border:1px solid transparent;
  transition: background-color .18s, color .18s, border-color .18s, transform .18s;
}
.vt-visa--pillar .vt-quicknav a:hover{
  background:#fff; color:var(--brand); border-color:var(--line); transform: translateY(-1px);
}
.vt-visa--pillar .vt-quicknav a:focus-visible{ outline:none; box-shadow: var(--ring); }
.vt-visa--pillar .vt-quicknav a.is-active,
.vt-visa--pillar .vt-quicknav a[aria-current="true"]{
  background: var(--brand); color:#fff; border-color: var(--brand);
}

/* ---------------------------------------
   [P3] Cards Grid (Variants)
   --------------------------------------- */
.vt-visa--pillar .vt-grid{ display:grid; gap:12px; }
.vt-visa--pillar .vt-grid--cards{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 980px){
  .vt-visa--pillar .vt-grid--cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .vt-visa--pillar .vt-grid--cards{ grid-template-columns: 1fr; }
}

/* Card */
.vt-visa--pillar .vt-card{
  position:relative; height:100%;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background:#fff;
  box-shadow: var(--shadow);
  overflow:hidden;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.vt-visa--pillar .vt-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(0,0,0,.12);
  border-color: color-mix(in srgb, var(--brand) 18%, var(--line));
}
.vt-visa--pillar .vt-card__link{ display:grid; grid-template-rows: auto 1fr; text-decoration:none; color:inherit; height:100%; }
.vt-visa--pillar .vt-card__media{
  background: var(--soft);
  aspect-ratio: 16/10; overflow:hidden;
}
.vt-visa--pillar .vt-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-visa--pillar .vt-card__ph{ width:100%; height:100%; aspect-ratio:16/10; background:linear-gradient(135deg,#f3f5fb,#e9eef9); }

.vt-visa--pillar .vt-card__body{ padding:12px; display:grid; align-content:start; gap:8px; }
.vt-visa--pillar .vt-card__title{ margin:0; font-weight:900; font-size:1rem; color:var(--ink); }
.vt-visa--pillar .vt-card__excerpt{ margin:0; color:#1f2328; font-size:.92rem; line-height:1.7; }
.vt-visa--pillar .vt-badges{ display:flex; flex-wrap:wrap; gap:6px; }

/* Meta inline list inside cards */
.vt-visa--pillar .vt-meta{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.vt-visa--pillar .vt-meta--inline{ display:flex; flex-wrap:wrap; gap:10px 16px; }
.vt-visa--pillar .vt-meta--inline li{ display:flex; align-items:center; gap:6px; color:#334155; font-size:.9rem; }
.vt-visa--pillar .vt-meta--inline li span{ color:#6b7280; }

/* Small button on card */
.vt-visa--pillar .vt-btn--sm{ padding:8px 10px; font-size:.88rem; }

/* ---------------------------------------
   [P4] Compare Table
   --------------------------------------- */
.vt-visa--pillar .table-wrap{
  border:1px solid var(--line);
  border-radius: var(--radius);
  background:#fff;
  box-shadow: var(--shadow);
  overflow:auto;
}
.vt-visa--pillar .fees-table{
  width:100%; border-collapse:collapse; min-width:640px;
  font-size:.95rem;
}
.vt-visa--pillar .fees-table th,
.vt-visa--pillar .fees-table td{
  padding:10px 12px; text-align:right; border-bottom:1px solid var(--line);
}
.vt-visa--pillar .fees-table thead th{
  background:linear-gradient(180deg, #f9faff, #f2f5fd);
  color:#0f172a; font-weight:900; position:sticky; top:0; z-index:1;
}
.vt-visa--pillar .fees-table tbody tr:nth-child(even){ background:#fafbff; }
.vt-visa--pillar .fees-table a{ color:var(--brand); text-decoration:none; }
.vt-visa--pillar .fees-table a:hover{ text-decoration:underline; }

/* ---------------------------------------
   [P5] Docs (pillar)
   --------------------------------------- */
.vt-visa--pillar .vt-section--docs .vt-doc{ transition:border-color .18s, box-shadow .18s; }
.vt-visa--pillar .vt-section--docs .vt-doc:hover{
  border-color: color-mix(in srgb, var(--brand) 20%, var(--line));
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

/* ---------------------------------------
   [P7] Steps (HowTo)
   --------------------------------------- */
.vt-visa--pillar .vt-steps{ gap:12px; }
.vt-visa--pillar .vt-step{ transition:border-color .18s, box-shadow .18s; }
.vt-visa--pillar .vt-step:hover{
  border-color: color-mix(in srgb, var(--brand) 18%, var(--line));
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

/* ---------------------------------------
   [P8] Video
   --------------------------------------- */
.vt-visa--pillar .vt-section--video .vt-video{ box-shadow: var(--shadow); }

/* ---------------------------------------
   [P9] Content section
   --------------------------------------- */
.vt-visa--pillar .vt-section--content .vt-text p + p{ margin-top:.7rem; }

/* ---------------------------------------
   [P10] Responsive tweaks
   --------------------------------------- */
@media (max-width: 1024px){
  /* اگر در جایی thumb تصویری استفاده شود */
  .vt-visa--pillar .vt-hero__thumb img{ aspect-ratio: 16/8; }
}
@media (max-width: 680px){
  .vt-visa--pillar .vt-hero.vt-hero--pillar{ padding:14px; }
  .vt-visa--pillar .vt-hero__thumb img{ aspect-ratio: 16/10; }
}
@media (prefers-reduced-motion: reduce){
  .vt-visa--pillar .vt-card,
  .vt-visa--pillar .vt-quicknav a,
  .vt-visa--pillar .vt-section--docs .vt-doc,
  .vt-visa--pillar .vt-step{
    transition:none !important; transform:none !important;
  }
}
/* ==========================================================================
   Archive (category: visa) — Scope: .vt-visa--archive
   Clean, deduped, search-only hero
   ========================================================================== */

/* =============== [U] Utilities =============== */
.vt-visa--archive .is-hidden { display: none !important; }

/* =============== [H] Hero — Pro (enhanced, search-only) =============== */
.vt-visa--archive .vt-hero--pro{
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 22px;
  background:
    radial-gradient(1100px 240px at 85% -20%, color-mix(in srgb, var(--brand) 16%, #fff 84%), transparent 60%),
    linear-gradient(135deg, var(--hero-grad-a), var(--hero-grad-b));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.vt-visa--archive .vt-hero--pro::before{
  content:"";
  position:absolute; inset:auto 0 -60px auto; width: 420px; height: 420px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--brand) 12%, #fff 88%);
  filter: blur(40px); opacity: .45; pointer-events:none;
}
.vt-visa--archive .vt-hero--pro::after{
  content:"";
  position:absolute; inset: 0;
  background-image:
    radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.22) 50%, transparent 51%),
    radial-gradient(2px 2px at 70% 60%, rgba(255,255,255,.16) 50%, transparent 51%),
    radial-gradient(2px 2px at 40% 80%, rgba(255,255,255,.12) 50%, transparent 51%);
  background-size: 180px 180px, 220px 220px, 260px 260px;
  background-repeat: no-repeat; pointer-events: none;
}
.vt-visa--archive .vt-hero__grid{
  display: grid; gap: 18px;
  grid-template-columns: 1.1fr .9fr; align-items: center;
}
@media (max-width: 980px){ .vt-visa--archive .vt-hero__grid{ grid-template-columns: 1fr; } }
.vt-visa--archive .vt-hero__col--main{ min-width: 0; }
.vt-visa--archive .vt-hero__col--media{ justify-self: end; max-width: 560px; width: 100%; }

.vt-visa--archive .vt-hero--pro .vt-hero__title{
  margin: 0 0 8px 0;
  font-weight: 900; color: var(--ink);
  font-size: clamp(22px, 3.2vw, 30px);
}
.vt-visa--archive .vt-hero--pro .vt-hero__subtitle{
  font-size: .98rem; line-height: 1.8; color: #111827;
  background: #ffffffc7; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px;
  display: inline-block; margin-bottom: 6px;
}

/* Hero media (only image; no fallback art/trust badges) */
.vt-visa--archive .vt-hero__img{
  width: 100%; height: auto; display: block; border-radius: 18px;
  box-shadow: 0 10px 40px rgba(0,0,0,.15);
}

/* Lead bullets + KPIs */
.vt-visa--archive .vt-hero__lead{
  margin: 8px 0 12px; padding: 0; list-style: none; display: grid; gap: 6px;
}
.vt-visa--archive .vt-hero__lead li{
  display:flex; align-items:center; gap:8px;
  font-size: .95rem; color: #0f172a; background:#ffffffc4;
  border:1px solid var(--line); border-radius: 999px; padding: 6px 10px;
}
.vt-visa--archive .vt-hero__lead li::before{
  content:""; width: 8px; height: 8px; border-radius:50%;
  background: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);
}
.vt-visa--archive .vt-hero__kpis{
  display: grid; gap: 10px; grid-auto-flow: column; justify-content: start;
}
@media (max-width: 560px){
  .vt-visa--archive .vt-hero__kpis{ grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0,1fr)); }
}
.vt-visa--archive .vt-kpi{
  background:#fff; border:1px solid var(--line);
  border-radius: 12px; padding: 10px 12px; min-width: 120px; text-align: center;
  box-shadow: var(--shadow);
}
.vt-visa--archive .vt-kpi__value{ font-weight: 900; color: var(--ink); font-size: clamp(18px, 3.2vw, 22px); line-height: 1.1; }
.vt-visa--archive .vt-kpi__label{ font-size: .8rem; color:#475569; margin-top: 2px; }

/* Hero search (only control kept in hero) */
.vt-visa--archive .vt-hero-search{
  display:flex; gap:8px; margin-top: 14px;
  background:#fff; border:1px solid var(--line);
  border-radius: 14px; padding: 6px;
  box-shadow: var(--shadow);
}
.vt-visa--archive .vt-hero-search input[type="search"]{
  flex:1; min-width: 160px;
  border:0; outline:0;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: .95rem;
}
@media (prefers-reduced-motion: reduce){ .vt-visa--archive .vt-hero--pro::before{ filter:none; } }

/* =============== [S] Shared section title =============== */
.vt-visa--archive .vt-sec-title{
  margin: 0 0 10px 0;
  font-weight: 900;
  color: var(--ink);
  font-size: clamp(18px, 2.6vw, 22px);
}

/* ==========================================================================
   [E] Archive (category: visa) — Scope: .vt-visa--archive
   Clean, deduped, search-only hero + Pillars + Visa Types
   ========================================================================== */

/* =============== [U] Utilities =============== */
.vt-visa--archive .is-hidden { display: none !important; }
.vt-visa--archive .vt-section { margin-block: 14px 18px; } /* ریتم یکدست با Shared */

/* =============== [H] HERO — Pro (Sharpened / Search-only) =============== */
.vt-visa--archive .vt-hero--pro{
  position: relative;
  border: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%);
  border-radius: var(--radius-lg);
  padding: 24px 24px 22px;
  background:
    radial-gradient(1200px 240px at 90% -15%, color-mix(in srgb, var(--brand) 22%, #fff 78%), transparent 60%),
    linear-gradient(135deg, color-mix(in srgb, var(--brand) 18%, var(--hero-grad-a)),
                           color-mix(in srgb, var(--brand) 12%, var(--hero-grad-b)));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.vt-visa--archive .vt-hero--pro::before{
  content:"";
  position:absolute; inset:auto 0 -58px auto; width: 440px; height: 440px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--brand) 18%, #fff 82%);
  filter: blur(36px); opacity: .50; pointer-events:none;
}
.vt-visa--archive .vt-hero--pro::after{
  content:"";
  position:absolute; inset: 0;
  background-image:
    radial-gradient(2px 2px at 22% 28%, rgba(255,255,255,.28) 50%, transparent 51%),
    radial-gradient(2px 2px at 70% 62%, rgba(255,255,255,.18) 50%, transparent 51%),
    radial-gradient(2px 2px at 40% 82%, rgba(255,255,255,.12) 50%, transparent 51%);
  background-size: 180px 180px, 220px 220px, 260px 260px;
  background-repeat: no-repeat; pointer-events: none;
}

/* Grid داخل هیرو */
.vt-visa--archive .vt-hero__grid{
  display:grid; gap: 16px;
  grid-template-columns: 1.05fr .95fr; align-items: center;
}
@media (max-width: 980px){ .vt-visa--archive .vt-hero__grid{ grid-template-columns: 1fr; } }
.vt-visa--archive .vt-hero__col--main{ min-width: 0; }
.vt-visa--archive .vt-hero__col--media{ justify-self: end; max-width: 560px; width: 100%; }

/* Title / Subtitle */
.vt-visa--archive .vt-hero--pro .vt-hero__title{
  margin: 0 0 6px;
  color: #0b1324; /* خواناتر روی بک‌گراند روشن */
  font-weight: 900;
  font-size: clamp(24px, 3.4vw, 32px);
  letter-spacing: -.015em;
}
.vt-visa--archive .vt-hero--pro .vt-hero__subtitle{
  display:inline-block; margin-bottom: 8px;
  color: #223047;
  background: color-mix(in srgb, #fff 90%, var(--brand) 10%);
  border: 1px solid color-mix(in srgb, var(--line) 60%, var(--brand) 40%);
  border-radius: 12px; padding: 8px 12px;
  font-size: .98rem; line-height: 1.75;
  box-shadow: 0 4px 16px rgba(11,19,36,.06);
}

/* KPI / Lead (اختیاری؛ اگر در مارک‌آپ باشد) */
.vt-visa--archive .vt-hero__kpis{ display:grid; gap:10px; grid-auto-flow:column; justify-content:start; }
@media (max-width:560px){ .vt-visa--archive .vt-hero__kpis{ grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); } }
.vt-visa--archive .vt-kpi{
  background:#fff; border:1px solid color-mix(in srgb, var(--line) 55%, var(--brand) 45%);
  border-radius:14px; padding:12px 14px; min-width:128px; text-align:center;
  box-shadow: 0 8px 22px rgba(11,19,36,.10);
}
.vt-visa--archive .vt-kpi__value{ font-weight:900; color:#0b1324; font-size:clamp(19px,3.2vw,23px); line-height:1.05; }
.vt-visa--archive .vt-kpi__label{ margin-top:2px; font-size:.8rem; color:#53657d; }
.vt-visa--archive .vt-hero__lead{ margin:8px 0 12px; padding:0; list-style:none; display:grid; gap:6px; }
.vt-visa--archive .vt-hero__lead li{
  display:flex; align-items:center; gap:8px; font-size:.95rem; color:#223047;
  background: rgba(255,255,255,.78); backdrop-filter: blur(6px);
  border:1px solid rgba(255,255,255,.55); border-radius:999px; padding:7px 12px;
  box-shadow: 0 6px 18px rgba(11,19,36,.08);
}
.vt-visa--archive .vt-hero__lead li::before{
  content:""; width:8px; height:8px; border-radius:50%; background: var(--brand);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 28%, transparent);
}

/* Hero media */
.vt-visa--archive .vt-hero__img{
  width:100%; height:auto; display:block; border-radius:16px;
  box-shadow: 0 14px 40px rgba(11,19,36,.16);
}

/* تنها کنترل باقی‌مانده در هیرو: جستجو */
.vt-visa--archive .vt-hero-search{
  display:flex; gap:10px; margin-top:14px;
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border:1px solid rgba(255,255,255,.55);
  border-radius:14px; padding:8px;
  box-shadow: var(--shadow);
}
.vt-visa--archive .vt-hero-search input[type="search"]{
  flex:1; min-width:180px; border:0; outline:0; padding:10px 12px;
  border-radius:10px; font-size:.98rem; color:#0b1324;
}
.vt-visa--archive .vt-hero-search .vt-btn{
  font-weight:800; letter-spacing:.01em; box-shadow: 0 6px 16px rgba(11,19,36,.12);
}
.vt-visa--archive .vt-hero-search .vt-btn:focus-visible{
  outline:none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent), 0 6px 16px rgba(11,19,36,.12);
}

@media (max-width:560px){ .vt-visa--archive .vt-hero--pro{ padding:16px; } }
@media (prefers-reduced-motion:reduce){
  .vt-visa--archive .vt-hero--pro::before{ filter:none; }
}

/* =============== [AEO] Archive AEO (short intro) =============== */
.vt-visa--archive .vt-archive-aeo{
  position:relative;
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  padding:14px 16px;
  background:#fff; box-shadow: var(--shadow);
  margin-block:12px 16px;
}
.vt-visa--archive .vt-archive-aeo::before{
  content:""; position:absolute; inset-inline-start:0; inset-block:10px;
  width:4px; border-radius:4px; background: color-mix(in srgb, var(--brand) 70%, #fff 30%);
}
.vt-visa--archive .vt-archive-aeo__inner{ font-size:.98rem; line-height:1.9; color:#1f2328; }
.vt-visa--archive .vt-archive-aeo__inner > * + *{ margin-top:.6rem; }

/* =============== [P] Pillars grid + show more =============== */
.vt-visa--archive .vt-section--pillars .vt-grid--pillars{
  display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width:980px){ .vt-visa--archive .vt-section--pillars .vt-grid--pillars{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:560px){ .vt-visa--archive .vt-section--pillars .vt-grid--pillars{ grid-template-columns: 1fr; } }

.vt-visa--archive .vt-section--pillars .vt-card{
  border:1px solid var(--line); border-radius: var(--radius); background:#fff;
  box-shadow: var(--shadow); overflow:hidden; position:relative;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.vt-visa--archive .vt-section--pillars .vt-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(0,0,0,.12);
  border-color: color-mix(in srgb, var(--brand) 18%, var(--line));
}
.vt-visa--archive .vt-section--pillars .vt-card__link{ display:block; color:inherit; text-decoration:none; }
.vt-visa--archive .vt-section--pillars .vt-card__media{ aspect-ratio:16/10; background:var(--soft); overflow:hidden; }
.vt-visa--archive .vt-section--pillars .vt-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-visa--archive .vt-section--pillars .vt-card__body{ padding:12px; }
.vt-visa--archive .vt-section--pillars .vt-card__title{ margin:0 0 6px; font-weight:900; font-size:1rem; color:var(--ink); }
.vt-visa--archive .vt-section--pillars .vt-card__excerpt{ margin:0 0 8px; color:#1f2328; font-size:.92rem; }
.vt-visa--archive .vt-pillar-actions{ display:flex; justify-content:center; margin-top:10px; }

/* =============== [T] Visa Types (Tabs + Grid + Cards) =============== */
.vt-visa--archive .vt-visa-types{ margin-top:2rem; }
.vt-visa--archive .vt-kind-switch{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }

.vt-visa--archive .vt-kind-btn{
  appearance:none; cursor:pointer;
  border:1px solid var(--line); background:#fff;
  padding:.5rem .9rem; border-radius:999px;
  font-size:.92rem; line-height:1;
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
}
.vt-visa--archive .vt-kind-btn:is(:hover,:focus-visible){
  border-color: color-mix(in srgb, var(--brand) 40%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--brand) 20%, transparent);
}
.vt-visa--archive .vt-kind-btn.is-active{
  background: var(--brand); color:#fff; border-color: var(--brand);
}

.vt-visa--archive .vt-kind-panels{ position:relative; }
.vt-visa--archive .vt-kind-panel{ display:none; }
.vt-visa--archive .vt-kind-panel.is-active{ display:block; }

.vt-visa--archive .vt-grid--visa-kinds{
  display:grid; gap:16px; grid-template-columns: repeat(12, 1fr);
}
@media (min-width: 981px){ .vt-visa--archive .vt-grid--visa-kinds > .vt-card{ grid-column: span 4; } }
@media (min-width: 561px) and (max-width:980px){ .vt-visa--archive .vt-grid--visa-kinds > .vt-card{ grid-column: span 6; } }
@media (max-width:560px){ .vt-visa--archive .vt-grid--visa-kinds > .vt-card{ grid-column: span 12; } }

/* کارت‌های انواع ویزا (پالیش هماهنگ با Pillar/Child) */
.vt-visa--archive .vt-visa-types .vt-card--post{
  position:relative; display:flex; flex-direction:column; height:100%;
  border:1px solid var(--line); border-radius: var(--radius-lg); background:#fff;
  box-shadow: var(--shadow);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.vt-visa--archive .vt-visa-types .vt-card--post .vt-card__link{
  display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none;
}
.vt-visa--archive .vt-visa-types .vt-card__media{
  position:relative; aspect-ratio:16/10; background:var(--soft); overflow:hidden;
  border-radius:12px; margin:10px 10px 0;
}
.vt-visa--archive .vt-visa-types .vt-card__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.002); transition: transform .32s ease;
}
.vt-visa--archive .vt-visa-types .vt-card--post:hover .vt-card__media img,
.vt-visa--archive .vt-visa-types .vt-card--post:focus-within .vt-card__media img{ transform:scale(1.035); }
.vt-visa--archive .vt-visa-types .vt-card__media::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 65%, rgba(0,0,0,.05)); pointer-events:none;
}
.vt-visa--archive .vt-visa-types .vt-card__body{
  display:flex; flex-direction:column; gap:6px; flex:1;
  padding:10px 12px 12px;
}
.vt-visa--archive .vt-visa-types .vt-card__title{
  margin:0; font-weight:900; color:var(--ink); font-size: clamp(.98rem, 2.2vw, 1.05rem);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.vt-visa--archive .vt-visa-types .vt-card__excerpt{
  margin:0; color:#1f2328; font-size:.92rem; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.vt-visa--archive .vt-visa-types .vt-badges{ display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.vt-visa--archive .vt-visa-types .vt-badge{
  display:inline-flex; align-items:center; gap:6px; padding:3px 8px;
  border:1px solid var(--line); border-radius:9999px; background:#fff;
  font-size:.78rem; color:#334155; box-shadow: var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04));
}
.vt-visa--archive .vt-visa-types .vt-meta.vt-meta--inline{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:2px; padding:0; list-style:none;
  color:#334155; font-size:.85rem;
}
.vt-visa--archive .vt-visa-types .vt-meta.vt-meta--inline li{ display:flex; align-items:center; gap:6px; position:relative; }
.vt-visa--archive .vt-visa-types .vt-meta.vt-meta--inline li + li::before{
  content:"·"; opacity:.5; margin-inline:2px 6px;
}
.vt-visa--archive .vt-visa-types .vt-card__actions{ margin-top:auto; display:flex; gap:8px; }

/* Hover/Focus */
.vt-visa--archive .vt-visa-types .vt-card--post:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
  border-color: color-mix(in srgb, var(--brand) 18%, var(--line));
}
.vt-visa--archive .vt-visa-types .vt-card--post::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; opacity:0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 28%, transparent), transparent 60%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  transition: opacity .18s;
}
.vt-visa--archive .vt-visa-types .vt-card--post:hover::before,
.vt-visa--archive .vt-visa-types .vt-card--post:focus-within::before{ opacity:1; }
.vt-visa--archive .vt-visa-types .vt-card--post:focus-within{
  outline:none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent), var(--shadow);
  border-color: color-mix(in srgb, var(--brand) 40%, var(--line));
}

/* Load more per kind */
.vt-visa--archive .vt-kind-actions{ margin-top:1rem; text-align:center; }
.vt-visa--archive .vt-kind-actions .vt-btn{ min-width:190px; }

/* ============ Siblings (خواهر و برادرها) ============ */
/* همه‌چیز را فقط داخل سکشن خواهر/برادرها محدود می‌کنیم تا جهانی نشود */
.vt-section--siblings {
  margin-top: var(--vt-space-8, 48px);
}

.vt-section--siblings .vt-sec-title {
  margin: 0 0 12px 0;
  font-size: clamp(1.05rem, 1.2vw + .8rem, 1.35rem);
  line-height: 1.6;
  font-weight: 800;
  color: #0f172a; /* slate-900 */
}

/* شبکه‌ی کارت‌ها */
.vt-section--siblings .vt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 980px) {
  .vt-section--siblings .vt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .vt-section--siblings .vt-grid {
    grid-template-columns: 1fr;
  }
}

/* کارت‌ها (فقط در این سکشن) */
.vt-section--siblings .vt-card {
  background: #fff;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  will-change: transform;
}

.vt-section--siblings .vt-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(17, 24, 39, .08);
  border-color: #d1d5db;
}

/* لینکِ کارت، تمام ارتفاع کارت را کلیک‌بل می‌کند */
.vt-section--siblings .vt-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

/* مدیا با نسبت تصویر ثابت، تا کراپ‌ها تمیز باشند */
.vt-section--siblings .vt-card__media {
  position: relative;
  aspect-ratio: 16/9;    /* در صورت نیاز به 4/3 تغییرش دهید */
  background: #f3f4f6;   /* slate-100 */
}
.vt-section--siblings .vt-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* پلیس‌هولدر وقتی تصویر شاخص نداریم */
.vt-section--siblings .vt-card__ph {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #f9fafb, #eef2ff);
}

/* بدنهٔ کارت */
.vt-section--siblings .vt-card__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* عنوان کارت */
.vt-section--siblings .vt-card__title {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 800;
  color: #0f172a; /* slate-900 */
  margin: 0;
}

/* خلاصه؛ دو خطه با کلَمپ */
.vt-section--siblings .vt-card__excerpt {
  font-size: .9rem;
  color: #475569;   /* slate-600 */
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* فقط 2 خط نمایش داده شود */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;      /* نگه‌داشتن ارتفاع یکنواخت */
  margin: 0;
}

/* دکمه */
.vt-section--siblings .vt-btn {
  margin-top: auto;              /* می‌چسبد به پایین کارت */
  align-self: flex-start;
  padding: 8px 12px;
  font-size: .85rem;
  border-radius: 10px;
  line-height: 1.2;
  border: 1px solid transparent;
}

.vt-section--siblings .vt-btn--primary {
  background: #1d4ed8;  /* indigo-600 */
  color: #fff;
}
.vt-section--siblings .vt-btn--primary:hover {
  background: #1e40af;  /* indigo-700 */
}

/* Visa Kind chip */
.vt-chip--kind{
  background:#eef6ff;
  color:#0b63ce;
  border:1px solid rgba(11,99,206,.15);
}

/* ================================
   Related section (vt-section--related)
   ================================ */
.vt-section.vt-section--related {
  margin-top: 32px;
}

.vt-section.vt-section--related .vt-sec-title {
  margin-bottom: 14px;
}

/* 3 cards per row on desktop */
.vt-section.vt-section--related .vt-grid{
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

/* Card */
.vt-section.vt-section--related .vt-card{
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
  transition: transform .2s ease, box-shadow .2s ease;
}
.vt-section.vt-section--related .vt-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* Clickable area */
.vt-section.vt-section--related .vt-card__link{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* Media */
.vt-section.vt-section--related .vt-card__media{
  aspect-ratio: 16 / 9;
  background: #f5f5f5;
}
.vt-section.vt-section--related .vt-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Body */
.vt-section.vt-section--related .vt-card__body{
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.vt-section.vt-section--related .vt-card__title{
  font-size: 1.06rem;
  line-height: 1.5;
  font-weight: 700;
}

.vt-section.vt-section--related .vt-card__excerpt{
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
  color: #475569;
}

/* Badges */
.vt-section.vt-section--related .vt-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.vt-section.vt-section--related .vt-badge{
  padding: 2px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: .75rem;
}

/* CTA */
.vt-section.vt-section--related .vt-btn{
  align-self: flex-start;
  margin-top: auto;
}

/* Responsive */
@media (max-width: 1024px){
  .vt-section.vt-section--related .vt-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .vt-section.vt-section--related .vt-grid{
    grid-template-columns: 1fr;
  }
}

/* === KPI Bar (آرشیو) === */
.vt-kpis {
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top:10px;
}
.vt-kpi {
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:10px 12px; min-width:120px;
  display:grid; gap:4px; align-content:center;
}
.vt-kpi__label { font-size:.85rem; opacity:.8; }
.vt-kpi__value { font-size:1.05rem; font-weight:600; }

/* ========================================================================
   Visa Schengen Landing – Final CSS (with RTL + Comments)
   Brand: primary: #1d4da2, accent: #eca724
   NOTE: We keep .visaL-section.visaL-resultsBox untouched as requested.
   ======================================================================== */

:root{
  --visa-primary:#1d4da2;
  --visa-accent:#eca724;
  --visa-text:#0b1d40;
  --visa-muted:#6a7894;
  --visa-border:#e5eaf3;
  --visa-bg:#f7f9fc;
}

/* Base text color */
.visaL-container{ color:var(--visa-text); }

/* =========================================================================
   Layout (Grid): Sidebar (TOC) + Main Column
   - Desktop: 280px (TOC) + fluid main
   - Mobile: single column
   ========================================================================= */
.visaL-container.visaL-hasToc{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:20px;
}
@media (max-width:980px){
  .visaL-container.visaL-hasToc{
    grid-template-columns:1fr;
  }
}

/* Main column:
   - Keep flexible width but constrain to max 1100px and center it in its grid cell */
.visaL-maincol{
  min-width:0;
  width:100%;
  max-width:1100px;       /* << requested */
  margin-inline:auto;     /* center inside its grid cell (RTL/LTR safe) */
  padding:8px;
}
@media (min-width:720px){ .visaL-maincol{ padding:10px; } }
@media (min-width:980px){ .visaL-maincol{ padding:12px; } }

/* =========================================================================
   HERO (standard card)
   ========================================================================= */
.visaL-hero{
  background:#fff;
  border:1px solid var(--visa-border);
  border-radius:14px;
  padding:14px;
  box-shadow:0 10px 24px rgba(29,77,162,.05);
  margin-bottom:16px;
}
@media (min-width:720px){ .visaL-hero{ padding:16px; margin-bottom:18px; } }
@media (min-width:980px){ .visaL-hero{ padding:18px; margin-bottom:20px; } }

.visaL-title{
  margin:0 0 .4rem;
  font-weight:900;
  letter-spacing:-.2px;
  color:var(--visa-primary);
}
.visaL-sub{ margin:.15rem 0 .35rem; color:var(--visa-muted); font-size:1rem; }
.visaL-note{ margin:.25rem 0 0; color:var(--visa-muted); font-size:.92rem; }

/* =========================================================================
   Tabs + Filter
   ========================================================================= */
.visaL-tabs{
  display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0;
}
.visaL-tab{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.35rem .7rem;
  border:1px solid var(--visa-border);
  border-radius:999px;
  text-decoration:none;
  font-weight:700; font-size:.92rem;
  color:var(--visa-text);
  background:#fff;
  transition:.15s;
}
.visaL-tab.is-active{ border-color:var(--visa-primary); color:var(--visa-primary); }

.visaL-filter{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  padding:.6rem; background:#fff;
  border:1px solid var(--visa-border);
  border-radius:12px;
  margin:.6rem 0;
}
.visaL-filter input[type=text],
.visaL-filter input[list]{
  flex:1 1 220px; min-width:220px;
  border:1px solid var(--visa-border);
  border-radius:10px; padding:.45rem .6rem; outline:0;
}
.visaL-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.45rem .8rem; border-radius:10px;
  border:1px solid var(--visa-primary);
  background:var(--visa-primary); color:#fff;
  text-decoration:none; cursor:pointer;
  font-weight:700; font-size:.95rem;
}
.visaL-btn--ghost{ background:transparent; color:var(--visa-primary); border-color:var(--visa-primary); }

/* =========================================================================
   Generic Sections (keep resultsBox styles intact elsewhere)
   ========================================================================= */
.visaL-section{
  background:#fff;
  border:1px solid var(--visa-border);
  border-radius:14px;
  padding:1rem;
  margin:14px 0;
  box-shadow:0 10px 24px rgba(29,77,162,.04);
}
@media (min-width:980px){ .visaL-section{ margin:16px 0; } }

.visaL-sectionTitle{
  margin:.1rem 0 .7rem;
  font-size:1.25rem; font-weight:900; color:var(--visa-primary);
}


/* =========================================================================
   Schengen Countries Block
   ========================================================================= */
.visaL-area{
  background:#fff; border:1px solid var(--visa-border);
  border-radius:14px; padding:1rem;
}
.visaL-areaIntro{ color:var(--visa-text); }

.visaL-countryGrid{
  list-style:none; margin:.8rem 0 0; padding:0;
  display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:720px){ .visaL-countryGrid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:980px){ .visaL-countryGrid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

.visaL-countryCard{
  border:1px solid var(--visa-border);
  border-radius:12px; padding:.6rem; background:#fff;
  transition:transform .15s ease, box-shadow .15s ease;
  list-style:none;
}
.visaL-countryCard::marker{ content:""; } /* remove bullets entirely */
.visaL-countryCard:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(29,77,162,.06); }

.visaL-ccHead{ display:flex; align-items:center; gap:.4rem; }
.visaL-ccFlag{
  width:18px; height:14px;
  background:linear-gradient(90deg,var(--visa-primary),var(--visa-accent));
  border-radius:2px;
}
.visaL-ccTitle{ font-weight:900; }
.visaL-ccTitle span{ color:var(--visa-muted); font-weight:600; margin-inline-start:.25rem; font-size:.92rem; }
.visaL-ccCode{
  margin-inline-start:auto;         /* logical (RTL/LTR safe) */
  font-size:.85rem; font-weight:800; color:#0f2f6a;
  background:rgba(29,77,162,.08);
  border:1px solid rgba(29,77,162,.22);
  padding:.1rem .4rem; border-radius:999px;
}
.visaL-ccDesc{ margin:.35rem 0 0; color:var(--visa-muted); }

/* =========================================================================
   TOC Rail
   - Desktop: sticky at top of sidebar, horizontally centered
   - Mobile: on top, collapsible
   ========================================================================= */

/* Make sure potential containers don’t break sticky */
.visaL-container,
.visaL-container.visaL-hasToc,
.visaL-maincol{
  overflow:visible;
}

/* Desktop sticky + centered */
.visaL-tocRail{
  position:sticky;   /* sticky element */
  top:92px;          /* offset from top */
  z-index:3;
  align-self:start;          /* start of grid track */
  justify-self:center;       /* center horizontally in its grid column */
  height:auto;
  overflow:visible;
  display:block;
  padding:8px;
}
.visaL-toc{
  width:100%; max-width:240px; margin:0 auto;
  background:#fff; border:1px solid var(--visa-border);
  border-radius:12px; padding:.6rem .7rem;
  box-shadow:0 8px 18px rgba(29,77,162,.05);
}
.visaL-toc--compact .visaL-tocHd{
  font-weight:900; font-size:.95rem; color:var(--visa-primary);
  margin:.15rem .15rem .4rem;
}
.visaL-toc ul{ margin:0; padding:0; list-style:none; }
.visaL-toc li{ margin:.05rem 0; }
.visaL-toc a{
  display:block; text-decoration:none; padding:.28rem .45rem; border-radius:8px;
  color:var(--visa-text); font-weight:700; font-size:.9rem; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}
.visaL-toc a:hover{ background:#f3f6fc; }

/* Active link highlight (logical border side handled below for RTL/LTR) */
.visaL-toc a.active{
  background:linear-gradient(90deg,rgba(29,77,162,.12),rgba(236,167,36,.12));
  color:var(--visa-primary);
  border-inline-end:3px solid var(--visa-accent); /* logical */
}

/* Mobile behavior: top + collapsible */
.toc-toggle{ display:none; }
@media (max-width:980px){
  .visaL-tocRail{
    order:-1;           /* move TOC above content */
    position:static;    /* no sticky on mobile */
    display:block;
    margin:0 0 12px 0;
    padding:0;
  }
  .visaL-toc{
    max-width:100%; padding:.35rem .5rem;
  }
  .visaL-toc--compact .visaL-tocHd{
    display:flex; align-items:center; justify-content:space-between;
    margin:.1rem .1rem .2rem; cursor:pointer;
  }
  .toc-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.85rem; font-weight:800;
    border:1px solid var(--visa-border); border-radius:8px;
    padding:.22rem .5rem; background:#fff; color:var(--visa-primary);
  }
  .visaL-toc.is-collapsed ul{ display:none; }
}

/* =========================================================================
   Final Tips (split by h2) – “نکات نهایی که بهتر است بدانید”
   ========================================================================= */
.visaL-finalTitle{
  font-weight:900; font-size:1.05rem; margin:0 0 .5rem;
  background:linear-gradient(90deg,rgba(29,77,162,.08),rgba(236,167,36,.08));
  padding:.5rem .7rem; border-radius:10px; color:var(--visa-text);
}
.visaL-finalTips .content-section{
  border:1px solid var(--visa-border); border-radius:12px;
  background:#fff; padding:.7rem .8rem; margin:.6rem 0;
  box-shadow:0 8px 18px rgba(29,77,162,.04);
}
.visaL-finalTips .content-section h2{
  margin:.1rem 0 .4rem; font-size:1.1rem; font-weight:900; color:var(--visa-primary);
}
.visaL-finalTips .content-section .section-body{ color:var(--visa-text); }
.visaL-finalTips .no-heading{ background:#fbfcff; }

/* =========================================================================
   Shared Cards/Grid (resultsBox untouched)
   ========================================================================= */
.visaL-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem;
}
@media (min-width:720px){ .visaL-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1080px){ .visaL-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

.visaL-card{
  border:1px solid var(--visa-border);
  border-radius:12px; background:#fff; overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.visaL-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(29,77,162,.06); }
.visaL-thumb img{ display:block; width:100%; height:auto; }
.visaL-body{ padding:.6rem .65rem; }
.visaL-cardTitle{ margin:.1rem 0 .35rem; font-size:1rem; line-height:1.5; }
.visaL-cardTitle a{ text-decoration:none; color:var(--visa-text); font-weight:900; }
.visaL-cardTitle a:hover{ color:var(--visa-primary); }
.visaL-meta{ display:flex; gap:.35rem; flex-wrap:wrap; }
.visaL-badge{
  display:inline-flex; align-items:center; gap:.25rem;
  padding:.15rem .45rem; border:1px solid var(--visa-border);
  background:#fff; border-radius:999px; font-size:.85rem; color:var(--visa-text); font-weight:700;
}
.visaL-badge--type{
  background:rgba(29,77,162,.08); border-color:rgba(29,77,162,.22); color:#0f2f6a;
}
.visaL-excerpt{ margin:.35rem 0 0; color:var(--visa-muted); font-size:.95rem; }

/* =========================================================================
   Pager + Empty State
   ========================================================================= */
.visaL-pager{ text-align:center; margin:.7rem 0 0; }
.visaL-pager .page-numbers{
  display:inline-block; padding:.35rem .6rem;
  border:1px solid var(--visa-border);
  margin:.1rem; border-radius:8px; text-decoration:none;
}
.visaL-pager .current{ background:var(--visa-primary); color:#fff; border-color:var(--visa-primary); }

.visaL-emptyWrap{
  text-align:center; background:#fff; border:1px dashed var(--visa-border);
  border-radius:12px; padding:1rem;
}
.visaL-emptyTitle{ margin:.1rem 0 .25rem; font-weight:900; color:var(--visa-primary); }
.visaL-emptyDesc{ margin:0 0 .6rem; color:var(--visa-muted); }

/* =========================================================================
   Links inside sections
   ========================================================================= */
.visaL-section a{ color:var(--visa-primary); }
.visaL-section a:hover{ text-decoration:underline; }

/* =========================================================================
   RTL Support
   - از ویژگی‌های منطقی (inline-start/end) استفاده شده؛
     در صورت نیاز به فاین‌تیون پایین را نگه داشتیم.
   ========================================================================= */

/* اگر سند RTL است (مثل فارسی)، برخی اختلافات ظریف را فیکس می‌کنیم */
html[dir="rtl"] .visaL-toc a.active{
  /* در RTL بهتر است مرز فعّال سمت چپ باشد؛ اما ما از logical استفاده کردیم.
     اگر می‌خواهید به‌زور سمت چپ باشد: */
  border-inline-end:none;
  border-inline-start:3px solid var(--visa-accent);
}

html[dir="rtl"] .visaL-tabs{ /* ترتیب تب‌ها در RTL عادی است */ }
html[dir="rtl"] .visaL-filter label{ /* مورد خاصی لازم نیست */ }

/* Flag chip direction tweaks if needed */
html[dir="rtl"] .visaL-ccCode{
  /* در RTL هم margin-inline-start:auto درست عمل می‌کند */
}

/* =========================================================================
   END
   ========================================================================= */
