/* =========================================================
   Trust Global Authority Call Child — V4.9
   Major changes vs V3:
   ✅ Sidebar width bug fixed (grid now fluid + breakpoint rethought)
   ✅ Laptop breakpoint added (1040–1280px)
   ✅ makeStickyFriendly overflow no longer kills sticky rail
   ✅ Floating actions RTL-aware, right-side + entrance animation
   ✅ Trust strip shimmer badge animation
   ✅ Premium rail cards — glow, texture, hover states
   ✅ Inline CTA — full redesign, more authoritative
   ✅ Pre-footer CTA — navy full-bleed, gold accent
   ✅ Mobile callbar — glass, pulsing call button
   ✅ Authority panel — proof items with accent line
   ✅ Article typography — refined line-height, spacing
   ✅ Button CTA pulse animation for primary actions
   ✅ Improved blockquote with decorative quotemark
   ✅ Table: premium rounded header
   ✅ Safe for Hello Elementor — no mobile menu override
   Brand: trust · legal · international · premium · call-first
========================================================= */

/* ─────────────────── TOKENS ─────────────────── */
:root {
  --tg-font-primary: 'Ray', Tahoma, Arial, sans-serif;

  --tg-navy:       #0f2742;
  --tg-navy-2:     #16385d;
  --tg-navy-deep:  #071626;
  --tg-ink:        #111827;
  --tg-text:       #344054;
  --tg-muted:      #667085;

  --tg-gold:       #c99b42;
  --tg-gold-2:     #e6c77a;
  --tg-gold-3:     #f0d896;
  --tg-gold-soft:  rgba(201,155,66,.13);
  --tg-gold-glow:  rgba(201,155,66,.22);
  --tg-gold-bg:    rgba(201,155,66,.07);

  --tg-blue:       #2364a6;
  --tg-blue-soft:  #eaf2fb;
  --tg-green:      #2f6b57;
  --tg-red:        #b73535;

  --tg-line:       #e6ebf2;
  --tg-line-strong:#d6deea;
  --tg-paper:      #ffffff;
  --tg-soft:       #f7f9fc;
  --tg-cream:      #fbf8ef;

  --tg-radius:     16px;
  --tg-radius-lg:  24px;
  --tg-radius-xl:  32px;

  --tg-shadow-xs:  0 2px 8px rgba(16,36,63,.05);
  --tg-shadow-sm:  0 6px 20px rgba(16,36,63,.07);
  --tg-shadow-md:  0 16px 44px rgba(16,36,63,.10);
  --tg-shadow-lg:  0 28px 70px rgba(16,36,63,.14);
  --tg-shadow-gold:0 8px 28px rgba(201,155,66,.20);

  --tg-ease:       cubic-bezier(.2,.8,.2,1);
  --tg-ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ─────────────────── RESET / BASE ─────────────────── */
html, body.tg-authority-call { overflow-x: clip; }
@supports not (overflow-x: clip) {
  html, body.tg-authority-call { overflow-x: hidden; }
}

body.tg-authority-call,
body.tg-authority-call :where(input,button,textarea,select),
body.tg-authority-call :where(
  .elementor-heading-title,
  .elementor-button,
  .elementor-widget-text-editor,
  .elementor-post__title,
  .elementor-nav-menu a
) {
  font-family: var(--tg-font-primary) !important;
}

body.tg-authority-call {
  color: var(--tg-text);
  background: #fff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.tg-authority-call * { box-sizing: border-box; }
body.tg-authority-call :where(img,video,iframe,table) { max-width: 100%; }

/* ─────────────────── SHIMMER KEYFRAME ─────────────────── */
@keyframes tg-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
@keyframes tg-pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(201,155,66,.45); }
  70%  { box-shadow: 0 0 0 10px rgba(201,155,66,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,155,66,0); }
}
@keyframes tg-bounce-in {
  0%   { opacity:0; transform:translateY(16px) scale(.96); }
  60%  { opacity:1; transform:translateY(-3px) scale(1.01); }
  100% { opacity:1; transform:none; }
}
@keyframes tg-fade-up {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:none; }
}

/* ─────────────────── TRUST STRIP ─────────────────── */
.tg-trust-strip {
  position: relative;
  z-index: 9998;
  background: linear-gradient(100deg, var(--tg-navy), #0b1f38 50%, var(--tg-navy-2));
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.tg-trust-strip__inner {
  width: min(1260px, calc(100% - 32px));
  margin: 0 auto;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
  font-size: 12.8px;
  line-height: 1.8;
  font-weight: 680;
  letter-spacing: .01em;
}
.tg-trust-strip__badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 12px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(201,155,66,.25) 0%,
    rgba(240,216,150,.38) 48%,
    rgba(201,155,66,.25) 100%
  );
  background-size: 200% auto;
  border: 1px solid rgba(230,199,122,.30);
  color: var(--tg-gold-3);
  font-weight: 900;
  letter-spacing: .04em;
  font-size: 11.5px;
  animation: tg-shimmer 3.6s linear infinite;
}
.tg-trust-strip a {
  color: var(--tg-gold-3);
  text-decoration: none;
  font-weight: 900;
  white-space: nowrap;
  border-bottom: 1px solid rgba(230,199,122,.30);
  transition: border-color .2s;
}
.tg-trust-strip a:hover { border-color: var(--tg-gold-2); }

/* ─────────────────── HEADER ─────────────────── */
body.tg-authority-call :where(.elementor-location-header, header.site-header) {
  z-index: 9997;
}
body.tg-authority-call .elementor-location-header :where(.e-con,.elementor-section,.elementor-container) {
  transition: background-color .26s var(--tg-ease), box-shadow .26s var(--tg-ease), border-color .26s var(--tg-ease);
}
body.tg-authority-call.tg-scrolled .elementor-location-header :where(.e-con,.elementor-section):first-child {
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 8px 32px rgba(16,36,63,.08);
  border-bottom: 1px solid rgba(16,36,63,.06);
}
body.tg-authority-call .elementor-nav-menu--main .elementor-item,
body.tg-authority-call .elementor-nav-menu a.elementor-item {
  font-weight: 780 !important;
  color: var(--tg-ink) !important;
  letter-spacing: -.01em;
}
body.tg-authority-call .elementor-nav-menu--main .elementor-item:hover,
body.tg-authority-call .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--tg-blue) !important;
}
body.tg-authority-call a[href^="tel:"]:not(.tg-floating-call):not(.tg-mobile-callbar a):not(.tg-rail-phone) {
  font-weight: 900 !important;
}

/* ─────────────────── PREMIUM UI PRIMITIVES ─────────────────── */
body.tg-authority-call :where(.elementor-button,.wp-block-button__link,button[type="submit"],input[type="submit"]) {
  border-radius: 999px !important;
  min-height: 46px;
  font-weight: 900 !important;
  transition: transform .2s var(--tg-ease), box-shadow .2s var(--tg-ease), background-color .2s var(--tg-ease) !important;
}
body.tg-authority-call :where(.elementor-button,.wp-block-button__link):hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(16,36,63,.14) !important;
}
body.tg-authority-call :where(.elementor-widget-image-box,.elementor-widget-icon-box,.elementor-post,.e-loop-item) {
  transition: transform .24s var(--tg-ease), box-shadow .24s var(--tg-ease), border-color .24s var(--tg-ease);
}
body.tg-authority-call :where(.elementor-widget-image-box,.elementor-widget-icon-box,.elementor-post,.e-loop-item):hover {
  transform: translateY(-4px);
}
body.tg-authority-call .elementor-widget-image-box .elementor-image-box-wrapper,
body.tg-authority-call .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.tg-authority-call .elementor-post,
body.tg-authority-call .e-loop-item {
  border-radius: var(--tg-radius-lg);
}
body.tg-authority-call :where(.elementor-widget-heading h1,.elementor-heading-title) {
  letter-spacing: -.04em;
}
body.tg-authority-call :where(.elementor-widget-text-editor p,.elementor-widget-text-editor li) {
  line-height: 2.08;
}

/* ─────────────────── EYEBROW ─────────────────── */
.tg-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tg-gold);
  font-size: 11.8px;
  line-height: 1.6;
  font-weight: 900;
  margin-bottom: 10px;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.tg-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--tg-gold);
  box-shadow: 0 0 0 4px rgba(201,155,66,.18);
  animation: tg-pulse-ring 2.4s ease-out infinite;
  flex: 0 0 auto;
}

/* ─────────────────── AUTHORITY PANEL ─────────────────── */
.tg-authority-panel,
.tg-prefooter-cta,
.tg-inline-cta {
  width: min(1140px, calc(100% - 36px));
  margin: 40px auto;
  direction: rtl;
  font-family: var(--tg-font-primary);
}
.tg-authority-panel {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
  align-items: stretch;
}
.tg-authority-panel__main,
.tg-authority-panel__side,
.tg-inline-cta,
.tg-prefooter-cta {
  border: 1px solid var(--tg-line);
  border-radius: var(--tg-radius-lg);
  background: linear-gradient(170deg, #fff, var(--tg-cream));
  box-shadow: var(--tg-shadow-md);
  overflow: hidden;
  position: relative;
}
/* subtle texture overlay */
.tg-authority-panel__main::after,
.tg-authority-panel__side::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(ellipse at 90% 10%, rgba(201,155,66,.06), transparent 55%);
}
.tg-authority-panel__main { padding: 32px; }
.tg-authority-panel__side {
  padding: 28px;
  background: linear-gradient(155deg, var(--tg-navy), var(--tg-navy-deep));
  color: #fff;
  border-color: rgba(255,255,255,.07);
}
.tg-authority-panel__side::after {
  background: radial-gradient(ellipse at 10% 80%, rgba(201,155,66,.10), transparent 50%);
}
.tg-authority-panel h2,
.tg-prefooter-cta h2 {
  color: var(--tg-ink);
  font-size: clamp(22px, 2vw, 34px);
  line-height: 1.6;
  font-weight: 950;
  margin: 0 0 12px;
}
.tg-authority-panel p,
.tg-prefooter-cta p {
  color: var(--tg-muted);
  font-size: 15px;
  line-height: 2.05;
  margin: 0;
}
.tg-authority-panel__side h3 {
  color: #fff;
  font-size: 20px;
  line-height: 1.7;
  margin: 0 0 10px;
  font-weight: 950;
}
.tg-authority-panel__side p { color: rgba(255,255,255,.74); }

.tg-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}
.tg-proof-item {
  border: 1px solid rgba(16,36,63,.07);
  background: rgba(255,255,255,.80);
  border-radius: 16px;
  padding: 14px 14px 14px 14px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .22s var(--tg-ease), transform .22s var(--tg-ease);
}
.tg-proof-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--tg-shadow-sm);
}
.tg-proof-item::before {
  content:"";
  position:absolute;
  top:0; right:0;
  width:3px; height:100%;
  background: linear-gradient(180deg, var(--tg-gold), transparent);
  border-radius: 0 16px 16px 0;
}
.tg-proof-item strong {
  display: block;
  color: var(--tg-navy);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.2;
}
.tg-proof-item span {
  display: block;
  color: var(--tg-muted);
  font-size: 12px;
  line-height: 1.8;
  margin-top: 5px;
  font-weight: 700;
}

.tg-service-mini-list { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:10px; }
.tg-service-mini-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,.88);
  font-size: 13.5px;
  line-height: 1.85;
  font-weight: 750;
}
.tg-service-mini-list li::before {
  content:"";
  width: 8px; height: 8px;
  margin-top: 10px;
  border-radius: 50%;
  background: var(--tg-gold);
  box-shadow: 0 0 0 3px rgba(201,155,66,.25);
  flex: 0 0 auto;
}

/* ─────────────────── ARTICLE LAYOUT — V4 SIDEBAR FIX ─────────────────── */
/*
  BUG FIX: In V3 the breakpoint at 1180px caused the layout to
  collapse to display:block, making the rail as wide as the text.
  V4 uses a fluid grid (1fr + clamp) that works down to 960px,
  with an intermediate breakpoint at 1220px for tighter containers.
*/
.tg-article-layout {
  width: min(1240px, calc(100% - 40px));
  margin: 30px auto 80px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(258px, 27%, 314px);
  gap: 52px;
  align-items: start;
  direction: rtl;
}
.tg-article-layout > .elementor-widget-theme-post-content,
.tg-article-layout > .entry-content,
.tg-article-layout > article { min-width: 0; width: 100%; }

/* ─────────────────── ARTICLE TRUST RAIL ─────────────────── */
.tg-article-rail {
  position: sticky;
  top: 108px;
  align-self: start;
  direction: rtl;
  z-index: 7;
}
.admin-bar .tg-article-rail { top: 140px; }
.tg-article-rail__inner { display: flex; flex-direction: column; gap: 14px; }

.tg-rail-card {
  border: 1px solid var(--tg-line);
  border-radius: var(--tg-radius-lg);
  background: linear-gradient(170deg, #fff, #f9fbfd);
  box-shadow: var(--tg-shadow-sm);
  padding: 20px;
  overflow: hidden;
  position: relative;
  transition: box-shadow .22s var(--tg-ease), border-color .22s var(--tg-ease);
}
.tg-rail-card:hover { box-shadow: var(--tg-shadow-md); border-color: var(--tg-line-strong); }
.tg-rail-card--dark {
  background: linear-gradient(145deg, var(--tg-navy-2), var(--tg-navy-deep));
  color: #fff;
  border-color: rgba(255,255,255,.07);
  box-shadow: 0 18px 48px rgba(7,22,38,.20);
  position: relative;
  overflow: hidden;
}
.tg-rail-card--dark::before {
  content:"";
  position:absolute;
  top:-30px; left:-30px;
  width:160px; height:160px;
  background: radial-gradient(circle, rgba(201,155,66,.14), transparent 65%);
  pointer-events:none;
}

.tg-rail-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.tg-rail-title { color:var(--tg-ink); font-size:15.5px; line-height:1.6; font-weight:950; margin:0; }
.tg-rail-card--dark .tg-rail-title { color:#fff; }
.tg-reading-pill {
  border: 1px solid rgba(201,155,66,.28);
  color: #7c6232;
  background: rgba(255,255,255,.78);
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
  letter-spacing: .02em;
}

/* Progress bar */
.tg-rail-progress { height:3px; border-radius:999px; overflow:hidden; background:rgba(16,36,63,.08); margin-bottom:14px; }
.tg-rail-progress span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--tg-green), var(--tg-gold-2));
  transition: width .14s linear;
  border-radius: 999px;
}

/* TOC */
.tg-rail-toc { display:grid; gap:2px; }
.tg-rail-toc a {
  color: #5e6878 !important;
  background: transparent !important;
  border-radius: 12px;
  padding: 7px 10px;
  line-height: 1.75;
  font-size: 12.8px;
  font-weight: 720;
  text-decoration: none !important;
  transition: background-color .18s var(--tg-ease), color .18s var(--tg-ease), padding-right .18s var(--tg-ease);
  position: relative;
}
.tg-rail-toc a[data-level="3"] { padding-right: 22px; font-size: 12px; opacity: .78; }
.tg-rail-toc a:hover { color: var(--tg-navy) !important; background: rgba(16,36,63,.05) !important; }
.tg-rail-toc a.is-active {
  color: var(--tg-green) !important;
  background: rgba(47,107,87,.08) !important;
  font-weight: 850;
  padding-right: 14px;
}
.tg-rail-toc a.is-active::after {
  content:"";
  position:absolute;
  right:0; top:50%;
  transform: translateY(-50%);
  width:3px; height:60%;
  background: var(--tg-green);
  border-radius: 999px;
}

/* Proof card */
.tg-rail-proof { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.tg-rail-mark {
  width: 44px; height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--tg-navy-2), var(--tg-navy));
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(16,36,63,.18);
  flex: 0 0 auto;
}
.tg-rail-proof strong { display:block; color:var(--tg-ink); font-size:14.5px; line-height:1.55; font-weight:950; }
.tg-rail-proof small { display:block; color:var(--tg-muted); font-size:11.5px; line-height:1.7; font-weight:700; }
.tg-rail-card p { color:var(--tg-muted); font-size:12.8px; line-height:1.95; margin:0; }
.tg-rail-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.tg-rail-tags span {
  border: 1px solid rgba(201,155,66,.22);
  background: rgba(255,255,255,.78);
  color: #465163;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 800;
}
.tg-rail-card--dark p { color:rgba(255,255,255,.76); margin:6px 0 14px; }

/* Rail CTA phone button */
.tg-rail-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827 !important;
  font-size: 14.5px;
  font-weight: 950;
  text-decoration: none !important;
  box-shadow: var(--tg-shadow-gold);
  transition: transform .2s var(--tg-ease), box-shadow .2s var(--tg-ease);
  position: relative;
  overflow: hidden;
  letter-spacing: .02em;
}
.tg-rail-phone:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(201,155,66,.32);
}
.tg-rail-phone::after {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  background-size: 200% auto;
  animation: tg-shimmer 2.8s linear infinite;
}

/* Related links */
.tg-rail-links { display:grid; gap:2px; }
.tg-rail-links a {
  color: #4d596b !important;
  padding: 9px 0;
  border-bottom: 1px solid rgba(16,36,63,.07);
  font-size: 12.6px;
  font-weight: 780;
  line-height: 1.75;
  background: none !important;
  text-decoration: none;
  transition: color .16s, padding-right .16s;
}
.tg-rail-links a:hover { color: var(--tg-blue) !important; padding-right: 4px; }
.tg-rail-links a:last-child { border-bottom: 0; }

/* ─────────────────── ARTICLE EDITORIAL ─────────────────── */
body.tg-authority-call.single-post :where(
  .entry-content,
  .page-content,
  .elementor-widget-theme-post-content .elementor-widget-container
) {
  color: var(--tg-text) !important;
  font-family: var(--tg-font-primary) !important;
  font-size: clamp(16.5px, 1.08vw, 18px) !important;
  line-height: 2.12 !important;
}
body.tg-authority-call.single-post :where(
  .entry-content p,
  .page-content p,
  .elementor-widget-theme-post-content p
) {
  color: var(--tg-text) !important;
  font-size: clamp(16.5px, 1.08vw, 18px) !important;
  line-height: 2.12 !important;
  margin: 0 0 24px !important;
  text-align: right !important;
}
body.tg-authority-call.single-post :where(
  .entry-content h2,
  .page-content h2,
  .elementor-widget-theme-post-content h2
) {
  color: var(--tg-ink) !important;
  font-size: clamp(23px, 2vw, 33px) !important;
  line-height: 1.65 !important;
  font-weight: 950 !important;
  margin: clamp(52px,5vw,80px) 0 18px !important;
  padding: 0 20px 0 0 !important;
  border-right: 3px solid var(--tg-gold) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.tg-authority-call.single-post :where(
  .entry-content h3,
  .page-content h3,
  .elementor-widget-theme-post-content h3
) {
  color: var(--tg-navy) !important;
  font-size: clamp(19px, 1.5vw, 25px) !important;
  line-height: 1.75 !important;
  font-weight: 900 !important;
  margin: 40px 0 14px !important;
}
body.tg-authority-call.single-post :where(
  .entry-content a,
  .page-content a,
  .elementor-widget-theme-post-content a
) {
  color: var(--tg-blue) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  background-image: linear-gradient(var(--tg-gold-soft), var(--tg-gold-soft));
  background-repeat: no-repeat;
  background-position: 0 96%;
  background-size: 100% .3em;
  transition: background-size .2s var(--tg-ease), color .2s !important;
}
body.tg-authority-call.single-post :where(
  .entry-content a:hover,
  .page-content a:hover,
  .elementor-widget-theme-post-content a:hover
) {
  color: var(--tg-navy) !important;
  background-size: 100% 100% !important;
}

/* Blockquote */
body.tg-authority-call.single-post :where(blockquote,.wp-block-quote) {
  border: 0 !important;
  border-right: 3px solid var(--tg-gold) !important;
  background: linear-gradient(100deg, var(--tg-cream), #fff) !important;
  border-radius: 0 var(--tg-radius) var(--tg-radius) 0 !important;
  padding: 24px 26px 24px 16px !important;
  box-shadow: var(--tg-shadow-xs) !important;
  position: relative !important;
}
body.tg-authority-call.single-post :where(blockquote,.wp-block-quote)::before {
  content: "\201D";
  position: absolute;
  top: 8px; left: 14px;
  font-size: 52px;
  line-height: 1;
  color: rgba(201,155,66,.18);
  font-family: Georgia, serif;
}

/* Tables */
body.tg-authority-call.single-post :where(table) { width:100%; border-collapse:collapse; font-size:15px; }
body.tg-authority-call.single-post :where(th,td) {
  border-bottom: 1px solid var(--tg-line);
  padding: 14px 16px;
  line-height: 1.85;
}
body.tg-authority-call.single-post th {
  color: var(--tg-ink);
  background: linear-gradient(180deg, var(--tg-soft), #edf2f8);
  font-weight: 900;
}
body.tg-authority-call.single-post tr:hover td { background: rgba(16,36,63,.02); }
.tg-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--tg-line);
  border-radius: var(--tg-radius-lg);
  margin: 32px 0;
  box-shadow: var(--tg-shadow-xs);
}
.tg-table-scroll table { min-width: 620px; margin: 0; }

/* ─────────────────── INLINE CTA — V4 REDESIGN ─────────────────── */
.tg-inline-cta {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0;
  background: linear-gradient(110deg, var(--tg-navy) 0%, var(--tg-navy-2) 100%) !important;
  border: none !important;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.tg-inline-cta::before {
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse at 90% 50%, rgba(201,155,66,.12), transparent 55%);
  pointer-events:none;
}
.tg-inline-cta > div {
  padding: 28px 28px 28px 20px;
  position: relative;
  z-index: 1;
}
.tg-inline-cta strong {
  display: block;
  color: #fff;
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 950;
  margin-bottom: 8px;
  line-height: 1.65;
}
.tg-inline-cta p {
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.9;
  margin: 0;
}
.tg-inline-cta .tg-eyebrow { color: var(--tg-gold-2); margin-bottom: 8px; }
.tg-inline-cta .tg-eyebrow::before { background: var(--tg-gold-2); }
.tg-inline-cta a {
  position: relative;
  z-index: 1;
  margin: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  min-width: 140px;
  border-radius: 999px;
  padding: 12px 22px;
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827 !important;
  text-decoration: none !important;
  font-weight: 950;
  white-space: nowrap;
  font-size: 13.5px;
  box-shadow: var(--tg-shadow-gold);
  transition: transform .2s var(--tg-ease), box-shadow .2s var(--tg-ease);
}
.tg-inline-cta a:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 16px 38px rgba(201,155,66,.30);
}

/* ─────────────────── PRE-FOOTER CTA ─────────────────── */
.tg-prefooter-cta {
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  background: linear-gradient(120deg, var(--tg-navy), var(--tg-navy-deep)) !important;
  border: none !important;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(7,22,38,.18) !important;
}
.tg-prefooter-cta::before {
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse at 10% 50%, rgba(201,155,66,.10), transparent 50%),
              radial-gradient(ellipse at 90% 20%, rgba(35,100,166,.10), transparent 40%);
  pointer-events:none;
}
.tg-prefooter-cta h2 {
  color: #fff;
  position: relative;
  z-index: 1;
}
.tg-prefooter-cta p {
  color: rgba(255,255,255,.72);
  position: relative;
  z-index: 1;
}
.tg-prefooter-cta .tg-eyebrow { color: var(--tg-gold-2); }
.tg-prefooter-cta .tg-eyebrow::before { background: var(--tg-gold-2); }
.tg-prefooter-cta a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  min-width: 170px;
  border-radius: 999px;
  padding: 13px 26px;
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827 !important;
  text-decoration: none !important;
  font-weight: 950;
  white-space: nowrap;
  font-size: 14px;
  letter-spacing: .02em;
  box-shadow: var(--tg-shadow-gold);
  transition: transform .2s var(--tg-ease), box-shadow .2s var(--tg-ease);
  animation: tg-pulse-ring 2.8s ease-out infinite;
}
.tg-prefooter-cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(201,155,66,.35);
}

/* ─────────────────── FLOATING ACTIONS — RTL FIX ─────────────────── */
/*
  V4: moved to RIGHT side (correct for RTL/Persian UX)
  entrance animation added
*/
.tg-floating-actions {
  position: fixed;
  right: 20px;   /* ← RTL fix: was left:20px in V3 */
  bottom: 24px;
  z-index: 99990;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  font-family: var(--tg-font-primary);
  animation: tg-bounce-in .5s var(--tg-ease) .4s both;
}
.tg-floating-call {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 190px;
  min-height: 60px;
  padding: 10px 14px;
  background: rgba(7,22,38,.96);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(7,22,38,.26);
  text-decoration: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: transform .2s var(--tg-ease), box-shadow .2s var(--tg-ease);
}
.tg-floating-call:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 56px rgba(7,22,38,.32);
}
.tg-floating-call__icon {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  font-size: 16px;
  flex: 0 0 auto;
  animation: tg-pulse-ring 2.4s ease-out infinite;
}
.tg-floating-call strong { display:block; font-size:13px; line-height:1.45; }
.tg-floating-call small { display:block; color:rgba(255,255,255,.72); font-size:11.5px; line-height:1.5; }
.tg-floating-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--tg-line);
  box-shadow: var(--tg-shadow-sm);
  color: var(--tg-green) !important;
  text-decoration: none !important;
  font-size: 12.5px;
  font-weight: 900;
  gap: 6px;
  backdrop-filter: blur(8px);
  transition: transform .18s var(--tg-ease), box-shadow .18s var(--tg-ease);
}
.tg-floating-whatsapp:hover {
  transform: translateY(-1px);
  box-shadow: var(--tg-shadow-md);
}

.tg-floating-actions.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .24s, transform .24s;
}

/* Mobile callbar — hidden on desktop */
.tg-mobile-callbar { display: none; }

/* ─────────────────── FOOTER POLISH ─────────────────── */
body.tg-authority-call :where(.elementor-location-footer, footer.site-footer) {
  position: relative;
  overflow: hidden;
}
body.tg-authority-call .elementor-location-footer::before,
body.tg-authority-call footer.site-footer::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(circle at 20% 30%, rgba(201,155,66,.08), transparent 38%);
}

/* ─────────────────── REVEAL SYSTEM ─────────────────── */
.tg-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .55s var(--tg-ease), transform .55s var(--tg-ease);
}
.tg-reveal.is-visible { opacity: 1; transform: none; }

/* Feedback toast */
.tg-copy-feedback {
  position: fixed;
  right: 20px; bottom: 20px;
  z-index: 999999;
  background: var(--tg-navy);
  color: #fff;
  padding: 12px 18px;
  border-radius: 14px;
  box-shadow: var(--tg-shadow-md);
  opacity: 0;
  transform: translateY(12px);
  transition: .24s var(--tg-ease);
  font-family: var(--tg-font-primary);
  font-weight: 850;
  font-size: 13px;
  border: 1px solid rgba(255,255,255,.10);
}
.tg-copy-feedback.show { opacity: 1; transform: none; }

/* ─────────────────── STICKY-FRIENDLY HELPER ─────────────────── */
/*
  V4 FIX: In V3, makeStickyFriendly() set overflow:visible on parents
  which could break Elementor containers. We now only whitelist
  containers that actually need it via a data-attribute approach.
  The sticky rail needs its container chain to NOT have overflow:hidden.
  We use the .tg-sticky-ok class (set by JS) instead of inline styles.
*/
.tg-sticky-ok { overflow: visible !important; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   Desktop:  > 1220px  — 2-column grid, full rail
   Laptop:   961–1220px — narrower rail, smaller gap
   Tablet:   769–960px — block layout, 2-col rail cards
   Mobile:   ≤ 768px   — hidden rail, mobile callbar
═══════════════════════════════════════════════════════ */

/* LAPTOP — V4 adds this breakpoint (missing in V3) */
@media (max-width: 1220px) {
  .tg-article-layout {
    grid-template-columns: minmax(0, 1fr) 268px;
    gap: 32px;
    width: min(calc(100% - 36px), 1100px);
  }
  .tg-authority-panel { grid-template-columns: 1fr .9fr; }
}

/* TABLET — collapse to block, show rail as horizontal grid */
@media (max-width: 960px) {
  .tg-article-layout {
    display: block;
    width: min(calc(100% - 34px), 860px);
    margin-top: 22px;
  }
  .tg-article-rail {
    position: relative;
    top: auto;
    margin-bottom: 30px;
  }
  .tg-article-rail__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .tg-rail-card--toc { grid-column: 1 / -1; }
  .tg-rail-card--links { display: none; }
  .tg-floating-actions { display: none; }
  /* Show mobile callbar on tablet too */
  .tg-mobile-callbar {
    position: fixed;
    right: 12px; left: 12px;
    bottom: 12px;
    z-index: 99990;
    display: grid;
    grid-template-columns: 1.5fr .9fr;
    gap: 8px;
    padding: 8px;
    background: rgba(255,255,255,.97);
    border: 1px solid var(--tg-line);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(16,36,63,.16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    font-family: var(--tg-font-primary);
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .tg-trust-strip__inner {
    min-height: 38px;
    font-size: 11.5px;
    gap: 8px;
    width: min(calc(100% - 20px), 100%);
  }
  .tg-trust-strip__inner > span:not(.tg-trust-strip__badge) { display: none; }

  .tg-authority-panel {
    grid-template-columns: 1fr;
    width: min(calc(100% - 24px), 100%);
    margin: 24px auto;
  }
  .tg-authority-panel__main { padding: 22px; border-radius: 20px; }
  .tg-authority-panel__side { padding: 22px; border-radius: 20px; }
  .tg-proof-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  .tg-article-layout { width: min(calc(100% - 26px), 100%); }
  .tg-article-rail { display: none; }

  body.tg-authority-call.single-post :where(
    .entry-content p,.page-content p,.elementor-widget-theme-post-content p
  ) {
    font-size: 16.2px !important;
    line-height: 2.04 !important;
  }
  body.tg-authority-call.single-post :where(
    .entry-content h2,.page-content h2,.elementor-widget-theme-post-content h2
  ) {
    font-size: 22px !important;
    margin-top: 46px !important;
  }
  body.tg-authority-call.single-post table { min-width: 560px; }

  .tg-inline-cta {
    display: block !important;
    padding: 0 !important;
    width: min(calc(100% - 24px), 100%);
  }
  .tg-inline-cta > div { padding: 22px 22px 0; }
  .tg-inline-cta a {
    margin: 16px 22px 22px !important;
    width: calc(100% - 44px) !important;
    min-width: unset !important;
    text-align: center;
  }

  .tg-prefooter-cta {
    display: block;
    width: min(calc(100% - 24px), 100%);
    padding: 26px;
  }
  .tg-prefooter-cta a { width: 100%; margin-top: 18px; min-width: unset; text-align: center; }
  .tg-prefooter-cta > div { position: relative; z-index: 1; }

  /* Mobile callbar V4 — enhanced */
  .tg-mobile-callbar {
    position: fixed;
    right: 12px; left: 12px;
    bottom: 12px;
    z-index: 99990;
    display: grid;
    grid-template-columns: 1.5fr .9fr;
    gap: 8px;
    padding: 8px;
    background: rgba(255,255,255,.97);
    border: 1px solid var(--tg-line);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(16,36,63,.16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    font-family: var(--tg-font-primary);
    animation: tg-bounce-in .45s var(--tg-ease) .3s both;
  }
  .tg-mobile-callbar a {
    min-height: 48px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    font-size: 13.5px;
    font-weight: 950;
    gap: 8px;
    letter-spacing: .01em;
  }
  .tg-mobile-callbar a:first-child {
    background: linear-gradient(135deg, var(--tg-navy-2), var(--tg-navy));
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(16,36,63,.20);
    animation: tg-pulse-ring 2.6s ease-out infinite;
  }
  .tg-mobile-callbar a:last-child {
    background: linear-gradient(135deg, #e8f7f2, #d6f0e8);
    color: var(--tg-green) !important;
    border: 1px solid rgba(47,107,87,.16);
  }
  .tg-mobile-callbar.is-hidden { transform: translateY(120%); opacity: 0; pointer-events: none; transition: .28s var(--tg-ease); }

  .tg-floating-actions { display: none; }
}

/* ─────────────────── SMALL MOBILE ─────────────────── */
@media (max-width: 380px) {
  .tg-mobile-callbar { right: 8px; left: 8px; bottom: 8px; }
  .tg-mobile-callbar a { font-size: 12.5px; min-height: 44px; }
  .tg-proof-grid { grid-template-columns: 1fr; }
}


/* ─────────────────── V4.2 CRITICAL LAYOUT PATCH ───────────────────
   Why: On the target article, grid auto-placement could put the article
   content in the narrow column or let the sidebar become article-width.
   V4.2 replaces the article wrapper layout with deterministic flex:
   - content on the right for Persian RTL readers
   - trust rail on the left
   - real laptop breakpoint
   - no sidebar on mobile
-------------------------------------------------------------------- */

.tg-article-layout {
  direction: ltr !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: clamp(32px, 4vw, 64px) !important;
  width: min(1320px, calc(100% - 48px)) !important;
  max-width: 1320px !important;
  margin: 32px auto 88px !important;
  grid-template-columns: none !important;
}

.tg-article-layout > * {
  direction: rtl !important;
  min-width: 0 !important;
}

.tg-article-layout > .elementor-widget-theme-post-content,
.tg-article-layout > .entry-content,
.tg-article-layout > article,
.tg-article-layout > :not(.tg-article-rail) {
  flex: 0 1 880px !important;
  width: 100% !important;
  max-width: 880px !important;
  min-width: 0 !important;
  grid-column: auto !important;
  justify-self: auto !important;
}

.tg-article-layout > .elementor-widget-theme-post-content .elementor-widget-container,
.tg-article-layout > .entry-content,
.tg-article-layout > article :where(.entry-content,.page-content),
.tg-article-layout .elementor-widget-theme-post-content .elementor-widget-container {
  max-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
}

.tg-article-layout > .tg-article-rail {
  flex: 0 0 clamp(286px, 24vw, 334px) !important;
  width: clamp(286px, 24vw, 334px) !important;
  max-width: 334px !important;
  min-width: 286px !important;
  grid-column: auto !important;
  justify-self: auto !important;
  position: sticky !important;
  top: 108px !important;
  align-self: flex-start !important;
}
.admin-bar .tg-article-layout > .tg-article-rail { top: 140px !important; }

.tg-article-rail__inner {
  width: 100% !important;
  max-width: 100% !important;
}

/* Make the rail premium but compact enough to never steal article width. */
.tg-article-rail .tg-rail-card {
  padding: 18px !important;
  border-radius: 24px !important;
}
.tg-article-rail .tg-rail-card--toc {
  background: linear-gradient(180deg, #ffffff, #fbf8ef) !important;
}
.tg-article-rail .tg-rail-card--dark {
  background: linear-gradient(145deg, #102943, #071626) !important;
}
.tg-article-rail .tg-rail-toc a {
  font-size: 12.6px !important;
  line-height: 1.78 !important;
  padding: 8px 10px !important;
}
.tg-article-rail .tg-rail-toc a:nth-of-type(n+9) { display: none !important; }

/* Laptop: keep content large and rail stable. */
@media (min-width: 1101px) and (max-width: 1280px) {
  .tg-article-layout {
    width: min(1180px, calc(100% - 36px)) !important;
    gap: 34px !important;
  }
  .tg-article-layout > .elementor-widget-theme-post-content,
  .tg-article-layout > .entry-content,
  .tg-article-layout > article,
  .tg-article-layout > :not(.tg-article-rail) {
    flex-basis: min(100%, 820px) !important;
    max-width: 820px !important;
  }
  .tg-article-layout > .tg-article-rail {
    flex-basis: 292px !important;
    width: 292px !important;
    max-width: 292px !important;
    min-width: 292px !important;
  }
  .tg-article-rail .tg-rail-card { padding: 16px !important; border-radius: 22px !important; }
  .tg-article-rail .tg-rail-card--links { display: none !important; }
  .tg-article-rail .tg-rail-toc a:nth-of-type(n+7) { display: none !important; }
}

/* Small laptop / tablet landscape: still two columns until it becomes too tight. */
@media (min-width: 961px) and (max-width: 1100px) {
  .tg-article-layout {
    width: min(1048px, calc(100% - 28px)) !important;
    gap: 24px !important;
  }
  .tg-article-layout > .elementor-widget-theme-post-content,
  .tg-article-layout > .entry-content,
  .tg-article-layout > article,
  .tg-article-layout > :not(.tg-article-rail) {
    flex: 1 1 auto !important;
    max-width: none !important;
  }
  .tg-article-layout > .tg-article-rail {
    flex: 0 0 258px !important;
    width: 258px !important;
    min-width: 258px !important;
    max-width: 258px !important;
    top: 92px !important;
  }
  .tg-article-rail .tg-rail-card { padding: 14px !important; border-radius: 20px !important; }
  .tg-article-rail .tg-rail-card--proof p,
  .tg-article-rail .tg-rail-card--links { display: none !important; }
  .tg-article-rail .tg-rail-toc a:nth-of-type(n+6) { display: none !important; }
}

/* Tablet and mobile: no article-width rail. */
@media (max-width: 960px) {
  .tg-article-layout {
    display: block !important;
    width: min(880px, calc(100% - 30px)) !important;
    max-width: 880px !important;
    margin: 24px auto 76px !important;
  }
  .tg-article-layout > .elementor-widget-theme-post-content,
  .tg-article-layout > .entry-content,
  .tg-article-layout > article,
  .tg-article-layout > :not(.tg-article-rail) {
    max-width: 100% !important;
    width: 100% !important;
  }
  .tg-article-layout > .tg-article-rail {
    display: none !important;
  }
}

/* Stronger clamp against Elementor inline widths that make articles tiny. */
body.tg-authority-call.single-post .tg-article-layout :where(.elementor-element, .elementor-widget, .elementor-widget-container) {
  max-width: 100% !important;
}
body.tg-authority-call.single-post .tg-article-layout > .elementor-widget-theme-post-content {
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 1 !important;
}

/* Article text should feel premium and readable. */
body.tg-authority-call.single-post :where(
  .entry-content,
  .page-content,
  .elementor-widget-theme-post-content .elementor-widget-container
) {
  font-size: clamp(17px, 1.08vw, 18.5px) !important;
  line-height: 2.12 !important;
}

body.tg-authority-call.single-post :where(.entry-content h2,.page-content h2,.elementor-widget-theme-post-content h2) {
  font-size: clamp(24px, 1.95vw, 34px) !important;
  line-height: 1.72 !important;
}

/* FAQ visual fix on the target page. */
body.tg-authority-call.single-post :where(.schema-faq-question, details summary, .entry-content h3, .page-content h3, .elementor-widget-theme-post-content h3) {
  overflow-wrap: anywhere !important;
}

body.tg-authority-call.single-post :where(.schema-faq-question, details summary) {
  position: relative !important;
  padding-right: 18px !important;
}
body.tg-authority-call.single-post :where(.schema-faq-question, details summary)::before {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: .55em !important;
  width: 3px !important;
  height: 1.25em !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, var(--tg-gold), var(--tg-gold-2)) !important;
}

/* Avoid the floating UI covering content on mid-size screens. */
@media (min-width: 768px) {
  .tg-floating-actions { right: 22px !important; left: auto !important; bottom: 26px !important; }
}
@media (max-width: 1100px) {
  .tg-floating-actions { display: none !important; }
}

/* ─────────────────── V4.3 GLOBAL PAGE EXPERIENCE ───────────────────
   Extend the same premium Trust Global feel from articles to all pages.
   Safe for Hello Elementor: no template override, no mobile menu override.
-------------------------------------------------------------------- */
body.tg-authority-call.tg-page-experience {
  background:
    radial-gradient(circle at 90% 8%, rgba(201,155,66,.055), transparent 28%),
    radial-gradient(circle at 8% 40%, rgba(35,100,166,.035), transparent 30%),
    #fff;
}

body.tg-authority-call.tg-page-experience :where(.elementor-widget-heading h1, h1.elementor-heading-title) {
  color: var(--tg-ink) !important;
  font-size: clamp(32px, 4.2vw, 58px) !important;
  line-height: 1.42 !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
}

body.tg-authority-call.tg-page-experience :where(.elementor-widget-heading h2, .tg-page-heading) {
  color: var(--tg-ink) !important;
  font-size: clamp(25px, 2.6vw, 42px) !important;
  line-height: 1.55 !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
}

body.tg-authority-call.tg-page-experience :where(.elementor-widget-heading h3) {
  color: var(--tg-navy) !important;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  line-height: 1.68 !important;
  font-weight: 900 !important;
}

body.tg-authority-call.tg-page-experience :where(.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li) {
  color: var(--tg-text) !important;
  font-size: clamp(15.7px, 1.05vw, 17.6px) !important;
  line-height: 2.08 !important;
  font-weight: 450 !important;
}

body.tg-authority-call.tg-page-experience :where(.elementor-widget-text-editor strong, .elementor-widget-text-editor b) {
  color: var(--tg-ink) !important;
  font-weight: 900 !important;
}

/* Hero surface: gives pages brand depth without changing Elementor structure. */
body.tg-authority-call.tg-page-experience .tg-page-hero-surface {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
body.tg-authority-call.tg-page-experience .tg-page-hero-surface::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 84% 22%, rgba(201,155,66,.10), transparent 26%),
    radial-gradient(circle at 16% 78%, rgba(15,39,66,.07), transparent 28%);
  opacity: .9 !important;
}

/* Premium service cards for Persian business audience. */
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper) {
  position: relative !important;
  min-height: 100% !important;
  padding: clamp(22px, 2.2vw, 34px) !important;
  border: 1px solid rgba(16,36,63,.075) !important;
  border-radius: clamp(20px, 2vw, 30px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,254,.94)) !important;
  box-shadow: 0 16px 44px rgba(16,36,63,.075) !important;
  overflow: hidden !important;
  transition: transform .22s var(--tg-ease), box-shadow .22s var(--tg-ease), border-color .22s var(--tg-ease) !important;
}
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper)::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg, var(--tg-gold), rgba(201,155,66,0)) !important;
  opacity: .9 !important;
}
body.tg-authority-call.tg-page-experience .tg-service-card-widget:hover :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper) {
  transform: translateY(-4px) !important;
  border-color: rgba(201,155,66,.28) !important;
  box-shadow: 0 24px 64px rgba(16,36,63,.12) !important;
}
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon, .elementor-image-box-img img) {
  filter: drop-shadow(0 10px 22px rgba(16,36,63,.10));
}
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-title, .elementor-image-box-title) {
  color: var(--tg-ink) !important;
  font-weight: 950 !important;
  line-height: 1.6 !important;
}
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-description, .elementor-image-box-description) {
  color: var(--tg-muted) !important;
  line-height: 2 !important;
  font-weight: 520 !important;
}

/* Buttons: call-first, legal premium. */
body.tg-authority-call.tg-page-experience :where(.elementor-button, .wp-block-button__link, button[type="submit"], input[type="submit"]) {
  min-height: 50px !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  box-shadow: 0 12px 32px rgba(16,36,63,.11) !important;
}
body.tg-authority-call.tg-page-experience :where(.elementor-button:hover, .wp-block-button__link:hover, button[type="submit"]:hover, input[type="submit"]:hover) {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 44px rgba(16,36,63,.16) !important;
}

/* Form panels: more trust, less generic WordPress form. */
body.tg-authority-call.tg-page-experience .tg-form-panel,
body.tg-authority-call.tg-page-experience .tg-form-panel form,
body.tg-authority-call.tg-page-experience :where(.elementor-widget-form .elementor-form) {
  border-radius: 26px !important;
}
body.tg-authority-call.tg-page-experience .tg-form-panel :where(form, .wpforms-form, .gform_wrapper, .wpcf7-form, .elementor-form) {
  background: linear-gradient(180deg, #fff, var(--tg-cream)) !important;
  border: 1px solid var(--tg-line) !important;
  box-shadow: var(--tg-shadow-md) !important;
  padding: clamp(22px, 2.2vw, 34px) !important;
}
body.tg-authority-call.tg-page-experience :where(input, textarea, select, .elementor-field) {
  min-height: 48px !important;
  border-radius: 15px !important;
  border: 1px solid var(--tg-line-strong) !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--tg-ink) !important;
  font-family: var(--tg-font-primary) !important;
}
body.tg-authority-call.tg-page-experience :where(textarea) { min-height: 130px !important; }
body.tg-authority-call.tg-page-experience :where(input:focus, textarea:focus, select:focus, .elementor-field:focus) {
  border-color: var(--tg-gold) !important;
  box-shadow: 0 0 0 4px rgba(201,155,66,.12) !important;
  outline: none !important;
}

/* FAQ / Toggle / Accordion across pages. */
body.tg-authority-call.tg-page-experience :where(.elementor-accordion, .elementor-toggle, .tg-faq-premium) {
  border-radius: 24px !important;
}
body.tg-authority-call.tg-page-experience :where(.elementor-tab-title, .elementor-toggle-title) {
  color: var(--tg-ink) !important;
  font-weight: 900 !important;
  line-height: 1.8 !important;
}
body.tg-authority-call.tg-page-experience :where(.elementor-tab-content, .elementor-toggle .elementor-tab-content) {
  color: var(--tg-text) !important;
  line-height: 2.05 !important;
}

/* Posts/loops/archive cards should feel like premium editorial cards. */
body.tg-authority-call :where(.elementor-post, .e-loop-item, .elementor-posts .elementor-post) {
  border: 1px solid rgba(16,36,63,.075) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 12px 36px rgba(16,36,63,.07) !important;
}
body.tg-authority-call :where(.elementor-post__title a, .e-loop-item h2 a, .e-loop-item h3 a) {
  color: var(--tg-ink) !important;
  font-weight: 950 !important;
  line-height: 1.65 !important;
}
body.tg-authority-call :where(.elementor-post__excerpt, .elementor-post__excerpt p) {
  color: var(--tg-muted) !important;
  line-height: 1.95 !important;
}

/* Section rhythm: pages feel designed, not scattered. */
body.tg-authority-call.tg-page-experience :where(.tg-page-section-clean, .tg-page-section-soft) {
  position: relative !important;
}
body.tg-authority-call.tg-page-experience .tg-page-section-soft::before {
  content: "" !important;
  position: absolute !important;
  inset: 6% 0 auto 0 !important;
  height: 52% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(247,249,252,.72), rgba(255,255,255,0)) !important;
}

@media (max-width: 767px) {
  body.tg-authority-call.tg-page-experience :where(.elementor-widget-heading h1, h1.elementor-heading-title) {
    font-size: 30px !important;
    line-height: 1.55 !important;
  }
  body.tg-authority-call.tg-page-experience :where(.elementor-widget-heading h2, .tg-page-heading) {
    font-size: 23px !important;
    line-height: 1.65 !important;
  }
  body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper) {
    padding: 20px !important;
    border-radius: 22px !important;
  }
  body.tg-authority-call.tg-page-experience .tg-form-panel :where(form, .wpforms-form, .gform_wrapper, .wpcf7-form, .elementor-form) {
    padding: 20px !important;
  }
}


/* ─────────────────── V4.4 GLOBAL UNIFICATION LAYER ───────────────────
   هدف: یکسان‌سازی تایپوگرافی و عرض استاندارد برگه‌ها با تجربه بلاگ.
   Scope: all Elementor pages, service pages, home, archive cards and forms.
   Safe: header/mobile menu/footer are protected from heavy layout overrides.
-------------------------------------------------------------------- */

:root {
  --tg-page-container: 1240px;
  --tg-page-container-wide: 1320px;
  --tg-page-content: 820px;
  --tg-page-gutter: clamp(18px, 3vw, 48px);
}

/* Body-level typography consistency */
body.tg-authority-call,
body.tg-authority-call :where(input, button, textarea, select),
body.tg-authority-call :where(.elementor-heading-title, .elementor-widget-text-editor, .elementor-button, .elementor-nav-menu a) {
  font-family: var(--tg-font-primary) !important;
}

/* Standardize page containers. Excludes header/footer to avoid menu breakage. */
body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.e-con-inner, .elementor-container) {
  max-width: min(var(--tg-page-container), calc(100vw - (var(--tg-page-gutter) * 2))) !important;
  width: 100% !important;
  margin-inline: auto !important;
}

body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.tg-sticky-ok, .tg-page-hero-surface, .tg-page-section-soft, .tg-page-section-clean) {
  overflow: visible !important;
}

/* On service pages, prevent the content from looking narrow/tiny. */
body.tg-authority-call:not(.single-post) :where(.elementor-widget-text-editor, .elementor-widget-theme-post-content, .elementor-widget-container) {
  max-width: 100%;
}

body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-text-editor p, .elementor-widget-text-editor li, .elementor-widget-theme-post-content p) {
  color: var(--tg-text) !important;
  font-size: clamp(16.5px, 1.04vw, 18px) !important;
  line-height: 2.12 !important;
  font-weight: 450 !important;
  letter-spacing: -.006em !important;
}

/* Unified heading system for pages + home */
body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(h1, .elementor-widget-heading h1, h1.elementor-heading-title) {
  color: var(--tg-ink) !important;
  font-size: clamp(34px, 4.1vw, 62px) !important;
  line-height: 1.38 !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
}

body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(h2, .elementor-widget-heading h2, h2.elementor-heading-title) {
  color: var(--tg-ink) !important;
  font-size: clamp(25px, 2.35vw, 42px) !important;
  line-height: 1.55 !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
}

body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(h3, .elementor-widget-heading h3, h3.elementor-heading-title) {
  color: var(--tg-navy) !important;
  font-size: clamp(20px, 1.55vw, 29px) !important;
  line-height: 1.68 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}

/* Brand-color accents: elegant, not noisy */
body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-heading h2, .elementor-widget-heading h3).tg-page-heading {
  position: relative !important;
}

body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) .tg-page-heading::before {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  margin-left: 9px !important;
  border-radius: 50% !important;
  background: var(--tg-gold) !important;
  box-shadow: 0 0 0 5px rgba(201,155,66,.13) !important;
  vertical-align: .17em !important;
}

/* Wider desktop sections */
@media (min-width: 1360px) {
  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) .tg-page-wide :where(.e-con-inner, .elementor-container),
  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-section, .e-con):has(.tg-service-card-widget) :where(.e-con-inner, .elementor-container) {
    max-width: min(var(--tg-page-container-wide), calc(100vw - 72px)) !important;
  }
}

/* Hero consistency across pages */
body.tg-authority-call.tg-page-experience :where(main, .site-main, .elementor-location-single) .tg-page-hero-surface {
  border-radius: 0 0 clamp(26px, 4vw, 54px) clamp(26px, 4vw, 54px) !important;
  background:
    radial-gradient(circle at 82% 16%, rgba(201,155,66,.12), transparent 28%),
    radial-gradient(circle at 15% 78%, rgba(35,100,166,.08), transparent 30%),
    linear-gradient(180deg, #fff 0%, #f8fbff 100%) !important;
}

/* Service cards: apply to Elementor icon/image boxes even if JS class missed. */
body.tg-authority-call.tg-page-experience :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-icon-box, .elementor-widget-image-box):not(.elementor-location-header *) :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper),
body.tg-authority-call.tg-page-experience .tg-service-card-widget :where(.elementor-icon-box-wrapper, .elementor-image-box-wrapper) {
  min-height: 100% !important;
  padding: clamp(22px, 2.1vw, 34px) !important;
  border: 1px solid rgba(16,36,63,.075) !important;
  border-radius: clamp(20px, 1.9vw, 30px) !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(201,155,66,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,254,.95)) !important;
  box-shadow: 0 16px 44px rgba(16,36,63,.075) !important;
  overflow: hidden !important;
}

body.tg-authority-call.tg-page-experience :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-icon-box, .elementor-widget-image-box):not(.elementor-location-header *) :where(.elementor-icon-box-title, .elementor-image-box-title) {
  color: var(--tg-ink) !important;
  font-weight: 950 !important;
  line-height: 1.65 !important;
}

body.tg-authority-call.tg-page-experience :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-icon-box, .elementor-widget-image-box):not(.elementor-location-header *) :where(.elementor-icon-box-description, .elementor-image-box-description) {
  color: var(--tg-muted) !important;
  line-height: 2.02 !important;
  font-weight: 500 !important;
}

/* Forms and lead capture: consistent with blog CTA trust style */
body.tg-authority-call.tg-page-experience :where(.elementor-widget-form .elementor-form, .wpcf7-form, .wpforms-form, .gform_wrapper, .fluentform) {
  background:
    radial-gradient(circle at 90% 8%, rgba(201,155,66,.08), transparent 28%),
    linear-gradient(180deg, #fff, var(--tg-cream)) !important;
  border: 1px solid var(--tg-line) !important;
  border-radius: 26px !important;
  box-shadow: var(--tg-shadow-md) !important;
  padding: clamp(22px, 2.2vw, 34px) !important;
}

/* Buttons across all pages */
body.tg-authority-call :where(main, .site-main, .elementor-location-single) :where(.elementor-button, .wp-block-button__link, button[type="submit"], input[type="submit"]) {
  min-height: 50px !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  padding-inline: clamp(22px, 2vw, 34px) !important;
  box-shadow: 0 12px 32px rgba(16,36,63,.11) !important;
}

/* Make tel/contact buttons more premium where Elementor background is weak */
body.tg-authority-call :where(main, .site-main, .elementor-location-single) a[href^="tel:"].elementor-button,
body.tg-authority-call :where(main, .site-main, .elementor-location-single) .elementor-button[href^="tel:"] {
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold)) !important;
  color: #101827 !important;
  border: 0 !important;
}

/* FAQ/toggle unified across pages */
body.tg-authority-call.tg-page-experience :where(.elementor-accordion .elementor-accordion-item, .elementor-toggle .elementor-toggle-item, .rank-math-list-item, .schema-faq-section) {
  border: 1px solid rgba(16,36,63,.075) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(16,36,63,.055) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
}

body.tg-authority-call.tg-page-experience :where(.elementor-tab-title, .elementor-toggle-title, .schema-faq-question) {
  color: var(--tg-ink) !important;
  font-weight: 930 !important;
  line-height: 1.8 !important;
}

/* Archive/blog cards consistency */
body.tg-authority-call :where(.elementor-post, .e-loop-item, .elementor-posts .elementor-post) {
  border: 1px solid rgba(16,36,63,.075) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(201,155,66,.055), transparent 30%),
    #fff !important;
  box-shadow: 0 12px 36px rgba(16,36,63,.07) !important;
}

/* Desktop content width fix for pages that Elementor made too narrow */
@media (min-width: 1025px) {
  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-text-editor, .elementor-widget-heading, .elementor-widget-button, .elementor-widget-form) {
    width: 100% !important;
  }

  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-column, .e-con) {
    min-width: 0 !important;
  }
}

@media (max-width: 1024px) {
  :root {
    --tg-page-gutter: 22px;
  }

  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.e-con-inner, .elementor-container) {
    max-width: calc(100vw - 32px) !important;
  }

  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(h1, .elementor-widget-heading h1, h1.elementor-heading-title) {
    font-size: clamp(30px, 5vw, 44px) !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.e-con-inner, .elementor-container) {
    max-width: calc(100vw - 24px) !important;
  }

  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.elementor-widget-text-editor p, .elementor-widget-text-editor li) {
    font-size: 16px !important;
    line-height: 2.05 !important;
  }

  body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(h2, .elementor-widget-heading h2, h2.elementor-heading-title) {
    font-size: 23px !important;
    line-height: 1.65 !important;
  }

  body.tg-authority-call.tg-page-experience :where(.elementor-widget-form .elementor-form, .wpcf7-form, .wpforms-form, .gform_wrapper, .fluentform) {
    padding: 20px !important;
    border-radius: 22px !important;
  }
}


/* ─────────────────── V4.7 GROWTH SYSTEM ───────────────────
   CRO + technical fixes + safer Elementor behavior.
-------------------------------------------------------------------- */

/* Page class now has a real global typography layer. */
body.tg-authority-call.tg-global-typography {
  font-family: var(--tg-font-primary) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Used tokens/keyframes from previous architecture. */
body.tg-authority-call .tg-reveal.is-visible {
  animation: tg-fade-up .42s var(--tg-ease) both;
}

/* Safer sticky helper: only explicit helper classes get unclipped. */
body.tg-authority-call .tg-sticky-ok {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* Header CTA after scroll. */
.tg-header-cta {
  position: fixed;
  top: 74px;
  right: 22px;
  z-index: 9996;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827 !important;
  font-family: var(--tg-font-primary);
  font-size: 13px;
  font-weight: 950;
  text-decoration: none !important;
  box-shadow: 0 14px 34px var(--tg-gold-glow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px) scale(.98);
  transition: opacity .22s var(--tg-ease), transform .22s var(--tg-ease), box-shadow .22s var(--tg-ease);
}
body.tg-scrolled .tg-header-cta {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.tg-header-cta:hover {
  box-shadow: 0 18px 42px rgba(201,155,66,.30);
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .tg-header-cta { display: none !important; }
}

/* Exit intent capture. */
.tg-exit-capture {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  direction: rtl;
  font-family: var(--tg-font-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s var(--tg-ease);
}
.tg-exit-capture.is-active {
  opacity: 1;
  pointer-events: auto;
}
.tg-exit-capture__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 14, 28, .58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.tg-exit-capture__panel {
  position: relative;
  width: min(560px, calc(100% - 28px));
  border-radius: 30px;
  padding: clamp(24px, 3vw, 38px);
  background:
    radial-gradient(circle at 86% 10%, rgba(201,155,66,.14), transparent 28%),
    linear-gradient(180deg, #fff, var(--tg-cream));
  border: 1px solid rgba(255,255,255,.60);
  box-shadow: 0 30px 90px rgba(3, 10, 20, .30);
  transform: translateY(18px) scale(.98);
  transition: transform .25s var(--tg-ease-spring);
}
.tg-exit-capture.is-active .tg-exit-capture__panel {
  transform: none;
}
.tg-exit-capture__close {
  position: absolute;
  top: 14px;
  left: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(16,36,63,.08);
  color: var(--tg-ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.tg-exit-capture h2 {
  color: var(--tg-ink);
  margin: 0 0 10px;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.55;
  font-weight: 950;
}
.tg-exit-capture p {
  color: var(--tg-muted);
  margin: 0 0 18px;
  line-height: 2.02;
  font-size: 14.5px;
}
.tg-exit-capture__form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 18px;
}
.tg-exit-capture__form label {
  display: grid;
  gap: 6px;
  color: var(--tg-muted);
  font-size: 12px;
  font-weight: 850;
}
.tg-exit-capture__form input {
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid var(--tg-line-strong);
  background: #fff;
  padding: 9px 12px;
  color: var(--tg-ink);
  font-family: var(--tg-font-primary);
}
.tg-exit-capture__form button {
  min-height: 46px;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(180deg, var(--tg-gold-2), var(--tg-gold));
  color: #101827;
  font-family: var(--tg-font-primary);
  font-weight: 950;
  padding: 10px 18px;
  cursor: pointer;
}
.tg-exit-capture__form.is-sent {
  opacity: .55;
  pointer-events: none;
}
.tg-exit-capture__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.tg-exit-capture__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--tg-line);
  color: var(--tg-navy) !important;
  background: rgba(255,255,255,.72);
  text-decoration: none !important;
  font-size: 12.5px;
  font-weight: 900;
}
.tg-exit-capture__status {
  color: var(--tg-green);
  margin-top: 12px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .tg-exit-capture__form {
    grid-template-columns: 1fr;
  }
}

/* Mobile callbar dismiss. */
.tg-mobile-callbar {
  padding-left: 38px !important;
}
.tg-mobile-callbar.is-dismissed {
  display: none !important;
}
.tg-mobile-callbar__dismiss {
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: rgba(16,36,63,.08);
  color: var(--tg-muted);
  font-size: 20px;
  line-height: 1;
  z-index: 3;
}

/* More precise page section overflow behavior. */
body.tg-authority-call:not(.single-post) :where(main, .site-main, .elementor-location-single) :where(.tg-page-hero-surface, .tg-page-section-soft, .tg-page-section-clean) {
  overflow: visible;
}

/* Page-specific classes can be targeted later: examples kept intentionally empty but valid. */
body.tg-authority-call[class*="tg-page-"] {
  --tg-page-class-active: 1;
}


/* ─────────────────── V4.9 REVEAL SAFETY + WHATSAPP HANDOFF ─────────────────── */
body.tg-authority-call .tg-reveal:not(.is-visible) {
  animation: none !important;
}
body.tg-authority-call .tg-reveal.is-visible {
  animation: tg-fade-up .42s var(--tg-ease) both;
}
.tg-exit-capture__whatsapp {
  display: none;
  margin-top: 12px;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.tg-exit-capture__whatsapp.is-visible {
  display: flex;
}
.tg-exit-capture__whatsapp span {
  color: var(--tg-muted);
  font-size: 12.8px;
  line-height: 1.85;
  font-weight: 760;
}
.tg-exit-capture__whatsapp a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border-radius: 999px;
  background: #25d366;
  color: #062b14 !important;
  text-decoration: none !important;
  font-family: var(--tg-font-primary);
  font-size: 13px;
  font-weight: 950;
}


/* ─────────────────── V5.0 DETACHED ARTICLE RAIL ───────────────────
   هدف: سایدبار مقاله نباید فضای متن را اشغال کند.
   راه‌حل: سایدبار از جریان layout خارج شده و در فضای خالی سمت چپ
   مقاله قرار می‌گیرد. محتوا عرض مستقل و خوانایی ثابت دارد.
-------------------------------------------------------------------- */

/* If an old wrapper exists because of cache, neutralize width stealing. */
body.tg-authority-call.single-post .tg-article-layout {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  gap: 0 !important;
}

body.tg-authority-call.single-post .tg-article-layout > :not(.tg-article-rail) {
  max-width: none !important;
  width: auto !important;
  flex: none !important;
}

/* Article content owns its width. */
body.tg-authority-call.single-post :where(.elementor-widget-theme-post-content, .entry-content, article .entry-content) {
  width: min(760px, calc(100vw - 48px)) !important;
  max-width: min(760px, calc(100vw - 48px)) !important;
  margin-inline: auto !important;
  flex-basis: auto !important;
  --container-widget-width: min(760px, calc(100vw - 48px)) !important;
  --container-widget-flex-grow: 0 !important;
}

body.tg-authority-call.single-post :where(.elementor-widget-theme-post-content .elementor-widget-container, .entry-content, .page-content) {
  width: 100% !important;
  max-width: 100% !important;
}

/* Detached rail: fixed in whitespace, never in content flow. */
body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached {
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 30 !important;
  direction: rtl !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
  padding-left: 2px;
  display: block !important;
  transform: none !important;
  contain: layout style;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached.is-hidden-by-space {
  display: none !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-article-rail__inner {
  gap: 12px !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-card {
  padding: 16px !important;
  border-radius: 22px !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-card--links {
  display: none !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-card--proof p {
  font-size: 12.3px !important;
  line-height: 1.9 !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-toc a {
  font-size: 12.2px !important;
  line-height: 1.72 !important;
  padding: 7px 9px !important;
}

body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-toc a:nth-of-type(n+8) {
  display: none !important;
}

@media (min-width: 1440px) {
  body.tg-authority-call.single-post :where(.elementor-widget-theme-post-content, .entry-content, article .entry-content) {
    width: min(800px, calc(100vw - 80px)) !important;
    max-width: min(800px, calc(100vw - 80px)) !important;
    --container-widget-width: min(800px, calc(100vw - 80px)) !important;
  }

  body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-card {
    padding: 18px !important;
  }

  body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-rail-card--links {
    display: block !important;
  }
}

@media (max-width: 1179px) {
  body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached {
    display: none !important;
  }
  body.tg-authority-call.single-post :where(.elementor-widget-theme-post-content, .entry-content, article .entry-content) {
    width: min(760px, calc(100vw - 34px)) !important;
    max-width: min(760px, calc(100vw - 34px)) !important;
    --container-widget-width: min(760px, calc(100vw - 34px)) !important;
  }
}

@media (max-width: 767px) {
  body.tg-authority-call.single-post :where(.elementor-widget-theme-post-content, .entry-content, article .entry-content) {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
    --container-widget-width: min(100%, calc(100vw - 24px)) !important;
  }
}


/* ─────────────────── V5.1 FRONTEND WHATSAPP HANDOFF DISABLED ───────────────────
   لیدها در پیشخوان ذخیره می‌شوند و لینک واتساپ فقط برای تیم داخل جدول لیدهاست.
   کاربر بعد از ارسال فرم فقط پیام موفقیت را می‌بیند.
-------------------------------------------------------------------- */
.tg-exit-capture__whatsapp,
.tg-exit-capture__whatsapp.is-visible {
  display: none !important;
}


/* ─────────────────── V5.2 SIDEBAR SCROLLBAR + TOC DEDUPE ───────────────────
   هدف:
   1) حذف خط اسکرول مشکی کنار سایدبار شناور مقاله.
   2) جلوگیری از نمایش همزمان دو فهرست مطالب در دسکتاپ.
   منطق UX:
   - دسکتاپ: فهرست قالب در سایدبار نمایش داده شود، فهرست افزونه داخل متن مخفی شود.
   - موبایل/تبلت: سایدبار قالب مخفی است، پس فهرست افزونه داخل متن باقی بماند.
-------------------------------------------------------------------- */

/* Hide detached rail scrollbar while preserving internal scroll if rail becomes taller than viewport. */
body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
  border-left: 0 !important;
  box-shadow: none !important;
}
body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached::-webkit-scrollbar,
body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached *::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Keep card shadows, but don't show a separate vertical rail/scroll line. */
body.tg-authority-call.single-post .tg-article-rail.tg-rail-detached .tg-article-rail__inner {
  overflow: visible !important;
}

/* Desktop TOC dedupe:
   Keep the plugin active for mobile, but hide in-content TOC on desktop where our detached rail exists. */
@media (min-width: 1180px) {
  body.tg-authority-call.single-post.tg-article-rail-detached-mounted :where(
    #ez-toc-container,
    .ez-toc-container,
    .ez-toc-widget-container,
    .lwptoc,
    .lwptoc_container,
    .toc_container,
    .toc-list,
    .simpletoc,
    .rank-math-toc-block,
    .wp-block-rank-math-toc-block,
    .elementor-widget-table-of-contents,
    .elementor-widget-toc
  ) {
    display: none !important;
  }
}

/* Mobile/tablet safety: show plugin TOC because detached rail is hidden there. */
@media (max-width: 1179px) {
  body.tg-authority-call.single-post :where(
    #ez-toc-container,
    .ez-toc-container,
    .ez-toc-widget-container,
    .lwptoc,
    .lwptoc_container,
    .toc_container,
    .rank-math-toc-block,
    .wp-block-rank-math-toc-block,
    .elementor-widget-table-of-contents,
    .elementor-widget-toc
  ) {
    display: block;
  }
}


/* ─────────────────── V5.3 CTA + EXIT POPUP UX FIXES ───────────────────
   1) حذف دکمه بی‌جای CTA هدر از حالت پیشفرض
   2) اصلاح خوانایی CTA داخل مقاله
   3) کنترل بهتر فرم Exit Intent
-------------------------------------------------------------------- */

/* Header CTA should not appear unless explicitly enabled. Extra hard safety. */
body.tg-authority-call:not(.tg-force-header-cta) .tg-header-cta {
  display: none !important;
}

/* Inline article CTA readability fix */
body.tg-authority-call.single-post .tg-inline-cta {
  background:
    radial-gradient(circle at 88% 18%, rgba(201,155,66,.16), transparent 34%),
    linear-gradient(135deg, #071626 0%, #102943 55%, #153451 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 24px 64px rgba(7,22,38,.22) !important;
  color: #fff !important;
  min-height: 0 !important;
}

body.tg-authority-call.single-post .tg-inline-cta::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 42%),
    radial-gradient(circle at 12% 80%, rgba(201,155,66,.14), transparent 32%) !important;
}

body.tg-authority-call.single-post .tg-inline-cta strong {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.14);
}

body.tg-authority-call.single-post .tg-inline-cta p,
body.tg-authority-call.single-post .tg-inline-cta span,
body.tg-authority-call.single-post .tg-inline-cta .tg-eyebrow {
  color: rgba(255,255,255,.86) !important;
  opacity: 1 !important;
}

body.tg-authority-call.single-post .tg-inline-cta .tg-eyebrow {
  color: #e5c76d !important;
  font-weight: 950 !important;
}

body.tg-authority-call.single-post .tg-inline-cta a {
  background: linear-gradient(180deg, #e8ca72, #c99b42) !important;
  color: #101827 !important;
  opacity: 1 !important;
}

/* Exit popup: keep input layout stable when fields are disabled/enabled. */
.tg-exit-capture__form:has(label:nth-of-type(1):last-of-type) {
  grid-template-columns: 1fr auto;
}
@media (max-width: 767px) {
  .tg-exit-capture__form:has(label:nth-of-type(1):last-of-type) {
    grid-template-columns: 1fr;
  }
}
