:root {
  --ty-primary-950: #0b2f29;
  --ty-primary-900: #103f35;
  --ty-primary-800: #175747;
  --ty-primary-700: #1f725c;
  --ty-primary-600: #2d8b70;
  --ty-primary-500: #3aa081;
  --ty-mint-100: #dff3eb;
  --ty-mint-50: #f1faf6;
  --ty-gold-600: #bd8428;
  --ty-gold-500: #d8a33e;
  --ty-gold-100: #f7e9c8;
  --ty-ivory: #fffdf8;
  --ty-surface: rgba(255, 255, 255, 0.94);
  --ty-text: #173d34;
  --ty-text-soft: #60756d;
  --ty-border: rgba(30, 114, 92, 0.14);
  --ty-shadow: 0 14px 42px rgba(12, 65, 53, 0.10);
  --ty-shadow-hover: 0 22px 58px rgba(12, 65, 53, 0.15);
}

html {
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

body {
  overflow-x: clip;
  color: var(--ty-text);
  background:
    radial-gradient(circle at 92% 8%, rgba(58, 160, 129, 0.10), transparent 28rem),
    radial-gradient(circle at 7% 46%, rgba(216, 163, 62, 0.08), transparent 25rem),
    linear-gradient(180deg, #fbfefc 0%, #f5faf7 48%, #fffdf8 100%);
}

/* هدر ثابت، بدون جابه‌جایی چپ و راست */
body > header,
.site-header,
.main-header,
.header-main {
  position: sticky !important;
  top: 0 !important;
  inset-inline: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
}

/* رنگ‌بندی عمومی مدرن‌تر */
main > section {
  position: relative;
}

.card,
.feature-card,
.service-card,
.info-card,
.contact-card,
.legal-card,
.download-card,
.stat-card,
.step-card {
  color: var(--ty-text) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 248, 0.96)) !important;
  border: 1px solid var(--ty-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--ty-shadow);
}

.card h1,
.card h2,
.card h3,
.card h4,
.feature-card h1,
.feature-card h2,
.feature-card h3,
.info-card h1,
.info-card h2,
.info-card h3,
.legal-card h1,
.legal-card h2,
.legal-card h3 {
  color: var(--ty-primary-900) !important;
}

.card p,
.feature-card p,
.info-card p,
.legal-card p {
  color: var(--ty-text-soft) !important;
}

@media (hover: hover) {
  .card,
  .feature-card,
  .service-card,
  .info-card,
  .contact-card,
  .legal-card,
  .download-card,
  .stat-card,
  .step-card {
    transition:
      transform 260ms cubic-bezier(.22, 1, .36, 1),
      box-shadow 260ms ease,
      border-color 260ms ease !important;
  }

  .card:hover,
  .feature-card:hover,
  .service-card:hover,
  .info-card:hover,
  .contact-card:hover,
  .legal-card:hover,
  .download-card:hover,
  .stat-card:hover,
  .step-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(45, 139, 112, 0.28) !important;
    box-shadow: var(--ty-shadow-hover);
  }
}

/* کارت توضیح مهم در صفحه اصلی */
.ty-important-card {
  color: var(--ty-text) !important;
  background:
    linear-gradient(135deg, rgba(238, 250, 245, 0.98), rgba(255, 255, 255, 0.98)) !important;
  border: 1px solid rgba(45, 139, 112, 0.24) !important;
  box-shadow: 0 16px 42px rgba(25, 111, 89, 0.11) !important;
}

.ty-important-card::before {
  content: "";
  position: absolute;
  inset-block: 16%;
  inset-inline-start: 0;
  width: 4px;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--ty-primary-500), var(--ty-gold-500));
}

.ty-important-card,
.ty-important-card * {
  color: var(--ty-text) !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.ty-important-title {
  color: var(--ty-primary-800) !important;
  font-weight: 900 !important;
}

/* کارت اشتراک حقوقی در درباره ما */
.ty-legal-subscription-card {
  color: var(--ty-text) !important;
  background:
    linear-gradient(135deg, rgba(255, 250, 236, 0.98), rgba(255, 255, 255, 0.98)) !important;
  border: 1px solid rgba(216, 163, 62, 0.28) !important;
  box-shadow: 0 16px 42px rgba(134, 93, 25, 0.10) !important;
}

.ty-legal-subscription-card::before {
  content: "";
  position: absolute;
  inset-block: 16%;
  inset-inline-start: 0;
  width: 4px;
  border-radius: 99px;
  background: linear-gradient(180deg, var(--ty-gold-500), var(--ty-primary-500));
}

.ty-legal-subscription-card,
.ty-legal-subscription-card * {
  color: var(--ty-text) !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.ty-legal-subscription-title {
  color: #8b5d16 !important;
  font-weight: 900 !important;
}

/* متن صفحه اصلی در یک خط */
.ty-home-single-line {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  line-height: 1.9 !important;
  text-wrap: nowrap !important;
}

/* دکمه‌ها */
.btn,
.button,
a[class*="btn"],
button:not(.menu-toggle):not(.hamburger) {
  border-radius: 14px !important;
}

.btn-primary,
.primary-button,
a[class*="primary"] {
  color: #fff !important;
  background:
    linear-gradient(135deg, var(--ty-primary-700), var(--ty-primary-500)) !important;
  border-color: transparent !important;
  box-shadow: 0 11px 25px rgba(31, 114, 92, 0.22) !important;
}

/* تیترها */
main h1,
main h2 {
  color: var(--ty-primary-950);
  letter-spacing: -0.02em;
}

main h2::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin-top: 10px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--ty-primary-500), var(--ty-gold-500));
}

/* تصاویر */
.hero img,
.hero-section img,
.main-hero img,
.app-preview img,
.phone-preview img,
.mockup img {
  filter: drop-shadow(0 24px 46px rgba(13, 74, 60, 0.16));
}

/* موبایل: متن تک‌خط با اندازه محاسبه‌شده توسط JS حفظ می‌شود */
@media (max-width: 768px) {
  .ty-important-card,
  .ty-legal-subscription-card {
    border-radius: 18px !important;
  }

  main h2::after {
    width: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ===== TaminYar final hero layout fix ===== */

/* عنوان اصلی به حالت قبلی برمی‌گردد؛ فقط شکست خط قبل از «را» با JS حذف می‌شود. */
.ty-home-title-final {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.42 !important;
  font-size: clamp(30px, 4vw, 58px) !important;
  margin-bottom: 16px !important;
}

/* متن کوتاه زیر عنوان فقط یک خط است. */
.ty-home-short-line {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  line-height: 1.9 !important;
  color: var(--ty-text-soft, #60756d) !important;
  font-size: clamp(13px, 1.3vw, 18px) !important;
}

/* تصویر هیرو باید همیشه مشخص و بدون تاری باشد. */
.ty-home-hero-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: min(100%, 490px) !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 25px 46px rgba(13, 74, 60, 0.18)) !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  margin-inline: auto !important;
  position: relative !important;
  z-index: 3 !important;
}

.hero,
.hero-section,
.main-hero,
main > section:first-of-type {
  overflow: visible !important;
}

.hero h1::after,
.hero-section h1::after,
.main-hero h1::after,
.ty-home-title-final::after {
  display: none !important;
}

@media (max-width: 900px) {
  .ty-home-title-final {
    font-size: clamp(28px, 7vw, 44px) !important;
  }

  .ty-home-short-line {
    font-size: clamp(12px, 2.7vw, 16px) !important;
  }

  .ty-home-hero-image {
    max-width: min(82vw, 390px) !important;
    margin-top: 22px !important;
  }
}

@media (max-width: 560px) {
  .ty-home-title-final {
    font-size: clamp(27px, 9vw, 38px) !important;
    line-height: 1.5 !important;
  }

  .ty-home-short-line {
    width: 100% !important;
    font-size: 12px !important;
    letter-spacing: -0.025em;
  }

  .ty-home-hero-image {
    max-width: min(88vw, 340px) !important;
  }
}
