/* ==========================================================================
   elementor-shim.css — ساخته‌ی خودکار، دستی ویرایشش نکنید
   ==========================================================================
   منبع: assets/css/components.css و typography.css
   ساخت: node tools/build-el-shim.js

   قواعدِ طرح را با وزنِ بالاتر بازنویسی می‌کند تا از قواعدِ هم‌نامِ المنتور
   جلو بزنند. چرایی‌اش در tools/build-el-shim.js نوشته شده.
   ========================================================================== */

/* ── flex روی کانتینرها ── */

.psy-header__brand.e-con,
.psy-header__brand.elementor-widget,
.psy-header__brand .elementor-button {
  flex: 0 0 auto;
}

.psy-header__logo.e-con,
.psy-header__logo.elementor-widget,
.psy-header__logo .elementor-button {
  flex: none;
}

.psy-header__nav.e-con,
.psy-header__nav.elementor-widget,
.psy-header__nav .elementor-button {
  flex: 1 1 auto;
}

.psy-header__cta.e-con,
.psy-header__cta.elementor-widget,
.psy-header__cta .elementor-button {
  flex: 0 0 auto;
  flex-direction: row-reverse;
}

.psy-burger.e-con,
.psy-burger.elementor-widget,
.psy-burger .elementor-button {
  flex: none;
}

@media (max-width: 1023px) {
  .psy-header__nav.e-con,
  .psy-header__nav.elementor-widget,
  .psy-header__nav .elementor-button {
    flex: 1 0 100%;
  }
}

.psy-btn__icon.e-con,
.psy-btn__icon.elementor-widget,
.psy-btn__icon .elementor-button {
  flex: none;
}

.psy-btn__chev.e-con,
.psy-btn__chev.elementor-widget,
.psy-btn__chev .elementor-button {
  flex: none;
}

.psy-btn-row--compact .psy-btn.e-con,
.psy-btn-row--compact .psy-btn.elementor-widget,
.psy-btn-row--compact .psy-btn .elementor-button {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .psy-btn-row.e-con,
  .psy-btn-row.elementor-widget,
  .psy-btn-row .elementor-button {
    flex-direction: column;
  }
}

.psy-medallion.e-con,
.psy-medallion.elementor-widget,
.psy-medallion .elementor-button {
  flex: none;
}

.psy-split-hero__body.e-con,
.psy-split-hero__body.elementor-widget,
.psy-split-hero__body .elementor-button {
  flex-direction: column;
}

.psy-split-hero__body .psy-btn-row.e-con,
.psy-split-hero__body .psy-btn-row.elementor-widget,
.psy-split-hero__body .psy-btn-row .elementor-button {
  flex-direction: column;
}

.psy-hero__body .psy-btn-row.e-con,
.psy-hero__body .psy-btn-row.elementor-widget,
.psy-hero__body .psy-btn-row .elementor-button {
  flex-direction: column;
}

@media (min-width: 768px) {
  .psy-hero__body .psy-btn-row.e-con,
  .psy-hero__body .psy-btn-row.elementor-widget,
  .psy-hero__body .psy-btn-row .elementor-button {
    flex-direction: row;
  }
}

.psy-path-card__chev.e-con,
.psy-path-card__chev.elementor-widget,
.psy-path-card__chev .elementor-button {
  flex: none;
}

.psy-feature-card.e-con,
.psy-feature-card.elementor-widget,
.psy-feature-card .elementor-button {
  flex-direction: column;
}

.psy-mode-card.e-con,
.psy-mode-card.elementor-widget,
.psy-mode-card .elementor-button {
  flex-direction: column;
}

.psy-column.e-con,
.psy-column.elementor-widget,
.psy-column .elementor-button {
  flex-direction: column;
}

.psy-tile.e-con,
.psy-tile.elementor-widget,
.psy-tile .elementor-button {
  flex-direction: column;
}

.psy-band__glyph.e-con,
.psy-band__glyph.elementor-widget,
.psy-band__glyph .elementor-button {
  flex: none;
}

.psy-band--slim p.e-con,
.psy-band--slim p.elementor-widget,
.psy-band--slim p .elementor-button {
  flex: 1 1 260px;
}

.psy-band--split .psy-band__inner.e-con,
.psy-band--split .psy-band__inner.elementor-widget,
.psy-band--split .psy-band__inner .elementor-button {
  flex: 1 1 320px;
}

.psy-band--split .psy-btn-row.e-con,
.psy-band--split .psy-btn-row.elementor-widget,
.psy-band--split .psy-btn-row .elementor-button {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .psy-band--split.e-con,
  .psy-band--split.elementor-widget,
  .psy-band--split .elementor-button {
    flex-direction: column;
  }
}

.psy-media-card.e-con,
.psy-media-card.elementor-widget,
.psy-media-card .elementor-button {
  flex-direction: column;
}

.psy-avatar-card.e-con,
.psy-avatar-card.elementor-widget,
.psy-avatar-card .elementor-button {
  flex-direction: column;
}

.psy-chip svg.e-con,
.psy-chip svg.elementor-widget,
.psy-chip svg .elementor-button {
  flex: none;
}

.psy-chips--scroll .psy-chip.e-con,
.psy-chips--scroll .psy-chip.elementor-widget,
.psy-chips--scroll .psy-chip .elementor-button {
  flex: none;
}

.psy-search__field.e-con,
.psy-search__field.elementor-widget,
.psy-search__field .elementor-button {
  flex: 1 1 auto;
}

.psy-search__filter.e-con,
.psy-search__filter.elementor-widget,
.psy-search__filter .elementor-button {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .psy-search.e-con,
  .psy-search.elementor-widget,
  .psy-search .elementor-button {
    flex-direction: column;
  }
}

.psy-roster__head h2.e-con,
.psy-roster__head h2.elementor-widget,
.psy-roster__head h2 .elementor-button {
  flex: 1 1 auto;
}

.psy-person-card__body.e-con,
.psy-person-card__body.elementor-widget,
.psy-person-card__body .elementor-button {
  flex-direction: column;
}

.psy-accordion summary.e-con::after,
.psy-accordion summary.elementor-widget::after,
.psy-accordion summary::after .elementor-button {
  flex: none;
}

.psy-checklist svg.e-con,
.psy-checklist svg.elementor-widget,
.psy-checklist svg .elementor-button {
  flex: none;
}

.psy-featured__body.e-con,
.psy-featured__body.elementor-widget,
.psy-featured__body .elementor-button {
  flex-direction: column;
}

.psy-newsletter__form label.e-con,
.psy-newsletter__form label.elementor-widget,
.psy-newsletter__form label .elementor-button {
  flex: 1 1 auto;
}

@media (max-width: 767px) {
  .psy-newsletter__form.e-con,
  .psy-newsletter__form.elementor-widget,
  .psy-newsletter__form .elementor-button {
    flex-direction: column;
  }
}

.psy-map__body.e-con,
.psy-map__body.elementor-widget,
.psy-map__body .elementor-button {
  flex-direction: column;
}

.psy-card-head h2.e-con,
.psy-card-head h2.elementor-widget,
.psy-card-head h2 .elementor-button {
  flex: 1 1 auto;
}

.psy-band__actions.e-con,
.psy-band__actions.elementor-widget,
.psy-band__actions .elementor-button {
  flex: 1 1 100%;
}

@media (min-width: 768px) {
  .psy-band__actions.e-con,
  .psy-band__actions.elementor-widget,
  .psy-band__actions .elementor-button {
    flex: 0 0 auto;
  }
}

.psy-triangle__node.e-con,
.psy-triangle__node.elementor-widget,
.psy-triangle__node .elementor-button {
  flex-direction: column;
}

.psy-map__placeholder.e-con,
.psy-map__placeholder.elementor-widget,
.psy-map__placeholder .elementor-button {
  flex-direction: column;
}

.psy-band--cream.psy-band--split .psy-band__inner.e-con,
.psy-band--cream.psy-band--split .psy-band__inner.elementor-widget,
.psy-band--cream.psy-band--split .psy-band__inner .elementor-button {
  flex: 1 1 320px;
}

@media (max-width: 640px) {
  .psy-band .psy-btn-row.e-con,
  .psy-band .psy-btn-row.elementor-widget,
  .psy-band .psy-btn-row .elementor-button {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .psy-band--cream.psy-band--split.e-con,
  .psy-band--cream.psy-band--split.elementor-widget,
  .psy-band--cream.psy-band--split .elementor-button {
    flex-direction: row;
  }
}

@media (max-width: 640px) {
  .psy-band--cream.psy-band--split .psy-band__inner.e-con,
  .psy-band--cream.psy-band--split .psy-band__inner.elementor-widget,
  .psy-band--cream.psy-band--split .psy-band__inner .elementor-button {
    flex: 1 1 auto;
  }
}

@media (max-width: 640px) {
  .psy-band--cream.psy-band--split .psy-medallion--lg.e-con,
  .psy-band--cream.psy-band--split .psy-medallion--lg.elementor-widget,
  .psy-band--cream.psy-band--split .psy-medallion--lg .elementor-button {
    flex: none;
  }
}

.psy-article-card.e-con,
.psy-article-card.elementor-widget,
.psy-article-card .elementor-button {
  flex-direction: column;
}

.psy-article-card__body.e-con,
.psy-article-card__body.elementor-widget,
.psy-article-card__body .elementor-button {
  flex-direction: column;
  flex: 1 1 auto;
}

/* ── تیترها ── */

.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title {
  margin: 0;
  font-family: var(--font);
  font-weight: 700;
  line-height: var(--lh-tight);
  color: var(--heading);
  padding-block-end: .08em;
  overflow-wrap: break-word;
}

.elementor-widget-heading h1.elementor-heading-title {
  font-size: var(--fs-h1);
}

.elementor-widget-heading h2.elementor-heading-title {
  font-size: var(--fs-h2);
}

.elementor-widget-heading h3.elementor-heading-title {
  font-size: var(--fs-h3);
}

.elementor-widget-heading h4.elementor-heading-title {
  font-size: var(--fs-lead);
}

.psy-prose .elementor-widget-heading h2.elementor-heading-title {
  margin-block-start: 1.6em;
}

.psy-prose .elementor-widget-heading h3.elementor-heading-title {
  margin-block-start: 1.4em;
}

.psy-section-title .elementor-widget-heading h2.elementor-heading-title {
  margin-block-end: var(--sp-3);
}

.psy-page-header .elementor-widget-heading h1.elementor-heading-title {
  margin-block-end: var(--sp-3);
}

.psy-split-hero__body .elementor-widget-heading h1.elementor-heading-title {
  margin: 0;
}

.psy-hero__body .elementor-widget-heading h1.elementor-heading-title {
  margin-block-end: var(--sp-4);
}

@media (min-width: 1024px) {
  .psy-hero__body .elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(40px, 3.6vw, 52px);
  }
}

.psy-feature-card .elementor-widget-heading h3.elementor-heading-title {
  color: var(--heading);
}

@media (max-width: 640px) {
  .psy-feature-card .elementor-widget-heading h3.elementor-heading-title {
    font-size: var(--fs-small);
  }
}

.psy-reason-card .elementor-widget-heading h3.elementor-heading-title {
  color: var(--heading);
  margin-block-end: 4px;
}

.psy-column .elementor-widget-heading h3.elementor-heading-title {
  color: var(--heading);
}

.psy-band .elementor-widget-heading h2.elementor-heading-title,
.psy-band .elementor-widget-heading h3.elementor-heading-title {
  margin-block-end: var(--sp-3);
}

.psy-band--dark .elementor-widget-heading h2.elementor-heading-title,
.psy-band--dark .elementor-widget-heading h3.elementor-heading-title {
  color: #fff;
}

.psy-band--dark-split .elementor-widget-heading h2.elementor-heading-title,
.psy-band--dark-split .elementor-widget-heading h3.elementor-heading-title {
  color: #fff;
}

@media (max-width: 640px) {
  .psy-band--dark-split .elementor-widget-heading h2.elementor-heading-title {
    font-size: var(--fs-h3);
  }
}

.psy-media-card__body .elementor-widget-heading h3.elementor-heading-title {
  margin-block-end: var(--sp-3);
}

.psy-roster__head .elementor-widget-heading h2.elementor-heading-title {
  order: 1;
  font-size: var(--fs-h3);
  color: var(--brand);
  flex: 1 1 auto;
  text-align: center;
}

.psy-article__body .elementor-widget-heading h3.elementor-heading-title {
  font-size: var(--fs-lead);
  margin-block-end: var(--sp-2);
}

.psy-form .elementor-widget-heading h2.elementor-heading-title {
  display: inline-block;
  margin-block-end: var(--sp-5);
  padding-block-end: var(--sp-2);
  border-block-end: 3px solid var(--brand);
  font-size: var(--fs-h3);
}

.psy-map__head .elementor-widget-heading h2.elementor-heading-title {
  font-size: var(--fs-h3);
}

.psy-card-head .elementor-widget-heading h2.elementor-heading-title {
  flex: 1 1 auto;
  font-size: var(--fs-h3);
}

.psy-footer .elementor-widget-heading h2.elementor-heading-title {
  color: #fff;
  font-size: var(--fs-lead);
  margin-block-end: var(--sp-4);
}

/* ── تصویرها ── */

.psy-header__logo img {
  width: 62px;
  height: 62px;
  flex: none;
}

@media (min-width: 1024px) and (max-width: 1339px) {
  .psy-header__logo img {
    width: 52px;
    height: 52px;
  }
}

@media (max-width: 1023px) {
  .psy-header__logo img {
    width: 52px;
    height: 52px;
  }
}

@media (max-width: 560px) {
  .psy-header__logo img {
    width: 44px;
    height: 44px;
  }
}

.psy-media-card__img img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
}

.psy-article-card__img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.psy-article-card__img--empty img {
  background: var(--band-mist) url('../img/leaf-left.png') center / cover no-repeat;
  opacity: .9;
}

/* ── دکمه‌ها ── */

/* المنتور line-height:1 روی دکمه می‌گذارد؛ .psy-btn چیزی نمی‌گوید و از
   بدنه ارث می‌برد. بدون این خط هر دکمه ۹ پیکسل کوتاه‌تر می‌شد و ستونِ
   کناریِ سربرگِ دونیمه هم با آن کوتاه می‌شد. */
.psy-el-btn .elementor-button { line-height: var(--lh-body); }

/* ویجت دکمه همیشه آیکن را *قبل* از برچسب می‌گذارد و جابه‌جایی‌اش را با
   row-reverse انجام می‌دهد. اول این لایه را display:contents کردیم که
   حذف شود، ولی آن‌وقت شِوران سمت راستِ برچسب می‌افتاد؛ طرح آن را سمت چپ
   می‌خواهد. پس لایه می‌ماند و خودش ردیفِ برعکس می‌شود. */
.psy-el-btn .elementor-button-content-wrapper {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
}
.psy-el-btn .elementor-button-text { display: inline; }
/* اندازه از قواعدِ .psy-btn__icon و .psy-btn__chev می‌آید که پایین‌تر
   ترجمه شده‌اند؛ اینجا فقط جعبه‌ی آیکن مرکزچین می‌شود. یک بار اندازه را
   اینجا 1em گذاشتیم و آیکنِ دکمه‌ی تماس ۱۲ پیکسل شد، نه ۱۸. */
.psy-el-btn .elementor-button-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; }
.psy-el-btn .elementor-button-icon svg { width: 100%; height: 100%; fill: currentColor; }

@media (max-width: 1023px) {
  .psy-header__cta.psy-el-btn--dark.elementor-widget-button .elementor-button {
    background: var(--brand);
  }
}

.psy-el-btn.elementor-widget-button .elementor-button {
  position: relative;
  display: inline-flex;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  min-height: 44px;
  padding: 10px 22px;
  border: 1.5px solid transparent;
  border-radius: var(--r-btn);
  background: var(--brand);
  color: #fff;
  font-size: var(--fs-body);
  font-weight: 700;
  text-align: center;
  transition: background var(--t), color var(--t), border-color var(--t);
}

.psy-el-btn.elementor-widget-button .elementor-button:hover {
  background: var(--dark);
  color: #fff;
}

.elementor-button-icon {
  flex: none;
  width: 18px;
  height: 18px;
}

.elementor-button-icon {
  flex: none;
  width: 16px;
  height: 16px;
}

.psy-el-btn--block.elementor-widget-button .elementor-button .elementor-button-icon,
.psy-hero__body .psy-el-btn.elementor-widget-button .elementor-button .elementor-button-icon,
.psy-split-hero__body .psy-el-btn.elementor-widget-button .elementor-button .elementor-button-icon {
  position: absolute;
  inset-inline-end: 20px;
}

.psy-el-btn--block.elementor-widget-button .elementor-button:has(.elementor-button-icon),
.psy-hero__body .psy-el-btn.elementor-widget-button .elementor-button:has(.elementor-button-icon),
.psy-split-hero__body .psy-el-btn.elementor-widget-button .elementor-button:has(.elementor-button-icon) {
  padding-inline: 48px;
}

.psy-el-btn--dark.elementor-widget-button .elementor-button {
  background: var(--dark);
}

.psy-el-btn--dark.elementor-widget-button .elementor-button:hover {
  background: var(--dark-soft);
}

.psy-el-btn--bright.elementor-widget-button .elementor-button {
  background: var(--brand-bright);
}

.psy-el-btn--bright.elementor-widget-button .elementor-button:hover {
  background: var(--brand);
}

.psy-el-btn--ghost.elementor-widget-button .elementor-button {
  background: var(--paper);
  color: var(--brand);
  border-color: var(--brand);
}

.psy-el-btn--ghost.elementor-widget-button .elementor-button:hover {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}

.psy-el-btn--on-dark.elementor-widget-button .elementor-button {
  background: #fff;
  color: var(--dark);
  border-color: #fff;
  border-radius: var(--r-pill);
}

.psy-el-btn--on-dark.elementor-widget-button .elementor-button:hover {
  background: var(--cream);
  color: var(--dark);
  border-color: var(--cream);
}

.psy-el-btn--block.elementor-widget-button .elementor-button {
  display: flex;
  width: 100%;
}

.psy-el-btn--sm.elementor-widget-button .elementor-button {
  min-height: 40px;
  padding: 8px 18px;
  font-size: var(--fs-small);
}

.psy-btn-row--compact .psy-el-btn.elementor-widget-button .elementor-button {
  width: auto;
  min-width: 240px;
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .psy-btn-row .psy-el-btn--block.elementor-widget-button .elementor-button {
    width: 100%;
  }
}

.psy-split-hero__body .psy-el-btn.elementor-widget-button .elementor-button {
  width: 100%;
}

.psy-hero__body .psy-el-btn.elementor-widget-button .elementor-button {
  width: 100%;
}

@media (min-width: 768px) {
  .psy-hero__body .psy-el-btn.elementor-widget-button .elementor-button {
    width: auto;
    min-width: 240px;
  }
}

.psy-feature-card .psy-el-btn.elementor-widget-button .elementor-button {
  margin-block-start: auto;
}

@media (max-width: 640px) {
  .psy-feature-card .psy-el-btn.elementor-widget-button .elementor-button {
    width: 100%;
    padding-inline: 6px;
    font-size: 11px;
  }
}

@media (max-width: 640px) {
  .psy-feature-card .elementor-button-icon {
    display: none;
  }
}

.psy-band .psy-el-btn.elementor-widget-button .elementor-button {
  border-radius: var(--r-pill);
}

@media (max-width: 640px) {
  .psy-band--dark-split .psy-el-btn.elementor-widget-button .elementor-button {
    font-size: var(--fs-caption);
    padding: 8px 12px;
    min-height: 38px;
  }
}

@media (max-width: 640px) {
  .psy-search__filter .psy-el-btn.elementor-widget-button .elementor-button {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .psy-newsletter__form .psy-el-btn.elementor-widget-button .elementor-button {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .psy-band .psy-btn-row .psy-el-btn.elementor-widget-button .elementor-button {
    width: 100%;
  }
}

@media (min-width: 700px) and (max-width: 1023px) {
  .psy-el-btn.elementor-widget-button .elementor-button {
    min-height: 54px;
    padding-block: 14px;
  }
}

@media (min-width: 700px) and (max-width: 1023px) {
  .psy-el-btn--sm.elementor-widget-button .elementor-button {
    min-height: 46px;
    padding-block: 11px;
  }
}
