/* =========================================================
   Visa Single - Ultra Luxury (Performance-first)
   No inline JS/CSS needed
   ========================================================= */

.ps-visa-single{
  direction: rtl;
  --ps-radius: 18px;
  --ps-radius-lg: 22px;
  --ps-gap: 18px;

  --ps-border: rgba(20, 25, 35, .10);
  --ps-border-2: rgba(20, 25, 35, .16);
  --ps-ink: rgba(18, 22, 30, .92);
  --ps-muted: rgba(18, 22, 30, .72);

  --ps-glass: rgba(255,255,255,.72);
  --ps-glass-2: rgba(255,255,255,.58);

  --ps-shadow: 0 10px 28px rgba(18,22,30,.10);
  --ps-shadow-soft: 0 8px 18px rgba(18,22,30,.08);
  --ps-shadow-inset: inset 0 1px 0 rgba(255,255,255,.7);

  --ps-accent: #d6a75e;   /* gold */
  --ps-accent-2: #485a85; /* navy */
  --ps-focus: rgba(72,90,133,.35);

  color: var(--ps-ink);
}

/* Smooth anchor behavior; reduced motion handled later */
.ps-visa-section{ scroll-margin-top: 96px; }

/* ---------------------------------------------------------
   Layout: desktop 2 columns, mobile stacked + TOC placement
   --------------------------------------------------------- */

.ps-visa-layout{
  display: grid;
  grid-template-columns: minmax(0,1fr) 340px;
  gap: 22px;
  align-items: start;
}

/* main + sidebar essentials */
.ps-visa-layout__main{ min-width: 0; position: relative; }
.ps-visa-layout__sidebar{ min-width: 0; }

/* Sticky sidebar with comfortable spacing from top */
@media (min-width: 993px){
  .ps-visa-layout__sidebar{
    position: sticky;
    top: 28px; /* فاصله معقول */
  }
  /* If WP admin bar is visible */
  body.admin-bar .ps-visa-layout__sidebar{
    top: 60px;
  }
}

/* Mobile layout */
@media (max-width: 992px){
  .ps-visa-layout{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Mobile TOC that is rendered in main (if you add it in PHP) */
  .ps-visa-toc.ps-visa-toc--mobile{ margin: 0 0 14px; }

  /* Hide sidebar toc on mobile (when mobile TOC exists in main) */
  .ps-visa-layout__sidebar .ps-visa-toc{ display: none; }
}

/* ---------------------------------------------------------
   Header (Luxury)
   --------------------------------------------------------- */
.ps-visa-single__header{
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 18px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  box-shadow: var(--ps-shadow-soft), var(--ps-shadow-inset);
  backdrop-filter: blur(10px);
}

.ps-visa-single__title{
  margin: 0 0 8px;
  font-size: 20px;
  letter-spacing: -0.2px;
}

.ps-visa-single__meta{
  display:flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 13.5px;
  color: var(--ps-muted);
}

.ps-visa-single__cta-row{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* Pills (Ultra) */
.ps-pill-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--ps-border-2);
  text-decoration:none;
  line-height: 1;
  font-size: 14px;
  background: rgba(255,255,255,.65);
  box-shadow: 0 6px 16px rgba(18,22,30,.08);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  color: rgba(18,22,30,.88);
}

.ps-pill-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(18,22,30,.10);
}

.ps-pill-btn:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

.ps-pill-btn--accent{
  border-color: rgba(214,167,94,.45);
  background: linear-gradient(135deg, rgba(214,167,94,.22), rgba(72,90,133,.10));
}

.ps-pill-btn--outline{
  background: rgba(255,255,255,.55);
}

/* ---------------------------------------------------------
   (5) Notice - attractive, premium
   --------------------------------------------------------- */
.ps-visa-notice{
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: var(--ps-radius-lg);
  border: 1px solid rgba(214,167,94,.45);
  background:
    radial-gradient(1200px 240px at 90% 10%, rgba(214,167,94,.22), transparent 60%),
    radial-gradient(900px 260px at 10% 100%, rgba(72,90,133,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.62));
  box-shadow: var(--ps-shadow);
  position: relative;
  overflow: hidden;
}

.ps-visa-notice::before{
  content:"";
  position:absolute;
  inset: -2px;
  background: linear-gradient(90deg, rgba(214,167,94,.20), rgba(72,90,133,.14), rgba(214,167,94,.18));
  filter: blur(22px);
  opacity: .65;
  pointer-events:none;
}

.ps-visa-notice__title{
  margin: 0 0 8px;
  font-size: 16px;
  position: relative;
  color: rgba(18,22,30,.92);
}

.ps-visa-notice__text{
  position: relative;
  color: var(--ps-muted);
}
.ps-visa-notice__text p:last-child{ margin-bottom: 0; }

/* ---------------------------------------------------------
   Sections (Luxury cards)
   --------------------------------------------------------- */
.ps-visa-section{
  margin: 0 0 22px;
  padding: 14px 16px;
  border-radius: var(--ps-radius-lg);
  border: 1px solid var(--ps-border);
  background: rgba(255,255,255,.70);
  box-shadow: var(--ps-shadow-soft), var(--ps-shadow-inset);
  backdrop-filter: blur(8px);
}

.ps-visa-section__title{
  margin: 0 0 12px;
  font-size: 18px;
  letter-spacing: -0.1px;
  color: rgba(18,22,30,.92);
}

.ps-visa-section__subtitle{
  margin: 0 0 10px;
  font-size: 15px;
  color: var(--ps-ink);
}

.ps-visa-section__block{ margin: 10px 0 0; }

/* Summary layout */
.ps-visa-summary{
  display:block;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 16px;
  align-items: start;
}

.ps-visa-summary__image img{
  width:100%;
  height:auto;
  display:block;
  border-radius: var(--ps-radius);
  box-shadow: 0 10px 26px rgba(18,22,30,.12);
}

@media (max-width: 992px){
  .ps-visa-summary{ grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------
   (3) Summary meta: Desktop must be ONE ROW, 3 equal columns
   --------------------------------------------------------- */
.ps-visa-summary__meta{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  font-size: 13.5px;
}

/* Mobile: stacked for clarity */
@media (max-width: 992px){
  .ps-visa-summary__meta{
    grid-template-columns: 1fr;
  }
}

/* Desktop: force 3 equal columns in one row */
@media (min-width: 993px){
  .ps-visa-summary__meta{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ps-visa-summary__meta li{
  position: relative;
  padding: 10px 12px;
  padding-right: 30px; /* space for dot */
  border-radius: 16px;
  border: 1px solid rgba(18,22,30,.10);
  background: rgba(255,255,255,.66);
  box-shadow: 0 8px 18px rgba(18,22,30,.06);
  color: rgba(18,22,30,.82);
  line-height: 1.55;
  min-height: 54px; /* helps equal visual height */
  display: flex;
  align-items: center;
}

.ps-visa-summary__meta li::before{
  content:"";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--ps-accent);
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

/* Rich text minimal */
.ps-visa-richtext p{ margin: 0 0 10px; color: var(--ps-muted); }
.ps-visa-richtext ul,.ps-visa-richtext ol{ margin: 0 0 10px; padding-right: 20px; color: var(--ps-muted); }

/* ---------------------------------------------------------
   Tabs (Luxury)
   --------------------------------------------------------- */
.ps-visa-tabs__buttons{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
}

.ps-visa-tab-btn{
  appearance:none;
  border: 1px solid var(--ps-border-2);
  background: rgba(255,255,255,.62);
  padding: 10px 14px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 13.5px;
  box-shadow: 0 6px 14px rgba(18,22,30,.07);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  color: rgba(18,22,30,.88);
}

.ps-visa-tab-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(18,22,30,.10);
}

.ps-visa-tab-btn.is-active{
  border-color: rgba(214,167,94,.55);
  background: linear-gradient(135deg, rgba(214,167,94,.18), rgba(72,90,133,.10));
}

.ps-visa-tab-btn:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

.ps-visa-tab-panel{ display:none; }
.ps-visa-tab-panel.is-active{ display:block; }

/* ---------------------------------------------------------
   Pricing table (clean)
   --------------------------------------------------------- */
.ps-visa-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--ps-radius);
  border: 1px solid var(--ps-border);
  background: rgba(255,255,255,.55);
}

.ps-visa-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}

.ps-visa-table th,
.ps-visa-table td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(18,22,30,.08);
  vertical-align: top;
  color: rgba(18,22,30,.82);
}

.ps-visa-table thead th{
  font-weight: 700;
  color: rgba(18,22,30,.85);
  border-bottom: 1px solid rgba(18,22,30,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.45));
}

/* (4) Pricing table center on desktop */
@media (min-width: 993px){
  .ps-visa-table--pricing th,
  .ps-visa-table--pricing td{
    text-align: center;
    vertical-align: middle;
  }
  .ps-visa-table--pricing td[data-label="توضیحات"]{
    line-height: 1.65;
  }
}

/* ---------------------------------------------------------
   (3) Inline blocks must feel "separate from content"
   + (2) Equal spacing above and below (same margin)
   --------------------------------------------------------- */
.ps-visa-inline-block{
  margin: 16px 0; /* ✅ بالا و پایین یکسان */
  padding: 14px 14px;
  border-radius: var(--ps-radius-lg);
  border: 1px dashed rgba(72,90,133,.35);
  background:
    radial-gradient(900px 200px at 10% 10%, rgba(72,90,133,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58));
  box-shadow: var(--ps-shadow-soft);
  position: relative;
}

.ps-visa-inline-block::before{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: calc(var(--ps-radius-lg) - 8px);
  border: 1px solid rgba(214,167,94,.18);
  pointer-events:none;
}

.ps-visa-inline-block__title{
  margin: 0 0 10px;
  font-size: 15px;
  color: rgba(18,22,30,.92);
}

.ps-visa-inline-block__grid{
  display:grid;
  gap: 12px;
}

.ps-visa-inline-block__grid[data-style="cards"]{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 576px){
  .ps-visa-inline-block__grid[data-style="cards"]{ grid-template-columns: 1fr; }
}

.ps-visa-inline-card{
  border: 1px solid rgba(18,22,30,.10);
  border-radius: var(--ps-radius);
  overflow: hidden;
  background: rgba(255,255,255,.66);
  box-shadow: 0 10px 24px rgba(18,22,30,.08);
}

.ps-visa-inline-card__link{
  display:block;
  text-decoration:none;
  padding: 12px 14px;
  color: rgba(18,22,30,.88);
}

.ps-visa-inline-card--full .ps-visa-inline-card__link{ padding: 0; }

.ps-visa-inline-card__thumb img{
  width:100%;
  height:auto;
  display:block;
}

.ps-visa-inline-card__body{ display:block; padding: 12px 14px; }
.ps-visa-inline-card__title{ display:block; font-weight: 800; color: rgba(18,22,30,.90); }
.ps-visa-inline-card__excerpt{ display:block; margin-top: 7px; font-size: 13px; color: var(--ps-muted); }

/* ---------------------------------------------------------
   Sidebar blocks (Luxury)
   --------------------------------------------------------- */
.ps-visa-toc,
.ps-visa-offers{
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-lg);
  padding: 12px;
  margin: 0 0 14px;
  background: rgba(255,255,255,.70);
  box-shadow: var(--ps-shadow-soft), var(--ps-shadow-inset);
  backdrop-filter: blur(8px);
}
/* TOC باید sticky باشد نه fixed تا فاصله از بین نرود */
.ps-visa-toc{
  position: sticky !important;
  top: var(--ps-sticky-top, 12px) !important; /* اگر هدر داری بعداً تنظیم می‌کنیم */
  z-index: 5;
}

.ps-visa-toc__title,
.ps-visa-offers__title{
  margin: 0 0 10px;
  font-size: 15px;
  letter-spacing: -0.1px;
  color: rgba(18,22,30,.92);
}

/* TOC items */
.ps-visa-toc__list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: 8px;
}

.ps-visa-toc__link{
  display:block;
  text-decoration:none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: rgba(18,22,30,.88);
  background: rgba(255,255,255,.55);
  box-shadow: 0 6px 14px rgba(18,22,30,.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

/* ✅ (2) Hover visible (unchanged sizes) */
.ps-visa-toc__link:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(18,22,30,.09);
  border-color: rgba(214,167,94,.55);
  background: linear-gradient(135deg, rgba(214,167,94,.16), rgba(72,90,133,.10));
}

/* ✅ (2)+(3) When section becomes active, show EXACT hover style */
.ps-visa-toc__link.is-active{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(18,22,30,.09);
  border-color: rgba(214,167,94,.55);
  background: linear-gradient(135deg, rgba(214,167,94,.16), rgba(72,90,133,.10));
}

.ps-visa-toc__link:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

/* Offers */
.ps-visa-offers__list{ display:grid; gap: 12px; }
.ps-visa-offer{
  border: 1px solid rgba(18,22,30,.10);
  border-radius: var(--ps-radius-lg);
  padding: 12px 12px;
  background: rgba(255,255,255,.56);
  box-shadow: 0 8px 18px rgba(18,22,30,.07);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ps-visa-offer:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(18,22,30,.10);
}

.ps-visa-offer.is-active{
  border-color: rgba(214,167,94,.55);
  background: linear-gradient(135deg, rgba(214,167,94,.14), rgba(72,90,133,.10));
}

.ps-visa-offer__badge{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(214,167,94,.45);
  background: rgba(255,255,255,.62);
  font-size: 12px;
  margin-bottom: 8px;
  color: rgba(18,22,30,.86);
}
.ps-visa-offer__title{ margin: 0 0 6px; font-size: 14px; color: rgba(18,22,30,.92); }
.ps-visa-offer__text{ margin: 0 0 10px; font-size: 13px; color: var(--ps-muted); }
.ps-visa-offer__link{ text-decoration:none; font-size: 13px; color: rgba(18,22,30,.88); }

/* ---------------------------------------------------------
   Section Navigator: positioned via CSS variable set by JS
   --------------------------------------------------------- */
.ps-visa-section-nav{
  position: absolute;
  right: -62px;
  top: var(--ps-secnav-top, 0px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 46px;
  z-index: 3;

  /* ✅ (1) default hidden (even if JS sets top on load) */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px) scale(.98);

  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}

/* ✅ (1) show ONLY when JS adds is-visible */
.ps-visa-section-nav.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity .22s ease, transform .22s ease, visibility 0s;
}

@media (max-width: 1200px){
  .ps-visa-section-nav{ display:none; }
}

.ps-visa-section-nav__btn{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(18,22,30,.12);
  background: rgba(255,255,255,.70);
  cursor: pointer;
  position: relative;
  box-shadow: 0 10px 22px rgba(18,22,30,.10);
  transition: transform .15s ease, box-shadow .15s ease;
}

.ps-visa-section-nav__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(18,22,30,.12);
}

.ps-visa-section-nav__btn:disabled{
  opacity: .48;
  cursor: not-allowed;
}

.ps-visa-section-nav__btn:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

/* arrow */
.ps-visa-section-nav__btn::before{
  content:"";
  width: 12px;
  height: 12px;
  border-right: 2px solid rgba(18,22,30,.72);
  border-bottom: 2px solid rgba(18,22,30,.72);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(45deg);
}
.ps-visa-section-nav__btn[data-dir="prev"]::before{
  transform: translate(-50%,-50%) rotate(225deg);
}

/* ---------------------------------------------------------
   CTA (distinct)
   --------------------------------------------------------- */
.ps-visa-cta{
  margin: 8px 0 18px;
  padding: 16px 16px;
  border-radius: var(--ps-radius-lg);
  border: 1px solid rgba(214,167,94,.48);
  background:
    radial-gradient(1100px 240px at 80% 0%, rgba(214,167,94,.26), transparent 60%),
    radial-gradient(900px 240px at 10% 100%, rgba(72,90,133,.20), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.62));
  box-shadow: var(--ps-shadow);
  position: relative;
  overflow: hidden;
}

.ps-visa-cta::after{
  content:"";
  position:absolute;
  inset: 14px;
  border-radius: calc(var(--ps-radius-lg) - 10px);
  border: 1px solid rgba(255,255,255,.55);
  pointer-events:none;
}

.ps-visa-cta__title{ margin: 0 0 8px; font-size: 16px; position: relative; color: rgba(18,22,30,.92); }
.ps-visa-cta__text{ margin: 0 0 12px; color: var(--ps-muted); position: relative; }

.ps-visa-cta__actions{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  position: relative;
}

.ps-visa-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius: 999px;
  border: 1px solid rgba(18,22,30,.14);
  text-decoration:none;
  font-size: 14px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 10px 22px rgba(18,22,30,.10);
  transition: transform .15s ease, box-shadow .15s ease;
  color: rgba(18,22,30,.88);
}

.ps-visa-cta__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(18,22,30,.12);
}

.ps-visa-cta__btn--primary{
  border-color: rgba(214,167,94,.55);
  background: linear-gradient(135deg, rgba(214,167,94,.20), rgba(72,90,133,.10));
}

.ps-visa-cta__btn:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

/* ---------------------------------------------------------
   Share icons (mask SVGs)
   --------------------------------------------------------- */
.ps-visa-share{
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-lg);
  padding: 12px;
  margin: 0 0 14px;
  background: rgba(255,255,255,.70);
  box-shadow: var(--ps-shadow-soft), var(--ps-shadow-inset);
  backdrop-filter: blur(8px);
  text-align: center;
}

.ps-visa-share__title{ margin: 0 0 10px; font-size: 15px; color: rgba(18,22,30,.92); }
.ps-visa-share__actions{ display:flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

.ps-visa-share__btn{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(18,22,30,.12);
  background: rgba(255,255,255,.70);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(18,22,30,.10);
  transition: transform .15s ease, box-shadow .15s ease;
  position: relative;
}

.ps-visa-share__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(18,22,30,.12);
}
.ps-visa-share__btn:focus-visible{
  outline: 3px solid var(--ps-focus);
  outline-offset: 3px;
}

.ps-visa-share__btn::before{
  content:"";
  width: 20px;
  height: 20px;
  background: rgba(18,22,30,.78);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* Copy */
.ps-visa-share__btn[data-share="copy"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 1H6a2 2 0 0 0-2 2v12h2V3h10V1Zm3 4H10a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm0 16H10V7h9v14Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 1H6a2 2 0 0 0-2 2v12h2V3h10V1Zm3 4H10a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm0 16H10V7h9v14Z'/%3E%3C/svg%3E");
}
/* Telegram */
.ps-visa-share__btn[data-share="telegram"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.04 15.47 8.87 19c.45 0 .64-.19.87-.41l2.08-2.02 4.31 3.15c.79.44 1.36.21 1.56-.73l2.83-13.27c.26-1.18-.43-1.64-1.2-1.35L2.9 9.27c-1.15.45-1.13 1.1-.2 1.39l4.26 1.33 9.9-6.24c.47-.29.9-.13.55.16L9.04 15.47Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.04 15.47 8.87 19c.45 0 .64-.19.87-.41l2.08-2.02 4.31 3.15c.79.44 1.36.21 1.56-.73l2.83-13.27c.26-1.18-.43-1.64-1.2-1.35L2.9 9.27c-1.15.45-1.13 1.1-.2 1.39l4.26 1.33 9.9-6.24c.47-.29.9-.13.55.16L9.04 15.47Z'/%3E%3C/svg%3E");
}
/* WhatsApp */
.ps-visa-share__btn[data-share="whatsapp"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.05 2C6.56 2 2.1 6.46 2.1 11.95c0 1.94.55 3.83 1.6 5.46L3 22l4.74-1.24a9.9 9.9 0 0 0 4.31.99h.01c5.49 0 9.95-4.46 9.95-9.95S17.54 2 12.05 2Zm5.78 14.15c-.24.67-1.41 1.28-1.93 1.36-.48.07-1.08.1-1.75-.11-.4-.13-.91-.3-1.57-.59-2.76-1.19-4.56-3.96-4.7-4.16-.14-.2-1.12-1.49-1.12-2.84 0-1.35.7-2.01.95-2.29.24-.28.53-.35.7-.35h.51c.16 0 .39-.06.61.47.24.58.82 2 .89 2.15.07.15.12.33.02.52-.1.2-.15.33-.3.51-.15.18-.31.4-.44.53-.15.15-.3.31-.13.6.16.29.73 1.21 1.56 1.96 1.07.95 1.96 1.25 2.25 1.39.29.14.46.12.63-.07.18-.2.73-.85.93-1.14.2-.29.39-.24.66-.14.27.1 1.7.8 1.99.95.29.15.49.22.56.34.07.12.07.68-.17 1.35Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.05 2C6.56 2 2.1 6.46 2.1 11.95c0 1.94.55 3.83 1.6 5.46L3 22l4.74-1.24a9.9 9.9 0 0 0 4.31.99h.01c5.49 0 9.95-4.46 9.95-9.95S17.54 2 12.05 2Zm5.78 14.15c-.24.67-1.41 1.28-1.93 1.36-.48.07-1.08.1-1.75-.11-.4-.13-.91-.3-1.57-.59-2.76-1.19-4.56-3.96-4.7-4.16-.14-.2-1.12-1.49-1.12-2.84 0-1.35.7-2.01.95-2.29.24-.28.53-.35.7-.35h.51c.16 0 .39-.06.61.47.24.58.82 2 .89 2.15.07.15.12.33.02.52-.1.2-.15.33-.3.51-.15.18-.31.4-.44.53-.15.15-.3.31-.13.6.16.29.73 1.21 1.56 1.96 1.07.95 1.96 1.25 2.25 1.39.29.14.46.12.63-.07.18-.2.73-.85.93-1.14.2-.29.39-.24.66-.14.27.1 1.7.8 1.99.95.29.15.49.22.56.34.07.12.07.68-.17 1.35Z'/%3E%3C/svg%3E");
}
/* Twitter/X */
.ps-visa-share__btn[data-share="twitter"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18.9 2H22l-6.78 7.75L23 22h-6.17l-4.83-7.1L5.8 22H2.7l7.26-8.3L1 2h6.33l4.37 6.45L18.9 2Zm-1.08 18h1.72L6.42 3.92H4.57L17.82 20Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18.9 2H22l-6.78 7.75L23 22h-6.17l-4.83-7.1L5.8 22H2.7l7.26-8.3L1 2h6.33l4.37 6.45L18.9 2Zm-1.08 18h1.72L6.42 3.92H4.57L17.82 20Z'/%3E%3C/svg%3E");
}
/* LinkedIn */
.ps-visa-share__btn[data-share="linkedin"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.94 6.5A2.22 2.22 0 1 1 7 2.06a2.22 2.22 0 0 1-.06 4.44ZM4.5 21.5h4.9V8.98H4.5V21.5Zm7.1-12.52h4.7v1.71h.07c.65-1.23 2.24-2.52 4.62-2.52 4.94 0 5.85 3.13 5.85 7.2v8.13h-4.9v-7.2c0-1.72-.03-3.93-2.46-3.93-2.46 0-2.84 1.85-2.84 3.8v7.33h-4.9V8.98Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.94 6.5A2.22 2.22 0 1 1 7 2.06a2.22 2.22 0 0 1-.06 4.44ZM4.5 21.5h4.9V8.98H4.5V21.5Zm7.1-12.52h4.7v1.71h.07c.65-1.23 2.24-2.52 4.62-2.52 4.94 0 5.85 3.13 5.85 7.2v8.13h-4.9v-7.2c0-1.72-.03-3.93-2.46-3.93-2.46 0-2.84 1.85-2.84 3.8v7.33h-4.9V8.98Z'/%3E%3C/svg%3E");
}
/* Email */
.ps-visa-share__btn[data-share="email"]::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5L4 8V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5L4 8V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------
   Helpful / Helpbox (luxury) + centered
   --------------------------------------------------------- */
.ps-visa-helpful,
.ps-visa-helpbox{
  border: 1px solid var(--ps-border);
  border-radius: var(--ps-radius-lg);
  padding: 14px;
  margin: 0 0 14px;
  background: rgba(255,255,255,.70);
  box-shadow: var(--ps-shadow-soft), var(--ps-shadow-inset);
  backdrop-filter: blur(8px);
  text-align: center;
}

.ps-visa-helpful__title{ margin: 0 0 10px; font-size: 15px; color: rgba(18,22,30,.92); }
.ps-visa-helpful__actions{ display:flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

.ps-visa-helpful__btn{
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(18,22,30,.14);
  background: rgba(255,255,255,.70);
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(18,22,30,.10);
  transition: transform .15s ease, box-shadow .15s ease;
  color: rgba(18,22,30,.86);
}
.ps-visa-helpful__btn:hover{ transform: translateY(-1px); box-shadow: 0 14px 26px rgba(18,22,30,.12); }
.ps-visa-helpful__btn:disabled{ opacity: .55; cursor: not-allowed; }
.ps-visa-helpful__btn:focus-visible{ outline: 3px solid var(--ps-focus); outline-offset: 3px; }

.ps-visa-helpful__result{ margin-top: 10px; font-size: 13px; color: var(--ps-muted); }

.ps-visa-helpbox__title{ margin: 0 0 8px; font-size: 16px; color: rgba(18,22,30,.92); }
.ps-visa-helpbox__text{ margin: 0 0 12px; color: var(--ps-muted); }

.ps-visa-helpbox__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius: 999px;
  border: 1px solid rgba(18,22,30,.14);
  text-decoration:none;
  font-size: 14px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 10px 22px rgba(18,22,30,.10);
  transition: transform .15s ease, box-shadow .15s ease;
  color: rgba(18,22,30,.88);
}
.ps-visa-helpbox__btn:hover{ transform: translateY(-1px); box-shadow: 0 14px 26px rgba(18,22,30,.12); }
.ps-visa-helpbox__btn:focus-visible{ outline: 3px solid var(--ps-focus); outline-offset: 3px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior: auto !important; transition: none !important; }
}
/* ---------------------------------------------------------
   (1) Mobile TOC: only show on mobile, hide on desktop
   --------------------------------------------------------- */
.ps-visa-toc.ps-visa-toc--mobile{ display: none; }

@media (max-width: 992px){
  .ps-visa-toc.ps-visa-toc--mobile{ display: block; margin: 0 0 14px; }
}

/* ---------------------------------------------------------
   (2) Summary meta: Desktop must be ONE ROW, 3 equal columns (full width)
   --------------------------------------------------------- */
.ps-visa-single .ps-visa-summary__meta{
  width: 100%;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  font-size: 13.5px;
}

@media (max-width: 992px){
  .ps-visa-single .ps-visa-summary__meta{
    grid-template-columns: 1fr;
  }
}

@media (min-width: 993px){
  .ps-visa-single .ps-visa-summary__meta{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}

.ps-visa-single .ps-visa-summary__meta li{
  position: relative;
  padding: 10px 12px;
  padding-right: 30px;
  border-radius: 16px;
  border: 1px solid rgba(18,22,30,.10);
  background: rgba(255,255,255,.66);
  box-shadow: 0 8px 18px rgba(18,22,30,.06);
  color: rgba(18,22,30,.82);
  line-height: 1.55;

  /* equal height feel */
  min-height: 54px;
  display: flex;
  align-items: center;
}

.ps-visa-single .ps-visa-summary__meta li::before{
  content:"";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ps-accent);
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
/* ✅ Desktop only: make meta row 3 equal cards, FULL width of Summary section */
@media (min-width: 993px){

  /* .ps-visa-summary is a 2-col grid (text + image).
     But meta is inside .ps-visa-summary__text, so it can't span.
     display: contents makes children become direct grid items. */
  .ps-visa-single .ps-visa-summary__text{
    display: contents;
  }

  /* Now meta can span both columns */
  .ps-visa-single .ps-visa-summary__meta{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;

    grid-column: 1 / -1; /* ✅ full width */
    margin: 14px 0 30px 0;
    width: 100%;
  }

  /* optional: ensure meta comes after text & image in the grid flow */
  .ps-visa-single .ps-visa-summary__meta{
    grid-row: 2;
  }

  .ps-visa-single .ps-visa-summary__meta li{
    min-height: 54px;
    height: 100%;
  }
}
/* === Section buttons layout (Desktop 3 equal columns) === */
.ps-visa-cta__actions.ps-visa-cta__actions--3col{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin-top: 16px;
}

/* each slot */
.ps-visa-cta__actions--3col .ps-visa-cta__slot{
  width: 100% !important;
}

/* button fills slot */
.ps-visa-cta__actions--3col .ps-visa-cta__btn{
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* empty slots keep space on desktop */
.ps-visa-cta__actions--3col .ps-visa-cta__slot.is-empty{
  min-height: 48px;
}

/* === Mobile: full width stacked === */
@media (max-width: 768px){
  .ps-visa-cta__actions.ps-visa-cta__actions--3col{
    grid-template-columns: 1fr !important;
  }
  .ps-visa-cta__actions--3col .ps-visa-cta__slot.is-empty{
    display: none !important;
  }
}
.ps-visa-cta__actions.ps-visa-cta__actions--3col{
  float: none !important;
  clear: both !important;
}
/* =========================================================
   PATCH FINAL: Sidebar TOC/OFFERS spacing (no overlap at page end)
   - Keep sidebar sticky (already in your CSS)
   - Disable TOC sticky to avoid double-sticky conflict
   - Use sidebar gap for constant spacing
   ========================================================= */

/* Sidebar keeps constant spacing between blocks */
@media (min-width: 993px){
  .ps-visa-layout__sidebar{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important; /* همان فاصله‌ای که در لود اولیه دوست داری */
    overflow: visible !important;
  }

  /* remove margins because gap controls spacing */
  .ps-visa-layout__sidebar .ps-visa-toc,
  .ps-visa-layout__sidebar .ps-visa-offers{
    margin: 0 !important;
  }

  /* IMPORTANT: prevent double-sticky (sidebar is sticky already) */
  .ps-visa-layout__sidebar .ps-visa-toc{
    position: static !important; /* ✅ این باعث می‌شود offers زیر toc نرود */
    top: auto !important;
    z-index: auto !important;
  }
}
/* =========================================================
   PATCH: Disable TOC sticky on mobile
   ========================================================= */
@media (max-width: 992px){
  .ps-visa-toc{
    position: static !important;
    top: auto !important;
    z-index: auto !important;
  }
}
/* =========================================================
   Visa Steps (مراحل اخذ ویزا) — details/summary accordion
   Brand colors: #485a85 (navy) / #d6a75e (gold)
   ========================================================= */

#ps-visa-steps {
  scroll-margin-top: 110px;
}

#ps-visa-steps .ps-visa-steps {
  position: relative;
  margin-top: 14px;
  padding-right: 46px; /* room for timeline */
}

/* vertical timeline line */
#ps-visa-steps .ps-visa-steps::before {
  content: "";
  position: absolute;
  right: 20px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: rgba(72, 90, 133, 0.25); /* navy tint */
  border-radius: 2px;
}

/* each accordion item */
#ps-visa-steps .ps-visa-step {
  position: relative;
  background: #fff;
  border: 1px solid rgba(72, 90, 133, 0.28);
  border-radius: 14px;
  margin: 14px 0;
  overflow: hidden;
}

/* dot on timeline */
#ps-visa-steps .ps-visa-step::before {
  content: "";
  position: absolute;
  right: -30px;
  top: 18px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d6a75e; /* gold */
  box-shadow: 0 0 0 6px rgba(214, 167, 94, 0.20);
}

/* remove default marker */
#ps-visa-steps .ps-visa-step > summary {
  list-style: none;
}
#ps-visa-steps .ps-visa-step > summary::-webkit-details-marker {
  display: none;
}

/* summary head (click area) */
#ps-visa-steps .ps-visa-step__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  cursor: pointer;
  user-select: none;
}

/* number badge */
#ps-visa-steps .ps-visa-step__num {
  flex: 0 0 auto;
  min-width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  line-height: 1;
  color: #485a85;
  background: rgba(72, 90, 133, 0.10);
  border: 1px solid rgba(72, 90, 133, 0.28);
}

/* title */
#ps-visa-steps .ps-visa-step__title {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.8;
  color: #111;
}

/* chevron */
#ps-visa-steps .ps-visa-step__chev {
  margin-right: auto;
  width: 26px;
  height: 26px;
  border-radius: 10px;
  border: 1px solid rgba(72, 90, 133, 0.22);
  background: rgba(72, 90, 133, 0.06);
  position: relative;
}
#ps-visa-steps .ps-visa-step__chev::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid #485a85;
  border-bottom: 2px solid #485a85;
  transform: rotate(45deg); /* down */
  top: -2px;
}

/* panel */
#ps-visa-steps .ps-visa-step__panel {
  padding: 0 18px 16px 18px;
}

#ps-visa-steps .ps-visa-step__text {
  line-height: 2;
  color: rgba(0, 0, 0, 0.78);
}
#ps-visa-steps .ps-visa-step__text p {
  margin: 0;
}

/* open state */
#ps-visa-steps .ps-visa-step[open] .ps-visa-step__head {
  background: rgba(214, 167, 94, 0.10); /* subtle gold */
}

#ps-visa-steps .ps-visa-step[open] .ps-visa-step__chev::before {
  transform: rotate(225deg); /* up */
  top: 2px;
}

/* focus */
#ps-visa-steps .ps-visa-step__head:focus,
#ps-visa-steps .ps-visa-step__head:focus-visible {
  outline: 2px solid rgba(214, 167, 94, 0.65);
  outline-offset: 3px;
}

/* responsive */
@media (max-width: 640px) {
  #ps-visa-steps .ps-visa-steps { padding-right: 38px; }
  #ps-visa-steps .ps-visa-steps::before { right: 16px; }
  #ps-visa-steps .ps-visa-step::before { right: -26px; }
  #ps-visa-steps .ps-visa-step__head { padding: 14px 14px; }
  #ps-visa-steps .ps-visa-step__title { font-size: 15px; }
  #ps-visa-steps .ps-visa-step__panel { padding: 0 14px 14px 14px; }
}

/* =========================================================
   PATCH: Pricing Table — clearer + non-misleading
   Scope: .ps-visa-table--pricing only
   ========================================================= */

/* 1) Table shell stays premium, but more structured */
.ps-visa-table-wrap .ps-visa-table.ps-visa-table--pricing{
  width: 100%;
  border-collapse: separate;           /* allow rounded + separators */
  border-spacing: 0;
  min-width: 920px;                    /* prevent squish (desktop) */
}

/* 2) Sticky header + stronger hierarchy */
.ps-visa-table-wrap .ps-visa-table--pricing thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  text-align: center;
  padding: 13px 12px;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: -0.2px;

  background:
    linear-gradient(180deg,
      rgba(72,90,133,.14),
      rgba(255,255,255,.52)
    );
  border-bottom: 1px solid rgba(18,22,30,.14);
  backdrop-filter: blur(8px);
}

/* subtle vertical separators */
.ps-visa-table-wrap .ps-visa-table--pricing thead th + th,
.ps-visa-table-wrap .ps-visa-table--pricing tbody td + td{
  border-right: 1px solid rgba(18,22,30,.06);
}

/* 3) Body rows: zebra + hover highlight */
.ps-visa-table-wrap .ps-visa-table--pricing tbody td{
  padding: 13px 12px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(18,22,30,.07);
  color: rgba(18,22,30,.84);
}

.ps-visa-table-wrap .ps-visa-table--pricing tbody tr:nth-child(odd) td{
  background: rgba(18,22,30,.018);
}

.ps-visa-table-wrap .ps-visa-table--pricing tbody tr:hover td{
  background: rgba(214,167,94,.12);
}

/* 4) Strong emphasis: Amount column (مبلغ) */
.ps-visa-table-wrap .ps-visa-table--pricing thead th:nth-child(3),
.ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(3){
  background: rgba(214,167,94,.14);
}

.ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(3){
  font-weight: 950;
  font-size: 15px;
  color: rgba(18,22,30,.92);
  white-space: nowrap;
}

/* 5) Visa type column slightly stronger (نوع ویزا) */
.ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(1){
  font-weight: 900;
  color: rgba(18,22,30,.92);
}

/* 6) Profile column as a “badge-like” label (پروفایل) */
.ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(2){
  font-weight: 900;
  position: relative;
}

.ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(2)::before{
  content:"";
  display:inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  margin-left: 8px;
  background: rgba(72,90,133,.85);
  box-shadow: 0 0 0 5px rgba(72,90,133,.10);
  vertical-align: middle;
}

/* 7) Notes column: reduce noise, improve readability */
.ps-visa-table-wrap .ps-visa-table--pricing tbody td:last-child{
  text-align: right;
  line-height: 1.75;
  color: rgba(18,22,30,.72);
}

/* 8) Improve “-” visibility (avoid misleading empties) */
.ps-visa-table-wrap .ps-visa-table--pricing td{
  font-variant-numeric: tabular-nums;
}
.ps-visa-table-wrap .ps-visa-table--pricing td:empty::after{
  content:"—";
  opacity: .55;
}

/* =========================================================
   Mobile: true card clarity (uses existing data-label attrs)
   ========================================================= */
@media (max-width: 860px){

  /* make wrapper look like a list of cards */
  .ps-visa-table-wrap{
    border-radius: var(--ps-radius-lg);
  }

  /* hide thead for card layout */
  .ps-visa-table--pricing thead{
    display: none;
  }

  .ps-visa-table--pricing,
  .ps-visa-table--pricing tbody,
  .ps-visa-table--pricing tr{
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  .ps-visa-table--pricing tr{
    margin: 0 0 14px;
    border: 1px solid rgba(18,22,30,.10);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 22px rgba(18,22,30,.08);
  }

  .ps-visa-table--pricing td{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px dashed rgba(18,22,30,.10);
    text-align: right !important;
    background: transparent !important;
    white-space: normal !important;
  }

  .ps-visa-table--pricing td:last-child{
    border-bottom: 0;
  }

  /* label (from data-label) */
  .ps-visa-table--pricing td::before{
    content: attr(data-label);
    flex: 0 0 auto;
    font-weight: 950;
    color: rgba(72,90,133,.90);
    max-width: 48%;
  }

  /* value area */
  .ps-visa-table--pricing td{
    color: rgba(18,22,30,.86);
  }

  /* Amount row in card: super clear */
  .ps-visa-table--pricing td:nth-child(3){
    background: rgba(214,167,94,.18) !important;
    border-radius: 12px;
    margin: 10px 10px 10px;
    padding: 12px 14px;
    font-size: 16px;
    font-weight: 950;
  }

  /* keep label inside highlighted amount row visible */
  .ps-visa-table--pricing td:nth-child(3)::before{
    color: rgba(18,22,30,.85);
  }
}
/* =========================================================
   PATCH: No horizontal scroll on Desktop for pricing table
   ========================================================= */
@media (min-width: 993px){

  /* 1) Desktop should NOT scroll horizontally */
  .ps-visa-table-wrap{
    overflow-x: visible !important;
      padding: 15px;
  }

  /* 2) Remove forced min-width that creates scroll */
  .ps-visa-table-wrap .ps-visa-table.ps-visa-table--pricing{
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed; /* columns fit container */
  }

  /* 3) Allow wrapping instead of expanding width */
  .ps-visa-table-wrap .ps-visa-table--pricing th,
  .ps-visa-table-wrap .ps-visa-table--pricing td{
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* 4) If amount was forced nowrap, relax it (prevents overflow) */
  .ps-visa-table-wrap .ps-visa-table--pricing tbody td:nth-child(3){
    white-space: normal !important;
  }

  /* 5) Notes column often causes overflow; keep it readable */
  .ps-visa-table-wrap .ps-visa-table--pricing tbody td:last-child{
    text-align: right;
    line-height: 1.7;
  }
}
/* =========================================================
   Visa Notice — FINAL (Square Badge + Ghost SAME icon + REAL Mask Fade)
   Paste at END of visa-single.css
   ========================================================= */

.ps-visa-notice{
  position: relative;
  border-radius: 18px;
  padding: 44px 22px 18px;
  margin: 22px 0 18px;
  overflow: visible;
  z-index: 2;
  isolation: isolate;
  background: transparent;
  border: 0;
}

/* Inner card layer */
.ps-visa-notice::after{
  content:"";
  position:absolute;
  inset: 0;
  border-radius: 18px;
  z-index: 0;
  pointer-events:none;
  border: 1px solid rgba(72, 90, 133, 0.18);
  background:
    radial-gradient(900px 220px at 90% 10%, rgba(214,167,94,.14), transparent 60%),
    radial-gradient(900px 260px at 10% 100%, rgba(72,90,133,.10), transparent 55%),
    #f3f5f9;
}

/* =========================================================
   Ghost icon — SAME AS BADGE ICON (bell silhouette)
   ========================================================= */
.ps-visa-notice::before{
  content:"";
  position:absolute;
  inset: 0;
  border-radius: 18px;
  z-index: 1;
  pointer-events:none;

  /* clip INSIDE card */
  clip-path: inset(0 round 18px);

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22Zm6-6V11a6 6 0 1 0-12 0v5L4 18v1h16v-1l-2-2Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 340px 340px;
  -webkit-mask-position: -120px -150px;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22Zm6-6V11a6 6 0 1 0-12 0v5L4 18v1h16v-1l-2-2Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: 340px 340px;
  mask-position: -120px -150px;

  background: rgba(72,90,133,.11);
  opacity: 1;
}

/* =========================================================
   Badge — simple square (NO ears)
   ========================================================= */
.ps-visa-notice__icon-wrap{
  position: absolute;
  left: 50%;
  top: 15px;
  transform: translate(-50%, -52%);
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  z-index: 5;
  background: #425487;
  box-shadow: 0 12px 26px rgba(18,22,30,.16);
  outline: 1px solid rgba(255,255,255,.14);
  outline-offset: -1px;
}
.ps-visa-notice__icon-wrap::before,
.ps-visa-notice__icon-wrap::after{
  content: none !important;
}

/* Hollow bell + wiggle only icon */
.ps-visa-notice__icon--center svg{
  width: 40px;
  height: 40px;
  fill: none !important;
}
.ps-visa-notice__icon--center svg path{
  fill: none !important;
  stroke: rgba(255,255,255,.95);
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@keyframes psNoticeBellWiggle{
  0% { transform: rotate(0deg); }
  20%{ transform: rotate(10deg); }
  40%{ transform: rotate(-10deg); }
  60%{ transform: rotate(7deg); }
  80%{ transform: rotate(-7deg); }
  100%{ transform: rotate(0deg); }
}
.ps-visa-notice:hover .ps-visa-notice__icon--center svg{
  transform-origin: 50% 12%;
  animation: psNoticeBellWiggle .45s ease-in-out;
}

/* =========================================================
   Content
   ========================================================= */
.ps-visa-notice__content{
  position: relative;
  z-index: 3;
  text-align: center;
  padding-top: 6px;
}

.ps-visa-notice__title{
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 900;
  color: rgba(18,22,30,.92);
  text-align: center;
}

/* =========================================================
   List + bullets (NO bold item1)
   ========================================================= */
.ps-visa-notice__list{
  /* ✅ این تغییر کلیدی است: mask روی inline-block بعضی جاها خوب اجرا نمی‌شود */
  display: block;
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 0;
  text-align: right;
  list-style: none;

  /* برای اینکه mask حتماً اثرش دیده شود */
  position: relative;
}

.ps-visa-notice__item{
  position: relative;
  margin: 8px 0;
  padding-right: 20px;
  line-height: 1.95;
  color: rgba(18,22,30,.78);
  font-weight: 600;
}

.ps-visa-notice__item::before{
  content:"";
  position:absolute;
  right: 0;
  top: 0.95em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(214,167,94,.95);
  box-shadow: 0 0 0 5px rgba(214,167,94,.14);
  transform: translateY(-50%);
}

/* =========================================================
   Collapsed clamp (2 lines item1 + 1 line item2)
   ========================================================= */
.ps-visa-notice.is-collapsed .ps-visa-notice__item:nth-child(1),
.ps-visa-notice.is-collapsed .ps-visa-notice__item:nth-child(2){
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ps-visa-notice.is-collapsed .ps-visa-notice__item:nth-child(1){ -webkit-line-clamp: 2; }
.ps-visa-notice.is-collapsed .ps-visa-notice__item:nth-child(2){ -webkit-line-clamp: 1; }

.ps-visa-notice.is-collapsed .ps-visa-notice__item:nth-child(n+3){
  display: none;
}

/* =========================================================
   ✅ REAL fade like screenshot (NO white overlay)
   - fades the LIST itself (text + bullets) by MASK
   - stronger + starts earlier so it is visible for sure
   ========================================================= */
.ps-visa-notice.is-collapsed .ps-visa-notice__list{
  /* Safari/Chrome */
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 52%,
    rgba(0,0,0,.45) 78%,
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;

  /* Firefox */
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 52%,
    rgba(0,0,0,.45) 78%,
    rgba(0,0,0,0) 100%
  );
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}

/* restore when open */
.ps-visa-notice.is-open .ps-visa-notice__item{
  display: list-item;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.ps-visa-notice.is-open .ps-visa-notice__list{
  -webkit-mask-image: none;
  mask-image: none;
}

/* =========================================================
   Toggle button
   ========================================================= */
.ps-visa-notice__toggle{
  margin: 14px auto 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid rgba(72, 90, 133, 0.18);
  background: rgba(72, 90, 133, 0.05);
  color: rgba(18,22,30,.86);
  box-shadow: none;
  position: relative;
  z-index: 6;
}
.ps-visa-notice__toggle::after{
  content:"";
  width: 10px;
  height: 10px;
  display: inline-block;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -2px;
}
.ps-visa-notice.is-open .ps-visa-notice__toggle::after{
  transform: rotate(-135deg);
  margin-top: 2px;
}
.ps-visa-notice__toggle:focus-visible{
  outline: 3px solid rgba(72,90,133,.35);
  outline-offset: 3px;
}
.ps-visa-notice[data-has-toggle="0"] .ps-visa-notice__toggle{
  display: none !important;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 640px){
  .ps-visa-notice{
    padding: 38px 16px 16px;
  }
  .ps-visa-notice__title{
    font-size: 18px;
  }
  .ps-visa-notice__icon-wrap{
    width: 54px;
    height: 54px;
  }
}
/* === Notice list alignment + normal weight (override only) === */

/* 1) لیست وسط نباشه، تمام عرض محتوا و هم‌تراز با متن‌های بالا */
.ps-visa-notice__list{
  width: 100% !important;
  margin: 0 !important;

  /* هم‌تراز با متن‌های داخل باکس (مثل عنوان/متن بالا) */
  padding-right: 22px !important;
  padding-left: 22px !important;

  /* اگر قبلاً محدودیت عرض داده شده بود */
  max-width: none !important;
}

/* 2) متن لیست بولد نباشه */
.ps-visa-notice__item{
  font-weight: 400 !important;
}
.ps-visa-step__note{
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(214, 167, 94, 0.10);
    border: 1px solid rgba(214, 167, 94, 0.35);
    position: relative;
}

.ps-visa-step__note::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    border-radius: 0 14px 14px 0;
    background: #d6a75e;
}

.ps-visa-step__note-title{
    font-weight: 800;
    color: #485a85;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.8;
}

.ps-visa-step__note-text{
    color: #334155;
    line-height: 2;
    font-size: 14px;
}

.ps-visa-step__note-text p:last-child{
    margin-bottom: 0;
}
/* =========================
   Inline Block - tag agnostic
   works with div / section / article
========================= */
.ps-visa-inline-block{
    position: relative;
    margin: 18px 0 22px;
    display: block;
}

.ps-visa-inline-block__title{
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.9;
    font-weight: 800;
    color: #485a85;
}

.ps-visa-inline-block__text{
    line-height: 2;
    color: #334155;
    font-size: 15px;
}

.ps-visa-inline-block__text p:last-child,
.ps-visa-inline-block__text ul:last-child,
.ps-visa-inline-block__text ol:last-child{
    margin-bottom: 0;
}

/* =========================
   Boxed Note Style
========================= */
.ps-visa-inline-block__text--boxed{
    position: relative;
    margin-top: 10px;
    padding: 16px 18px;
    border-radius: 16px;
    background: rgba(214, 167, 94, 0.10);
    border: 1px solid rgba(214, 167, 94, 0.35);
    box-shadow: 0 8px 24px rgba(72, 90, 133, 0.06);
}

.ps-visa-inline-block__text--boxed::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: #d6a75e;
    border-radius: 0 16px 16px 0;
}

.ps-visa-inline-block__text--boxed p,
.ps-visa-inline-block__text--boxed li{
    color: #334155;
}

.ps-visa-inline-block__text--boxed ul,
.ps-visa-inline-block__text--boxed ol{
    margin: 0;
    padding-right: 18px;
}

.ps-visa-inline-block__text--boxed li + li{
    margin-top: 6px;
}

/* =========================
   Optional visual tuning by block type
========================= */
.ps-visa-inline-block[data-block-type="note"] .ps-visa-inline-block__title{
    color: #485a85;
}

.ps-visa-inline-block[data-block-type="suggested_post"]{
    margin-top: 20px;
}

/* =========================
   Suggested posts grid
========================= */
.ps-visa-inline-block__grid{
    display: grid;
    gap: 14px;
    margin-top: 10px;
}

.ps-visa-inline-block__grid[data-style="links"]{
    grid-template-columns: 1fr;
}

.ps-visa-inline-block__grid[data-style="cards"]{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-visa-inline-card{
    display: block;
}

.ps-visa-inline-card__link{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(72, 90, 133, 0.12);
    text-decoration: none;
    transition: all .2s ease;
}

.ps-visa-inline-card__link:hover{
    border-color: rgba(214, 167, 94, 0.45);
    box-shadow: 0 8px 20px rgba(72, 90, 133, 0.08);
    transform: translateY(-1px);
}

.ps-visa-inline-card__title{
    color: #485a85;
    font-weight: 700;
    line-height: 1.9;
}

.ps-visa-inline-card--full .ps-visa-inline-card__link{
    align-items: stretch;
}

.ps-visa-inline-card__thumb{
    flex: 0 0 92px;
    width: 92px;
    overflow: hidden;
    border-radius: 12px;
}

.ps-visa-inline-card__thumb img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ps-visa-inline-card__body{
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.ps-visa-inline-card__excerpt{
    font-size: 13px;
    line-height: 1.9;
    color: #64748b;
}

/* =========================
   Responsive
========================= */
@media (max-width: 767px){
    .ps-visa-inline-block{
        margin: 16px 0 20px;
    }

    .ps-visa-inline-block__title{
        font-size: 16px;
        line-height: 1.9;
    }

    .ps-visa-inline-block__text,
    .ps-visa-inline-block__text--boxed{
        font-size: 14px;
    }

    .ps-visa-inline-block__text--boxed{
        padding: 14px 14px;
        border-radius: 14px;
    }

    .ps-visa-inline-block__text--boxed::before{
        border-radius: 0 14px 14px 0;
    }

    .ps-visa-inline-block__grid[data-style="cards"]{
        grid-template-columns: 1fr;
    }

    .ps-visa-inline-card__thumb{
        flex-basis: 84px;
        width: 84px;
    }
}

/* ==============================
   Single Visa Responsive Table
   #compare-table
   ============================== */

.ps-visa-single #compare-table,
#frVisaAppt #compare-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(148,163,184,.28);
  box-shadow:0 18px 44px rgba(15,23,42,.08);
  font-size:14px;
  line-height:1.9;
}

.ps-visa-single #compare-table caption,
#frVisaAppt #compare-table caption{
  caption-side:top;
  padding:14px 16px;
  font-weight:900;
  color:#fff;
  background:
    radial-gradient(circle at 0% 0%, rgba(214,167,94,.30), transparent 60%),
    linear-gradient(135deg,#2f3b5f,var(--ps-color-primary));
  text-align:right;
  border-radius:18px 18px 0 0;
}

.ps-visa-single #compare-table thead th,
#frVisaAppt #compare-table thead th{
  padding:13px 14px;
  background:linear-gradient(135deg,#fdf7ec,#e5ebf5);
  color:var(--ps-color-primary);
  font-weight:900;
  border-bottom:1px solid rgba(214,167,94,.35);
}

.ps-visa-single #compare-table td,
#frVisaAppt #compare-table td{
  padding:13px 14px;
  color:rgba(31,37,51,.88);
  border-bottom:1px solid rgba(148,163,184,.22);
  vertical-align:top;
}

.ps-visa-single #compare-table tbody tr:last-child td,
#frVisaAppt #compare-table tbody tr:last-child td{
  border-bottom:none;
}

.ps-visa-single #compare-table tbody tr:hover,
#frVisaAppt #compare-table tbody tr:hover{
  background:rgba(253,247,236,.65);
}

/* Mobile Card View */
@media (max-width:768px){
  .ps-visa-single #compare-table,
  #frVisaAppt #compare-table{
    display:block;
    border:none;
    box-shadow:none;
    background:transparent;
  }

  .ps-visa-single #compare-table caption,
  #frVisaAppt #compare-table caption{
    display:block;
    margin-bottom:12px;
    border-radius:18px;
    box-shadow:0 14px 34px rgba(72,90,133,.18);
  }

  .ps-visa-single #compare-table thead,
  #frVisaAppt #compare-table thead{
    display:none;
  }

  .ps-visa-single #compare-table tbody,
  .ps-visa-single #compare-table tr,
  .ps-visa-single #compare-table td,
  #frVisaAppt #compare-table tbody,
  #frVisaAppt #compare-table tr,
  #frVisaAppt #compare-table td{
    display:block;
    width:100%;
  }

  .ps-visa-single #compare-table tr,
  #frVisaAppt #compare-table tr{
    margin-bottom:14px;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(148,163,184,.28);
    box-shadow:0 14px 34px rgba(15,23,42,.07);
  }

  .ps-visa-single #compare-table td,
  #frVisaAppt #compare-table td{
    position:relative;
    padding:12px 14px;
    border-bottom:1px solid rgba(148,163,184,.20);
  }

  .ps-visa-single #compare-table td:last-child,
  #frVisaAppt #compare-table td:last-child{
    border-bottom:none;
  }

  .ps-visa-single #compare-table td::before,
  #frVisaAppt #compare-table td::before{
    display:block;
    margin-bottom:5px;
    font-size:12px;
    font-weight:900;
    color:var(--ps-color-accent);
  }

  .ps-visa-single #compare-table td:nth-child(1)::before,
  #frVisaAppt #compare-table td:nth-child(1)::before{
    content:"مدرک";
  }

  .ps-visa-single #compare-table td:nth-child(2)::before,
  #frVisaAppt #compare-table td:nth-child(2)::before{
    content:"استاندارد";
  }

  .ps-visa-single #compare-table td:nth-child(3)::before,
  #frVisaAppt #compare-table td:nth-child(3)::before{
    content:"نکته کاربردی";
  }
}
.ps-visa-inline-block__video {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 18px;
	background: #000;
	aspect-ratio: 16 / 9;
}

.ps-visa-inline-block__video iframe {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	display: block;
}

.ps-visa-inline-block__video script {
	display: none;
}
/* CTA Buttons Perfect Center | frVisaAppt */
#frVisaAppt .cta-wrap{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:18px;
    margin-top:32px;
    width:100%;
}

#frVisaAppt .cta-btn{
    width:320px;
    height:64px;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:0 18px;
    margin:0;

    border:none;
    border-radius:14px;

    background:#485a85;
    color:#fff !important;
    text-decoration:none;

    font-size:16px;
    font-weight:700;
    line-height:0.5;

    box-sizing:border-box;

    transition:all .25s ease;
}

/* حذف هر spacing اضافی داخلی */
#frVisaAppt .cta-btn span,
#frVisaAppt .cta-btn strong{
    display:inline-block;
    line-height:1.5;
    margin:0;
    padding:0;
}

#frVisaAppt .cta-btn:hover{
    background:#d6a75e;
    color:#fff;
    transform:translateY(-2px);
}

#frVisaAppt .cta-btn:focus-visible{
    outline:3px solid rgba(214,167,94,.35);
    outline-offset:3px;
}

/* Mobile */
@media (max-width:768px){

    #frVisaAppt .cta-wrap{
        flex-direction:column;
        align-items:center;
        gap:16px;
    }

    #frVisaAppt .cta-btn{
        width:280px;
        height:84px;
    }
}