.elementor-kit-7{--e-global-color-primary:#0095DA;--e-global-color-secondary:#16242F;--e-global-color-text:#111111;--e-global-color-accent:#007FC1;--e-global-typography-primary-font-family:"VazirMatn";font-feature-settings:"numr";--e-global-typography-primary-font-size:25px;--e-global-typography-primary-font-weight:900;--e-global-typography-primary-line-height:1.5em;--e-global-typography-secondary-font-family:"VazirMatn";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-family:"VazirMatn";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8em;--e-global-typography-accent-font-family:"VazirMatn";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.5em;background-color:#FFFFFF;color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 a:hover{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 h1{color:var( --e-global-color-accent );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-7 h2{color:var( --e-global-color-accent );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 img{border-radius:12px 12px 12px 12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1100px;}.e-con{--container-max-width:1100px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-7 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ---------- Design tokens ---------- */
:root {
  --brand: #009fe3;          /* primary sky blue */
  --brand-deep: #007bbd;     /* darker shade for hover/depth */
  --brand-darker: #005c92;
  --brand-tint: #e6f6fd;     /* soft tint background */
  --ink: #16242f;            /* near-charcoal text */
  --ink-soft: #44586a;       /* secondary text */
  --ink-faint: #6d8294;
  --surface: #ffffff;
  --bg: #eef5fa;             /* page base */
  --glass-bg: rgba(255, 255, 255, 0.55);
  --glass-bg-strong: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.65);
  --glass-shadow: 0 18px 50px -18px rgba(0, 92, 146, 0.35);
  --glass-shadow-sm: 0 10px 30px -14px rgba(0, 92, 146, 0.28);
  --radius-sm: 16px;
  --radius: 22px;
  --radius-lg: 28px;
  --maxw: 1180px;
  --ease: cubic-bezier(.21, .68, .26, .99);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "Vazirmatn", "Tahoma", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.85;
  overflow-x: hidden;
  font-feature-settings: "ss01";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3 { line-height: 1.4; margin: 0; font-weight: 800; letter-spacing: -0.01em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
.brand img, .intro img { display: block; max-width: 120px; margin-right: 15px; }
svg { display: block; max-width: 100%; }
.container {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: clamp(18px, 4vw, 40px);
}
/* ---------- Scroll-progress bar (brand color) ---------- */
.progress {
  position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 200;
  transform: scaleX(0); transform-origin: right; /* RTL: fills from right */
  background: linear-gradient(90deg, var(--brand-deep), var(--brand));
  will-change: transform;
}
/* ---------- Page intro (logo fade+scale, < 800ms, non-blocking) ---------- */
.intro {
  position: fixed; inset: 0; z-index: 300; display: grid; place-items: center;
  background: linear-gradient(180deg, #f3f9fd, #e7f3fb);
  animation: introOut .55s var(--ease) .45s forwards;
}
.intro__mark {
  width: 72px; height: 72px; border-radius: 20px; color: #fff;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 16px 34px -10px rgba(0,123,189,.7), inset 0 1px 0 rgba(255,255,255,.4);
  animation: introMark .6s var(--ease) both;
}
@keyframes introMark { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
@keyframes introOut { to { opacity: 0; visibility: hidden; } }
/* ---------- Animated aurora / gradient-mesh background ---------- */
.aurora {
  opacity: 0.8; position: fixed; inset: 0; z-index: -3; overflow: hidden;
  background: linear-gradient(180deg, #f3f9fd 0%, #e7f3fb 45%, #eef6fb 100%);
}
.aurora sphasan {
  position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; will-change: transform;
}
.aurora .a1 {
  width: 52vw; height: 52vw; top: -12vw; right: -8vw;
  background: radial-gradient(circle at 30% 30%, #58c6f373, #009fe357 60%, transparent 72%);
  animation: drift1 24s var(--ease) infinite alternate, hue 30s linear infinite;
}
.aurora .a2 {
  width: 46vw; height: 46vw; bottom: -16vw; left: -10vw;
      background: radial-gradient(circle at 60% 40%, #9bdcf7b0, #007bbda3 65%, transparent 75%);
  animation: drift2 28s var(--ease) infinite alternate, hue 36s linear infinite reverse;
}
.aurora .a3 {
  width: 34vw; height: 34vw; top: 28%; left: 38%; opacity: .4;
     background: radial-gradient(circle, #c7ecfb73, #38b3ee61 60%, transparent 72%);
  animation: drift3 32s var(--ease) infinite alternate;
}
@keyframes drift1 { from { transform: translate(0,0) scale(1); } to { transform: translate(-6vw, 5vw) scale(1.12); } }
@keyframes drift2 { from { transform: translate(0,0) scale(1); } to { transform: translate(7vw, -4vw) scale(1.1); } }
@keyframes drift3 { from { transform: translate(0,0) scale(1); } to { transform: translate(-4vw, -6vw) scale(1.15); } }
@keyframes hue { to { filter: blur(70px) hue-rotate(26deg); } }
/* drifting decorative glass orbs (parallax layer; JS moves the wrapper) */
.orbs { position: fixed; inset: 0; z-index: -2; pointer-events: none; will-change: transform; }
.orb {
  position: absolute; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.7), rgba(0,159,227,.18));
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: inset 0 0 20px rgba(255,255,255,.4);
  backdrop-filter: blur(2px);
}
.orb--1 { width: 90px; height: 90px; top: 22%; right: 12%; animation: float 14s var(--ease) infinite alternate; }
.orb--2 { width: 56px; height: 56px; top: 64%; right: 26%; animation: float 18s var(--ease) infinite alternate-reverse; }
.orb--3 { width: 120px; height: 120px; top: 48%; left: 8%; animation: float 22s var(--ease) infinite alternate; opacity: .8; }
.orb--4 { width: 40px; height: 40px; top: 14%; left: 30%; animation: float 16s var(--ease) infinite alternate-reverse; }
@keyframes float { from { transform: translateY(0) translateX(0); } to { transform: translateY(-26px) translateX(14px); } }
/* grain overlay */
.grain {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* cursor-follow spotlight (desktop only; toggled by JS) */
.spotlight {
  position: fixed; top: 0; left: 0; width: 460px; height: 460px; margin: -230px 0 0 -230px;
  z-index: -1; pointer-events: none; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,159,227,.16), transparent 62%);
  opacity: 0; transition: opacity .4s; will-change: transform;
}
body.has-spotlight .spotlight { opacity: 1; }
/* ---------- Glass primitives ---------- */
.glass {
  background: var(--glass-bg);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  border-radius: var(--radius);
  position: relative;
}
.glass::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(160deg, rgba(255,255,255,0.6), rgba(255,255,255,0) 40%);
  opacity: .7;
}
/* ---------- Buttons ---------- */
.btn {
  --bh: linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: inherit; font-weight: 700; font-size: 1.02rem;
  padding: 14px 26px; border: none; border-radius: 999px;
  color: #fff; background: var(--bh); cursor: pointer;
  position: relative; overflow: hidden; white-space: nowrap;
  box-shadow: 0 12px 26px -10px rgba(0, 123, 189, 0.65), inset 0 1px 0 rgba(255,255,255,0.35);
  transition: transform .3s var(--ease), box-shadow .35s var(--ease), filter .3s;
  will-change: transform;
}
.btn:hover { box-shadow: 0 22px 40px -12px rgba(0, 123, 189, 0.8), 0 0 0 4px rgba(0,159,227,.12), inset 0 1px 0 rgba(255,255,255,0.4); }
.btn:active { transform: translateY(1px) scale(.99); }
.btn::before {
  content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.55), transparent);
  transform: skewX(-20deg); transition: left .7s var(--ease);
}
.btn:hover::before { left: 130%; }
.btn--ghost {
  background: var(--glass-bg-strong); color: var(--brand-deep);
  border: 1px solid rgba(0, 159, 227, 0.35); box-shadow: var(--glass-shadow-sm);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.btn--ghost:hover { background: #fff; }
.btn--sm { padding: 10px 20px; font-size: .95rem; }
.btn--block { width: 100%; }
/* ---------- Navbar ---------- */
.nav { position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 100; transition: all .4s var(--ease); padding-block: 16px; }
.nav__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 10px 16px 10px 10px; border-radius: 999px;
  background: rgba(255,255,255,0.35); border: 1px solid rgba(255,255,255,0.5);
  backdrop-filter: blur(10px) saturate(150%); -webkit-backdrop-filter: blur(10px) saturate(150%);
  transition: all .4s var(--ease);
}
.nav.scrolled { padding-block: 10px; }
.nav.scrolled .nav__inner { background: rgba(255,255,255,0.65); box-shadow: var(--glass-shadow-sm); border-color: rgba(255,255,255,0.85); }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; font-size: 1.15rem; color: var(--ink); }
.brand__mark {
  width: 40px; height: 40px; border-radius: 12px; flex: none; display: grid; place-items: center; color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 6px 16px -6px rgba(0,123,189,.7), inset 0 1px 0 rgba(255,255,255,.4);
}
/* ---------- Hero ---------- */
.hero { padding-block: clamp(120px, 18vh, 180px) clamp(50px, 8vh, 90px); position: relative; }
.hero__grid { display: grid; gap: 38px; align-items: center; }
@media (min-width: 940px) { .hero__grid { grid-template-columns: 1.15fr 0.85fr; } }
.pill {
  display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; font-weight: 600; color: var(--brand-deep);
  background: rgba(255,255,255,0.6); border: 1px solid rgba(0,159,227,0.25);
  padding: 7px 16px; border-radius: 999px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  margin-bottom: 22px;
}
.pill .dot { width: 8px; height: 8px; border-radius: 50%; background: #18c08b; box-shadow: 0 0 0 0 rgba(24,192,139,.4); animation: ping 2s ease-out infinite; }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(24,192,139,.45); } 70%,100% { box-shadow: 0 0 0 10px rgba(24,192,139,0); } }
.hero__title { font-size: clamp(2rem, 5.2vw, 3.4rem); font-weight: 900; line-height: 1.34; color: var(--ink); margin-bottom: 20px; }
.line { display: block; overflow: hidden; padding-bottom: .08em; }
.line__in { display: inline-block; transform: translateY(115%); animation: lineUp .95s var(--ease) forwards; }
.line:nth-child(1) .line__in { animation-delay: .55s; }
.line:nth-child(2) .line__in { animation-delay: .72s; }
@keyframes lineUp { to { transform: translateY(0); } }
.hl { color: var(--brand-deep); position: relative; }
.uline {
  position: absolute; right: 0; bottom: -.02em; height: .14em; width: 100%; border-radius: 6px;
  background: linear-gradient(90deg, var(--brand), var(--brand-deep)); opacity: .5;
  transform: scaleX(0); transform-origin: right; animation: uline .8s var(--ease) 1.5s forwards;
}
@keyframes uline { to { transform: scaleX(1); } }
.hero__sub { font-size: clamp(1.02rem, 2.2vw, 1.22rem); color: var(--ink-soft); max-width: 56ch; margin-bottom: 30px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 30px; }
.hero__note { font-size: .92rem; color: var(--ink-faint); display: inline-flex; align-items: center; gap: 8px; }
/* load-in sequence helper */
.anim-in { opacity: 0; transform: translateY(22px); animation: fadeUp .8s var(--ease) forwards; }
.anim-in[data-delay="1"] { animation-delay: .9s; }
.anim-in[data-delay="2"] { animation-delay: 1.05s; }
.anim-in[data-delay="3"] { animation-delay: 1.2s; }
.anim-in[data-delay="4"] { animation-delay: 1.35s; }
@keyframes fadeUp { to { opacity: 1; transform: none; } }
.hero__card { padding: 30px; }
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.stat { text-align: center; }
.stat__num { font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 900; color: var(--brand-deep); line-height: 1.1; }
.stat__num .plus { font-size: .7em; }
.stat__label { font-size: .92rem; color: var(--ink-soft); margin-top: 4px; }
.stat__hint { display:block; font-size:.72rem; color: var(--ink-faint); margin-top:2px; }
.hero__card hr { border: none; border-top: 1px solid rgba(0,123,189,.14); margin: 24px 0; }
.destinations { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.chip { font-size: .9rem; font-weight: 600; color: var(--brand-deep); background: var(--brand-tint); padding: 7px 16px; border-radius: 999px; border: 1px solid rgba(0,159,227,.2); }
/* scroll-down indicator */
.scroll-cue { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; margin-top: 34px; color: var(--ink-faint); font-size: .82rem; }
.scroll-cue .mouse { width: 24px; height: 38px; border: 2px solid rgba(0,123,189,.4); border-radius: 14px; position: relative; }
.scroll-cue .mouse::after { content:""; position: absolute; top: 7px; left: 50%; width: 4px; height: 7px; border-radius: 3px; background: var(--brand-deep); transform: translateX(-50%); animation: wheel 1.6s ease infinite; }
@keyframes wheel { 0% { opacity: 0; transform: translate(-50%, 0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, 12px); } }
/* ---------- Section shell ---------- */
section { position: relative; }
.section { padding-block: clamp(56px, 9vh, 96px); }
.section__head { text-align: center; max-width: 60ch; margin-inline: auto; margin-bottom: 48px; }
.eyebrow { display: inline-block; font-size: .9rem; font-weight: 700; color: var(--brand-deep); letter-spacing: .02em; margin-bottom: 14px; padding: 5px 14px; border-radius: 999px; background: rgba(0,159,227,.1); }
h2 { font-size: clamp(1.55rem, 4vw, 2.3rem); color: var(--ink); }
.section__head p { color: var(--ink-soft); margin-top: 14px; font-size: 1.05rem; }
/* ---------- Problem list ---------- */
.problems { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .problems { grid-template-columns: 1fr 1fr; } }
@media (min-width: 640px) { .problem--wide { grid-column: 1 / -1; justify-content: center; } }
.problem { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--radius-sm); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.problem:hover { transform: translateY(-4px); box-shadow: 0 22px 46px -22px rgba(0,92,146,.4); }
.problem .ic {
  flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: var(--brand-deep);
  background: linear-gradient(135deg, rgba(0,159,227,.16), rgba(0,123,189,.08)); border: 1px solid rgba(0,159,227,.2);
}
.problem span { font-weight: 600; font-size: 1.06rem; }
.problem-summary { grid-column: 1 / -1; margin-top: 8px; padding: 24px 26px; border-radius: var(--radius); text-align: center; color: #ffffff; font-size: 1.08rem;     background: linear-gradient(140deg, var(--brand), var(--brand-deep)); border: 1px dashed rgba(0,159,227,.3); }
.problem-summary strong { color: #ffffff; font-weight: 800; }
/* ---------- Advantage cards ---------- */
.cards { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { padding: 28px 26px; }
.card .ic {
  width: 56px; height: 56px; border-radius: 16px; margin-bottom: 18px; display: grid; place-items: center; color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  box-shadow: 0 10px 20px -8px rgba(0,123,189,.7), inset 0 1px 0 rgba(255,255,255,.4);
}
.card h3 { font-size: 1.18rem; color: var(--ink); }
/* ---------- 3D tilt (JS-driven CSS vars) ---------- */
.tilt {
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));
  transition: transform .18s ease-out, box-shadow .4s var(--ease);
  transform-style: preserve-3d;
}
.tilt:hover { --lift: -6px; box-shadow: 0 30px 58px -22px rgba(0,92,146,.5); }
.tilt::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.55), transparent 45%);
  opacity: 0; transition: opacity .35s; z-index: 1;
}
.tilt:hover::before { opacity: .8; }
/* ---------- Animated SVG icons (draw-in on reveal) ---------- */
.anim-svg path, .anim-svg circle, .anim-svg line, .anim-svg polyline, .anim-svg rect {
  stroke-dasharray: 1000; stroke-dashoffset: 1000; transition: stroke-dashoffset 1s var(--ease);
}
.reveal.in .anim-svg path, .reveal.in .anim-svg circle, .reveal.in .anim-svg line,
.reveal.in .anim-svg polyline, .reveal.in .anim-svg rect { stroke-dashoffset: 0; }
/* ---------- Trust section ---------- */
.trust { display: grid; gap: 26px; align-items: center; }
@media (min-width: 900px) { .trust { grid-template-columns: 0.9fr 1.1fr; } }
.trust__visual { padding: 34px; min-height: 280px; display: grid; place-items: center; background: linear-gradient(150deg, rgba(0,159,227,.14), rgba(255,255,255,.6)); }
.trust__visual .badge {
  width: 130px; height: 130px; border-radius: 50%; display: grid; place-items: center; color: var(--brand-deep); background: var(--surface);
  box-shadow: 0 16px 40px -14px rgba(0,123,189,.55), inset 0 0 0 8px rgba(0,159,227,.08);
  animation: badgePulse 3.5s ease-in-out infinite;
}
@keyframes badgePulse { 0%,100% { box-shadow: 0 16px 40px -14px rgba(0,123,189,.55), inset 0 0 0 8px rgba(0,159,227,.08); } 50% { box-shadow: 0 22px 52px -14px rgba(0,123,189,.7), inset 0 0 0 8px rgba(0,159,227,.16); } }
.trust__body .t-item { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 22px; }
.trust__body .t-item:last-child { margin-bottom: 0; }
.trust__body .ic { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: var(--brand-deep); background: var(--brand-tint); border: 1px solid rgba(0,159,227,.22); }
.trust__body p { color: var(--ink-soft); font-size: 1.06rem; }
/* ---------- Final CTA + Form ---------- */
.cta-wrap { padding: clamp(28px, 4vw, 48px); overflow: hidden; }
.cta-grid { display: grid; gap: 34px; align-items: start; }
@media (min-width: 900px) { .cta-grid { grid-template-columns: 0.85fr 1.15fr; } }
.cta-copy h2 { margin-bottom: 16px; }
.cta-copy p { color: var(--ink-soft); font-size: 1.06rem; margin-bottom: 22px; }
.reassure { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.reassure li { list-style: none; display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 600; }
.reassure .ic { color: #18c08b; flex: none; }
/* Form + floating labels */
.form { display: grid; gap: 20px; }
.field { display: grid; gap: 8px; }
.field > label { font-weight: 700; font-size: .98rem; color: var(--ink); }
.field .req { color: var(--brand-deep); }
.float { position: relative; display: block; }
.float .input {
  width: 100%; font-family: inherit; font-size: 1rem; color: var(--ink);
  padding: 22px 16px 10px; border-radius: 14px;
  background: rgba(255,255,255,0.8); border: 1.5px solid rgba(0,123,189,.18);
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.float label {
  position: absolute; inset-inline-start: 16px; top: 15px; color: var(--ink-faint);
  font-size: 1rem; pointer-events: none; transform-origin: top right;
  transition: transform .2s var(--ease), color .2s, top .2s;
}
.float .input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(0,159,227,.16); background: #fff; }
.float .input:focus + label,
.float .input:not(:placeholder-shown) + label { top: 7px; transform: scale(.78); color: var(--brand-deep); }
.float .input[aria-invalid="true"] { border-color: #e0566a; box-shadow: 0 0 0 4px rgba(224,86,106,.14); }
.select { width: 100%; font-family: inherit; font-size: 1rem; color: var(--ink); padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,0.8); border: 1.5px solid rgba(0,123,189,.18); transition: border-color .25s, box-shadow .25s, background .25s; }
.select:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(0,159,227,.16); background: #fff; }
.err-msg { color: #d63a51; font-size: .86rem; min-height: 1em; display: none; }
.err-msg.show { display: block; }
.radio-row { display: flex; gap: 12px; flex-wrap: wrap; }
.radio { position: relative; flex: 1; min-width: 120px; }
.radio input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.radio span { display: block; text-align: center; padding: 13px; border-radius: 14px; background: rgba(255,255,255,0.75); border: 1.5px solid rgba(0,123,189,.18); font-weight: 700; cursor: pointer; transition: all .25s var(--ease); }
.radio input:checked + span { background: linear-gradient(135deg, var(--brand), var(--brand-deep)); color: #fff; border-color: transparent; box-shadow: 0 10px 22px -10px rgba(0,123,189,.7); }
.radio input:focus-visible + span { box-shadow: 0 0 0 4px rgba(0,159,227,.2); }
/* honeypot */
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-status { font-weight: 700; padding: 14px 16px; border-radius: 14px; display: none; align-items: center; gap: 10px; }
.form-status.show { display: flex; }
.form-status.ok { background: rgba(24,192,139,.12); color: #0f8f66; border: 1px solid rgba(24,192,139,.3); }
.form-status.bad { background: rgba(224,86,106,.1); color: #c23047; border: 1px solid rgba(224,86,106,.3); }
/* success checkmark draw-in */
.check { width: 26px; height: 26px; flex: none; }
.check circle { stroke: #18c08b; stroke-width: 2.5; fill: none; stroke-dasharray: 76; stroke-dashoffset: 76; }
.check path { stroke: #18c08b; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; }
.form-status.ok.show .check circle { animation: draw .5s var(--ease) forwards; }
.form-status.ok.show .check path { animation: draw .4s var(--ease) .35s forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.btn[aria-busy="true"] { pointer-events: none; opacity: .85; }
.spinner { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.45); border-top-color: #fff; animation: spin .7s linear infinite; display: none; }
.btn[aria-busy="true"] .spinner { display: inline-block; }
.btn[aria-busy="true"] .btn-label { opacity: .7; }
@keyframes spin { to { transform: rotate(360deg); } }
/* ---------- Footer ---------- */
footer { padding-block: 44px 30px; margin-top: 30px; }
.foot { display: flex; flex-wrap: wrap; gap: 22px; justify-content: space-between; align-items: center; padding: 26px 30px; border-radius: var(--radius); }
.foot__contact { color: var(--ink-soft); font-size: .96rem; display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.foot__contact a:hover { color: var(--brand-deep); }
.copy { width: 100%; text-align: center; color: var(--ink-faint); font-size: .88rem; margin-top: 22px; }
/* ---------- Floating mobile CTA ---------- */
.float-cta { position: fixed; inset-block-end: 18px; inset-inline: 16px; z-index: 90; display: none; }
.float-cta .btn { width: 100%; box-shadow: 0 16px 30px -8px rgba(0,123,189,.75); }
@media (max-width: 720px) { .float-cta { display: block; } }
/* ---------- Scroll reveal ---------- */
.reveal { opacity: 0; transform: translateY(30px) scale(.98); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.reveal[data-d="1"] { transition-delay: .08s; }
.reveal[data-d="2"] { transition-delay: .16s; }
.reveal[data-d="3"] { transition-delay: .24s; }
.reveal[data-d="4"] { transition-delay: .32s; }
.reveal[data-d="5"] { transition-delay: .4s; }
/* ---------- Reduced motion: disable non-essential motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
  .anim-in { opacity: 1; transform: none; animation: none; }
  .line__in { transform: none; animation: none; }
  .uline { transform: none; animation: none; }
  .intro { display: none; }
  .orbs, .spotlight { display: none; }
  .anim-svg path, .anim-svg circle, .anim-svg line, .anim-svg polyline, .anim-svg rect { stroke-dashoffset: 0; }
  .scroll-cue .mouse::after { animation: none; }
}




/* --- ۱) رَپرِ ویجت را خنثی کن تا خودش قرصِ گرادینت نشود --- */
.elementor-widget-button.btn {
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.elementor-widget-button.btn::before,
.elementor-widget-button.btn::after { content: none !important; }

/* --- ۲) استایل واقعی دکمه روی لینکِ داخل ویجت --- */
.elementor-widget-button.btn .elementor-button {
  --bh: linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: inherit; font-weight: 700; font-size: 1.02rem;
  padding: 14px 26px; border: none; border-radius: 999px;
  color: #fff; background: var(--bh); cursor: pointer;
  position: relative; overflow: hidden; white-space: nowrap;
  box-shadow: 0 12px 26px -10px rgba(0,123,189,.65), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .3s var(--ease), box-shadow .35s var(--ease), filter .3s;
  will-change: transform;
}
.elementor-widget-button.btn .elementor-button:hover {
  box-shadow: 0 22px 40px -12px rgba(0,123,189,.8), 0 0 0 4px rgba(0,159,227,.12), inset 0 1px 0 rgba(255,255,255,.4);
}
.elementor-widget-button.btn .elementor-button:active { transform: translateY(1px) scale(.99); }

/* متن و آیکون سفید */
.elementor-widget-button.btn .elementor-button-text,
.elementor-widget-button.btn .elementor-button-content-wrapper { color: #fff; }

/* --- ۳) شاینِ متحرک روی هاور --- */
.elementor-widget-button.btn .elementor-button::before {
  content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-20deg); transition: left .7s var(--ease); z-index: 0;
}
.elementor-widget-button.btn .elementor-button:hover::before { left: 130%; }
.elementor-widget-button.btn .elementor-button-content-wrapper { position: relative; z-index: 1; }

/* --- ۴) واریانت‌ها --- */
/* شیشه‌ای/روح */
.elementor-widget-button.btn--ghost .elementor-button {
  background: var(--glass-bg-strong); color: var(--brand-deep);
  border: 1px solid rgba(0,159,227,.35); box-shadow: var(--glass-shadow-sm);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.elementor-widget-button.btn--ghost .elementor-button:hover { background: #fff; }
.elementor-widget-button.btn--ghost .elementor-button-text,
.elementor-widget-button.btn--ghost .elementor-button-content-wrapper { color: var(--brand-deep); }

/* کوچک */
.elementor-widget-button.btn--sm .elementor-button { padding: 10px 20px; font-size: .95rem; }

/* تمام‌عرض */
.elementor-widget-button.btn--block .elementor-button { width: 100%; }




/* ---------- شمارنده (ویجت Counter) شبیه .stat ---------- */
.stat { text-align: center; }
.stat .elementor-counter-number-wrapper {
  font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 900;
  color: var(--brand-deep); line-height: 1.1;
}
.stat .elementor-counter-title {
  font-size: .92rem; color: var(--ink-soft); margin-top: 4px; font-weight: 600;
}

/* ---------- چیدمان گریدها ----------
   پیشوند .e-con باعث می‌شود این قوانین بر flex پیش‌فرضِ کانتینرِ المنتور بچربند.
   کانتینرهای دارای این کلاس‌ها باید روی حالت «Full Width» باشند تا فرزندانشان
   مستقیماً آیتم گرید شوند. */
.e-con.hero__grid { display: grid; gap: 38px; align-items: center; }
@media (min-width: 940px) { .e-con.hero__grid { grid-template-columns: 1.15fr .85fr; } }

.e-con.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }

.e-con.problems { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) {
  .e-con.problems { grid-template-columns: 1fr 1fr; }
  .problems .problem--wide { grid-column: 1 / -1; justify-content: center; }
}

.e-con.cards { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .e-con.cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .e-con.cards { grid-template-columns: repeat(3, 1fr); } }

.e-con.trust { display: grid; gap: 26px; align-items: center; }
@media (min-width: 900px) { .e-con.trust { grid-template-columns: .9fr 1.1fr; } }

.e-con.cta-grid { display: grid; gap: 34px; align-items: start; }
@media (min-width: 900px) { .e-con.cta-grid { grid-template-columns: .85fr 1.15fr; } }

/* کارت‌های داخل HTML widget که آیتم گرید هستند، عرض کامل سلول را بگیرند */
.problems > .elementor-widget-html,
.cards > .elementor-widget-html { display: flex; }
.problems > .elementor-widget-html > .problem,
.cards > .elementor-widget-html > .card { width: 100%; }

/* ---------- فرم (ویجت Elementor Forms داخل کارت شیشه‌ای) ---------- */
.lead-form-widget .elementor-field-group > label {
  font-weight: 700; color: var(--ink); margin-bottom: 6px;
}
.lead-form-widget input[type="text"],
.lead-form-widget input[type="tel"],
.lead-form-widget input[type="email"],
.lead-form-widget select,
.lead-form-widget textarea {
  width: 100%; font-family: inherit; font-size: 1rem; color: var(--ink);
  padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.8);
  border: 1.5px solid rgba(0,123,189,.18);
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.lead-form-widget input:focus,
.lead-form-widget select:focus,
.lead-form-widget textarea:focus {
  outline: none; border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(0,159,227,.16); background: #fff;
}
/* دکمه‌ی ارسال فرم مثل .btn */
.lead-form-widget .elementor-button {
  --bh: linear-gradient(135deg, var(--brand) 0%, var(--brand-deep) 100%);
  width: 100%; font-family: inherit; font-weight: 700; font-size: 1.02rem;
  padding: 14px 26px; border: none; border-radius: 999px; color: #fff; background: var(--bh);
  box-shadow: 0 12px 26px -10px rgba(0,123,189,.65), inset 0 1px 0 rgba(255,255,255,.35);
  transition: box-shadow .35s var(--ease), transform .3s var(--ease);
}
.lead-form-widget .elementor-button:hover {
  box-shadow: 0 22px 40px -12px rgba(0,123,189,.8), 0 0 0 4px rgba(0,159,227,.12);
}



/* --- سرآیندِ بخش‌ها --- */
.section__head { text-align: center; }
.section__head .eyebrow { margin-inline: auto; }           /* پیل وسط‌چین */
.section__head h2 .elementor-heading-title,
.section__head h2 { margin-top: 6px; }

/* eyebrow روی ویجت Heading: خودِ رَپر پیل می‌شود */
.eyebrow { display: inline-block; }

/* --- کارت مزیت: عنوان بومی --- */
.card .elementor-heading-title { font-size: 1.18rem; color: var(--ink); font-weight: 800; }

/* --- کارت مشکل: متن بومی --- */
.problem .elementor-heading-title {
  font-weight: 600; font-size: 1.06rem; color: var(--ink); line-height: 1.6;
}

/* --- اعتماد: متن آیتم‌ها بومی --- */
.trust__body .elementor-widget-text-editor p { color: var(--ink-soft); font-size: 1.06rem; }
.trust__body .eyebrow { display: inline-block; }

/* --- فراخوان: متن بومی --- */
.cta-copy .elementor-widget-text-editor p { color: var(--ink-soft); font-size: 1.06rem; }
.cta-copy .eyebrow { display: inline-block; }

/* --- خلاصه‌ی بخش مشکلات (Text widget با کلاس problem-summary) --- */
/*.problem-summary .elementor-widget-container { all: unset; }*/
.elementor-widget-text-editor.problem-summary .elementor-widget-container { padding: 0; margin: 0; }
.elementor-widget-text-editor.problem-summary .elementor-widget-container p { margin: 0; }

/* فاصله‌ی ویجت‌های بومی داخل ستون‌ها را صفر کن تا margin کلاس‌ها حاکم باشد */
.hero__card .elementor-widget:not(:last-child) { margin-bottom: 0; }

.anim-svg path, .anim-svg circle, .anim-svg line,
.anim-svg polyline, .anim-svg rect { stroke-dashoffset: 0 !important; }


.post-card {
  overflow: hidden; display: flex; flex-direction: column;
  border-radius: var(--radius);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.post-card:hover { transform: translateY(-6px); box-shadow: 0 30px 58px -22px rgba(0,92,146,.5); }

/* --- کاور (گرادینت + آیکون + بج دسته) --- */
.post-card__cover {
  position: relative; min-height: 180px;
  display: grid; place-items: center; color: #fff;
  background: linear-gradient(140deg, #6a8ff0, #3a4fb0);
}
/* اگر بعداً پس‌زمینه را داینامیک به تصویر شاخص وصل کردی، این باعث پوشش کامل می‌شود */
.post-card__cover { background-size: cover; background-position: center; }
.post-card__icon { position: relative; z-index: 1; }
.post-card__icon svg { width: 56px; height: 56px; filter: drop-shadow(0 8px 18px rgba(0,0,0,.25)); }

.post-card__cat {
  position: absolute; top: 14px; inset-inline-end: 14px; z-index: 2;
  font-size: .8rem; font-weight: 700; color: #fff;
  background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35);
  padding: 6px 14px; border-radius: 999px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.post-card__cat .elementor-heading-title { color: #fff; font-size: .8rem; font-weight: 700; }

/* --- بدنه --- */
.post-card__body { padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }

.post-card__title .elementor-heading-title { font-size: 1.12rem; line-height: 1.6; color: var(--ink); font-weight: 800; }
.post-card__title a { color: inherit; text-decoration: none; }
.post-card__title a:hover { color: var(--brand-deep); }

.post-card__excerpt, .post-card__excerpt p {
  color: var(--ink-soft); font-size: .98rem; line-height: 1.9; margin: 0;
}

/* --- ردیف متا (تاریخ/زمان مطالعه + لینک مطالعه) --- */
.post-card__meta {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px; margin-top: 6px; padding-top: 14px;
  border-top: 1px solid rgba(0,123,189,.12);
}
/* ویجت Post Info: کوچک و خاکستری و افقی */
.post-card__info .elementor-post-info {
  display: flex; flex-wrap: wrap; gap: 14px; margin: 0; padding: 0; list-style: none;
}
.post-card__info .elementor-post-info__item {
  color: var(--ink-faint); font-size: .85rem; display: inline-flex; align-items: center; gap: 6px; margin: 0;
}
.post-card__info .elementor-post-info__item svg,
.post-card__info .elementor-post-info__item .elementor-icon-list-icon { color: var(--brand-deep); }

/* لینک «مطالعه ←» (ویجت Button که مثل لینک متنی استایل می‌شود) */
.post-card__read .elementor-button {
  background: none !important; box-shadow: none !important; border: none !important;
  padding: 0 !important; color: var(--brand-deep) !important;
  font-weight: 700 !important; font-size: .92rem !important;
  display: inline-flex; align-items: center; gap: 6px;
  transition: gap .25s var(--ease);
}
.post-card__read .elementor-button::before { content: none !important; }
.post-card__read .elementor-button:hover { gap: 10px; }


/* ===== سرصفحه‌ی مقالات ===== */
.blog-head { padding-block: clamp(120px,17vh,168px) clamp(28px,5vh,52px); }
.blog-head h1, .blog-head .elementor-heading-title { font-size: clamp(1.9rem,5vw,3rem); font-weight: 900; margin-bottom: 16px; }
.blog-head p, .blog-head .elementor-widget-text-editor { color: var(--ink-soft); font-size: clamp(1rem,2.2vw,1.16rem); max-width: 60ch; }

/* نوار ابزار: جستجو + چیپ‌ها */
.e-con.toolbar { display: grid; gap: 16px; padding: 18px; margin-top: 30px; }
@media (min-width: 780px) { .e-con.toolbar { grid-template-columns: 1fr auto; align-items: center; } }

/* جستجو (ویجت Search Form بومی) */
.toolbar .elementor-search-form__container,
.toolbar form[role="search"] { position: relative; }
.toolbar .elementor-search-form__input,
.toolbar input[type="search"] {
  width: 100%; font-family: inherit; font-size: 1rem; color: var(--ink);
  padding: 13px 46px 13px 16px; border-radius: 14px; background: rgba(255,255,255,.8);
  border: 1.5px solid rgba(0,123,189,.18) !important; box-shadow: none !important;
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.toolbar .elementor-search-form__input:focus,
.toolbar input[type="search"]:focus { outline: none; border-color: var(--brand) !important; box-shadow: 0 0 0 4px rgba(0,159,227,.16) !important; background: #fff; }
.toolbar .elementor-search-form__icon { color: var(--ink-faint); }
.toolbar .elementor-search-form__submit { display: none; }

/* چیپ‌های دسته */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips a, .chip-btn {
  font-size: .9rem; font-weight: 600; color: var(--brand-deep); background: var(--brand-tint);
  padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(0,159,227,.2);
  cursor: pointer; transition: all .25s var(--ease); text-decoration: none; display: inline-block;
}
.chips a:hover, .chip-btn:hover { background: #fff; }
.chips a.active, .chip-btn.active {
  background: linear-gradient(135deg,var(--brand),var(--brand-deep)); color: #fff;
  border-color: transparent; box-shadow: 0 10px 20px -10px rgba(0,123,189,.7);
}

/* نوار CTA */
.cta-strip { margin-top: 46px; padding: clamp(24px,4vw,40px); text-align: center; }
.cta-strip h2, .cta-strip .elementor-heading-title { font-size: clamp(1.4rem,3vw,1.9rem); margin-bottom: 12px; }
.cta-strip p, .cta-strip .elementor-widget-text-editor { color: var(--ink-soft); margin-bottom: 22px; max-width: 52ch; margin-inline: auto; }
.cta-strip .eyebrow { margin-inline: auto; }

/* صفحه‌بندی (ویجت Loop Grid بومی) */
.elementor-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 44px; flex-wrap: wrap; }
.elementor-pagination .page-numbers {
  min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0 10px;
  border-radius: 12px; font-weight: 700; color: var(--ink-soft); background: var(--glass-bg-strong);
  border: 1px solid var(--glass-border); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: all .25s var(--ease); text-decoration: none;
}
.elementor-pagination a.page-numbers:hover { color: var(--brand-deep); background: #fff; }
.elementor-pagination .page-numbers.current {
  background: linear-gradient(135deg,var(--brand),var(--brand-deep)); color: #fff;
  border-color: transparent; box-shadow: 0 10px 22px -10px rgba(0,123,189,.7);
}

/* ===== سرصفحه‌ی آرشیو دسته‌بندی ===== */
.cat-head { padding-block: clamp(120px,17vh,168px) clamp(20px,4vh,40px); }
.e-con.cat-hero { display: grid; gap: 22px; align-items: center; padding: clamp(24px,4vw,40px); }
@media (min-width: 760px) { .e-con.cat-hero { grid-template-columns: auto 1fr; } }
.cat-hero__icon {
  width: 96px; height: 96px; border-radius: 26px; display: grid; place-items: center;
  font-size: 3rem; color: #fff; background: linear-gradient(140deg,var(--brand),var(--brand-deep));
  box-shadow: 0 16px 34px -12px rgba(0,123,189,.7), inset 0 1px 0 rgba(255,255,255,.4);
}
.cat-hero h1, .cat-hero .elementor-heading-title { font-size: clamp(1.7rem,4.4vw,2.6rem); margin-bottom: 12px; }
.cat-hero p, .cat-hero .elementor-widget-text-editor { color: var(--ink-soft); font-size: 1.06rem; max-width: 58ch; }
.cat-hero .count {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 700;
  color: var(--brand-deep); font-size: .95rem; background: rgba(0,159,227,.1); padding: 6px 14px; border-radius: 999px;
}

.cat-switch { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.cat-switch a {
  font-size: .95rem; font-weight: 700; color: var(--brand-deep); background: var(--glass-bg-strong);
  padding: 10px 18px; border-radius: 999px; border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: all .25s var(--ease); text-decoration: none;
}
.cat-switch a:hover { background: #fff; }
.cat-switch a.active {
  background: linear-gradient(135deg,var(--brand),var(--brand-deep)); color: #fff;
  border-color: transparent; box-shadow: 0 10px 22px -10px rgba(0,123,189,.7);
}


/* چیدمان: افقی و wrap، نه گرید ستونی */
.cat-loop .elementor-grid,
.cat-loop .elementor-loop-container {
  display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
}
.cat-loop .elementor-grid > *,
.cat-loop .e-loop-item { width: auto !important; }

/* رَپرِ ویجت را خنثی کن (چون بریجِ دکمه‌ی سراسری هم اینجا اثر دارد) */
.elementor-widget-button.cat-chip {
  background: none !important; box-shadow: none !important;
  border: 0 !important; padding: 0 !important;
}

/* حالت عادی: سفیدِ شیشه‌ای با متن آبی */
.elementor-widget-button.cat-chip .elementor-button {
  display: inline-block !important;
  font-family: inherit !important;
  font-size: .95rem !important; font-weight: 700 !important;
  color: var(--brand-deep) !important;
  background: var(--glass-bg-strong) !important;
  background-image: none !important;
  padding: 10px 18px !important; border-radius: 999px !important;
  border: 1px solid var(--glass-border) !important;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: none !important;
  transition: all .25s var(--ease) !important;
}
.elementor-widget-button.cat-chip .elementor-button-text,
.elementor-widget-button.cat-chip .elementor-button-content-wrapper {
  color: var(--brand-deep) !important;
}

/* حذف شاینِ متحرکِ دکمه‌ی اصلی */
.elementor-widget-button.cat-chip .elementor-button::before { content: none !important; }

/* هاور: سفیدِ کامل */
.elementor-widget-button.cat-chip .elementor-button:hover {
  background: #fff !important; transform: none !important; box-shadow: none !important;
}

/* ===== حالت فعال (لینک = صفحه‌ی جاری) ===== */
.elementor-widget-button.cat-chip .elementor-button.active,
.elementor-widget-button.cat-chip.active .elementor-button {
  background: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  background-image: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 22px -10px rgba(0,123,189,.7) !important;
}
.elementor-widget-button.cat-chip .elementor-button.active .elementor-button-text,
.elementor-widget-button.cat-chip .elementor-button.active .elementor-button-content-wrapper,
.elementor-widget-button.cat-chip.active .elementor-button-text,
.elementor-widget-button.cat-chip.active .elementor-button-content-wrapper {
  color: #fff !important;
}

/* ===== چیپ‌ها در حالت موبایل: کوچک‌تر و جمع‌وجورتر ===== */
@media (max-width: 767px) {
  .cat-loop .elementor-grid,
  .cat-loop .elementor-loop-container { gap: 8px !important; }

  .elementor-widget-button.cat-chip .elementor-button {
    font-size: .82rem !important;
    font-weight: 600 !important;
    padding: 7px 13px !important;
  }
}

/* موبایل‌های کوچک‌تر */
@media (max-width: 400px) {
  .cat-loop .elementor-grid,
  .cat-loop .elementor-loop-container { gap: 6px !important; }

  .elementor-widget-button.cat-chip .elementor-button {
    font-size: .78rem !important;
    padding: 6px 11px !important;
  }
}



/* قفل‌کردن ارتفاع دکمه‌ها در همه‌ی حالت‌ها (عادی/هاور/فوکوس/اکتیو) */
.elementor-widget-button.btn .elementor-button,
.elementor-widget-button.btn .elementor-button:hover,
.elementor-widget-button.btn .elementor-button:focus,
.elementor-widget-button.btn .elementor-button:active {
  padding: 14px 26px !important;
  line-height: 1.2 !important;
  border: none !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  height: auto !important;
  vertical-align: middle;
}

/* نسخه‌ی کوچک هم قفل شود */
.elementor-widget-button.btn--sm .elementor-button,
.elementor-widget-button.btn--sm .elementor-button:hover,
.elementor-widget-button.btn--sm .elementor-button:focus,
.elementor-widget-button.btn--sm .elementor-button:active {
  padding: 10px 20px !important;
  line-height: 1.2 !important;
}

/* مطمئن شو transition فقط چیزهای بی‌خطر را انیمیت می‌کند، نه ابعاد */
.elementor-widget-button.btn .elementor-button {
  transition: box-shadow .35s var(--ease), transform .3s var(--ease), background .3s !important;
}/* End custom CSS */