:root {
      --primary: #15803d;
      --primary-dark: #166534;
      --primary-light: #22c55e;
      --accent: #eab308;
      --bg-light: #f8fafc;
      --text-dark: #0f172a;
      --text-muted: #475569;
      --white: #ffffff;
      --border: #e2e8f0;
      --danger: #ef4444;
      --success: #16a34a;
      --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
      --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.06);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Vazirmatn', sans-serif;
    }

    body {
      background-color: var(--bg-light);
      color: var(--text-dark);
      line-height: 1.8;
      overflow-x: hidden;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    /* هدر و ناوبری */
    header {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(8px);
      position: sticky;
      top: 0;
      z-index: 100;
      border-bottom: 1px solid var(--border);
      box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    }

    .nav-container {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.8rem 1.5rem;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 800;
      font-size: 1.25rem;
      color: var(--primary-dark);
    }

    .brand-logo-img {
      width: 46px;
      height: 46px;
      border-radius: 10px;
      object-fit: cover;
      box-shadow: 0 2px 6px rgba(0,0,0,0.08);
      border: 1px solid var(--border);
    }

    nav ul {
      display: flex;
      list-style: none;
      gap: 1.8rem;
    }

    nav ul li a {
      font-weight: 500;
      color: var(--text-muted);
      transition: color 0.2s ease;
    }

    nav ul li a:hover {
      color: var(--primary);
    }

    /* بخش Hero */
    .hero {
      background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
      padding: 5rem 1.5rem 4rem;
      text-align: center;
      position: relative;
    }

    .hero-content {
      max-width: 850px;
      margin: 0 auto;
    }

    .badge {
      display: inline-block;
      padding: 6px 16px;
      background: rgba(21, 128, 61, 0.1);
      color: var(--primary-dark);
      border-radius: 50px;
      font-weight: 600;
      font-size: 0.9rem;
      margin-bottom: 1.5rem;
    }

    .hero h1 {
      font-size: 2.5rem;
      font-weight: 800;
      color: var(--primary-dark);
      margin-bottom: 1.2rem;
      line-height: 1.4;
    }

    .hero p {
      font-size: 1.15rem;
      color: var(--text-muted);
      margin-bottom: 2rem;
    }

    .hero-buttons {
      display: flex;
      justify-content: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .btn {
      padding: 0.85rem 1.8rem;
      border-radius: 10px;
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: all 0.3s ease;
      cursor: pointer;
      font-size: 1rem;
      border: none;
    }

    .btn-primary {
      background: var(--primary);
      color: white;
      border: 1px solid var(--primary);
    }

    .btn-primary:hover {
      background: var(--primary-dark);
      box-shadow: 0 6px 18px rgba(21, 128, 61, 0.25);
      transform: translateY(-1px);
    }

    .btn-outline {
      background: transparent;
      color: var(--primary-dark);
      border: 1.5px solid var(--primary);
    }

    .btn-outline:hover {
      background: var(--primary);
      color: white;
    }

    /* نوار آمار */
    .stats-container {
      max-width: 1100px;
      margin: -2.5rem auto 3rem;
      padding: 0 1.5rem;
      position: relative;
      z-index: 10;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
      background: var(--white);
      padding: 2rem;
      border-radius: 16px;
      box-shadow: var(--shadow-md);
      border: 1px solid var(--border);
      text-align: center;
    }

    .stat-item h3 {
      font-size: 2.2rem;
      color: var(--primary);
      font-weight: 800;
    }

    .stat-item p {
      color: var(--text-muted);
      font-size: 0.95rem;
      margin-top: 4px;
    }

    /* بخش‌ها */
    section {
      padding: 4.5rem 1.5rem;
      max-width: 1200px;
      margin: 0 auto;
    }

    .section-header {
      text-align: center;
      max-width: 700px;
      margin: 0 auto 3rem;
    }

    .section-header h2 {
      font-size: 2rem;
      color: var(--primary-dark);
      font-weight: 800;
      margin-bottom: 0.8rem;
    }

    .section-header p {
      color: var(--text-muted);
    }

    /* درباره ما */
    .about-card {
      background: var(--white);
      border-radius: 16px;
      padding: 2.5rem;
      border: 1px solid var(--border);
      line-height: 2;
      color: #334155;
      box-shadow: var(--shadow-sm);
    }

    /* شایستگی‌ها */
    .features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 2rem;
    }

    .feature-card {
      background: var(--white);
      padding: 2.2rem;
      border-radius: 16px;
      border: 1px solid var(--border);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      box-shadow: var(--shadow-sm);
    }

    .feature-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-md);
    }

    .feature-icon {
      width: 55px;
      height: 55px;
      background: #dcfce7;
      color: var(--primary);
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      font-size: 1.5rem;
      margin-bottom: 1.2rem;
    }

    .feature-card h3 {
      font-size: 1.25rem;
      margin-bottom: 0.8rem;
      color: var(--primary-dark);
    }

    .feature-card p {
      color: var(--text-muted);
      font-size: 0.95rem;
    }

    /* همکاران */
    .partners-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
    }

    .partner-card {
      background: var(--white);
      border: 1px solid var(--border);
      padding: 1.5rem;
      border-radius: 12px;
      text-align: center;
      transition: all 0.3s ease;
      box-shadow: var(--shadow-sm);
    }

    .partner-card:hover {
      border-color: var(--primary-light);
      transform: translateY(-3px);
    }

    .partner-card h4 {
      font-size: 1.1rem;
      color: var(--text-dark);
      margin-bottom: 4px;
    }

    .partner-card span {
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    /* بخش ارتباط با ما */
    .contact-wrapper {
      background: var(--white);
      border-radius: 20px;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-md);
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1.3fr;
    }

    .contact-aside {
      background: linear-gradient(145deg, #14532d 0%, #166534 100%);
      color: var(--white);
      padding: 3rem 2.5rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .contact-aside h3 {
      font-size: 1.6rem;
      font-weight: 800;
      margin-bottom: 1rem;
    }

    .contact-aside p {
      color: #dcfce7;
      font-size: 0.95rem;
      line-height: 1.9;
      margin-bottom: 2rem;
    }

    .info-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 1.4rem;
    }

    .info-item {
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .info-icon {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      color: #86efac;
      flex-shrink: 0;
    }

    .info-content strong {
      display: block;
      font-size: 0.85rem;
      color: #bbf7d0;
      margin-bottom: 2px;
    }

    .info-content span, .info-content a {
      font-size: 0.95rem;
      color: #ffffff;
      direction: ltr;
      display: inline-block;
    }

    .contact-form-area {
      padding: 3rem 2.5rem;
      background: #ffffff;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.2rem;
    }

    .form-group {
      margin-bottom: 1.3rem;
    }

    .form-group label {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 8px;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--text-dark);
    }

    .form-group label i {
      color: var(--primary);
      font-size: 0.85rem;
    }

    .form-control {
      width: 100%;
      padding: 0.85rem 1.1rem;
      border: 1.5px solid var(--border);
      border-radius: 10px;
      font-family: inherit;
      font-size: 0.95rem;
      background: #f8fafc;
      color: var(--text-dark);
      transition: all 0.25s ease;
    }

    .form-control:focus {
      outline: none;
      background: #ffffff;
      border-color: var(--primary);
      box-shadow: 0 0 0 4px rgba(21, 128, 61, 0.12);
    }

    textarea.form-control {
      resize: vertical;
      min-height: 120px;
    }

    .submit-btn {
      width: 100%;
      padding: 1rem;
      font-size: 1.05rem;
      margin-top: 0.5rem;
    }

    .form-alert {
      display: none;
      margin-top: 1.2rem;
      padding: 1rem 1.2rem;
      border-radius: 10px;
      font-size: 0.95rem;
      font-weight: 500;
      align-items: center;
      gap: 10px;
      animation: fadeIn 0.3s ease;
    }

    .form-alert.success {
      display: flex;
      background: #f0fdf4;
      color: var(--success);
      border: 1px solid #bbf7d0;
    }

    .form-alert.error {
      display: flex;
      background: #fef2f2;
      color: var(--danger);
      border: 1px solid #fecaca;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-6px); }
      to { opacity: 1; transform: translateY(0); }
    }

    footer {
      background: #0f172a;
      color: #94a3b8;
      padding: 2.2rem 1.5rem;
      text-align: center;
      font-size: 0.9rem;
      margin-top: 3rem;
    }

    @media (max-width: 960px) {
      .contact-wrapper { grid-template-columns: 1fr; }
      .contact-aside { padding: 2.5rem 1.8rem; }
      .contact-form-area { padding: 2.5rem 1.8rem; }
    }

    @media (max-width: 768px) {
      .hero h1 { font-size: 1.8rem; }
      nav ul { display: none; }
      .form-row { grid-template-columns: 1fr; }
    }

/* تکمیلی برای ناوبری چندصفحه‌ای، دسترس‌پذیری و واکنش‌گرایی */
:focus-visible { outline: 3px solid #eab308; outline-offset: 3px; }
.skip-link { position: absolute; top: -60px; right: 1rem; z-index: 200; background: #fff; color: var(--primary-dark); padding: .7rem 1rem; border-radius: 8px; }
.skip-link:focus { top: .5rem; }
.nav-container { gap: 1rem; }
.brand { flex-shrink: 0; }
nav { display:flex; align-items:center; }
nav ul { align-items:center; }
nav ul a[aria-current="page"] { color: var(--primary-dark); font-weight: 800; }
.menu-toggle { display:none; border:1px solid var(--border); background:white; color:var(--primary-dark); border-radius:9px; padding:.55rem .75rem; font-size:1rem; cursor:pointer; }
.page-main { min-height:48vh; }
.page-hero { padding:3.5rem 1.5rem; text-align:center; background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%); }
.page-hero h1 { color:var(--primary-dark); font-size:2.2rem; line-height:1.5; margin-bottom:.6rem; }
.page-hero p { max-width:800px; margin:auto; color:var(--text-muted); }
.content-narrow { max-width:900px; margin:auto; }
.content-card { background:#fff; border:1px solid var(--border); border-radius:16px; padding:2rem; box-shadow:var(--shadow-sm); margin-bottom:1.4rem; }
.content-card h2,.content-card h3 { color:var(--primary-dark); margin-bottom:.75rem; }
.content-card p + p { margin-top:.8rem; }
.product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.product-card { background:#fff; border:1px solid var(--border); border-radius:16px; padding:2rem; box-shadow:var(--shadow-sm); }
.product-card h2 { color:var(--primary-dark); font-size:1.4rem; margin-bottom:.8rem; }
.pill-list { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; list-style:none; }
.pill-list li { background:#f0fdf4; color:var(--primary-dark); border:1px solid #bbf7d0; padding:.3rem .75rem; border-radius:999px; }
.callout { border-right:5px solid var(--primary); background:#f0fdf4; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem 1.5rem; margin-bottom:.8rem; }
.footer-links a:hover { color:white; text-decoration:underline; }
footer { line-height:2; }
.btn:disabled { opacity:.7; cursor:wait; }
#contact { scroll-margin-top:90px; }
[hidden] { display:none !important; }
@media(max-width:768px) {
 .nav-container { padding:.65rem 1rem; flex-wrap:wrap; }
 .brand { font-size:1rem; gap:8px; }
 .brand-logo-img { width:40px;height:40px; }
 .menu-toggle { display:inline-flex; align-items:center; gap:.5rem; }
 nav { width:100%; display:none; order:3; }
 nav.is-open { display:block; }
 nav ul { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:.4rem 0; }
 nav ul li a { display:block; padding:.7rem .5rem; border-top:1px solid var(--border); }
 .hero { padding:3.5rem 1rem 3rem; }
 .page-hero { padding:2.8rem 1rem; }
 .page-hero h1 { font-size:1.7rem; }
 section { padding:3rem 1rem; }
 .content-card,.product-card { padding:1.4rem; }
}
@media(max-width:380px) { .brand { font-size:.88rem; } .hero h1 {font-size:1.55rem;} }

/* Bilingual navigation and partner section */
.language-toggle { display: inline-flex; align-items: center; justify-content: center; padding: .35rem .8rem; border: 1px solid var(--primary); border-radius: 8px; color: var(--primary-dark); font-weight: 700; white-space: nowrap; }
.language-toggle:hover { background: var(--primary); color: var(--white); }
.partners-section { margin: 1.5rem 0; }
.partners-section h2 { color: var(--primary-dark); margin-bottom: 1.2rem; }
.partners-section .partners-grid { margin-top: .5rem; }
html[lang="en"] body { font-family: Arial, Helvetica, sans-serif; }
html[lang="en"] .hero h1 { line-height: 1.25; }
@media (max-width: 900px) { .language-toggle { margin-inline-start: .5rem; } }


/* ---------- جدول مشخصات محصولات (واکنش‌گرا) ---------- */
.spec-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.5rem 0;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--white);
  box-shadow: var(--shadow-sm);
}

.spec-table-wrap table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  text-align: start;
}

.spec-table-wrap caption {
  caption-side: top;
  text-align: start;
  font-weight: 700;
  color: var(--primary-dark);
  padding: 1rem 1rem 0.5rem;
}

.spec-table-wrap th,
.spec-table-wrap td {
  border: 1px solid var(--border);
  padding: 0.75rem 1rem;
  text-align: start;
  vertical-align: top;
  font-size: 0.95rem;
}

.spec-table-wrap thead th {
  background: #dcfce7;
  color: var(--primary-dark);
  font-weight: 700;
  white-space: nowrap;
}

.spec-table-wrap tbody tr:nth-child(even) {
  background: var(--bg-light);
}

[dir="rtl"] .spec-table-wrap th,
[dir="rtl"] .spec-table-wrap td {
  text-align: right;
}

[dir="ltr"] .spec-table-wrap th,
[dir="ltr"] .spec-table-wrap td {
  text-align: left;
}

.table-note {
  font-size: 0.88rem;
  color: var(--text-muted);
  margin-top: 0.5rem;
}

.product-disclaimer {
  font-size: 0.82rem;
  color: var(--text-muted);
  background: var(--bg-light);
  border: 1px dashed var(--border);
  border-radius: 10px;
  padding: 0.9rem 1.2rem;
  margin: 2rem auto 0;
  max-width: 900px;
  line-height: 1.9;
}

@media (max-width: 768px) {
  .spec-table-wrap {
    margin: 1.25rem -0.5rem;
    border-radius: 10px;
  }
  .spec-table-wrap th,
  .spec-table-wrap td {
    padding: 0.6rem 0.7rem;
    font-size: 0.88rem;
  }
}


/* Product specifications tables: explicit responsive component styling. */
.product-spec-scroll {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 1.5rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #dce5df;
  border-radius: 10px;
  background: #fff;
}
.product-spec-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  line-height: 1.8;
  text-align: start;
}
.product-spec-table caption {
  caption-side: top;
  padding: 12px 16px;
  color: #245b3c;
  font-weight: 700;
  text-align: start;
  white-space: normal;
}
.product-spec-table th,
.product-spec-table td {
  min-width: 105px;
  padding: 12px 16px;
  border: 1px solid #dce5df;
  line-height: 1.8;
  vertical-align: middle;
  text-align: start;
  white-space: normal;
  overflow-wrap: break-word;
}
.product-spec-table thead th {
  background: #e4f2e8;
  color: #245b3c;
  font-weight: 700;
}
.product-spec-table tbody tr:nth-child(even) {
  background: #f6faf7;
}
.product-spec-scroll,
.product-spec-scroll * {
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .product-spec-scroll { margin: 1.25rem 0; }
  .product-spec-table { min-width: 850px; }
  .product-spec-table th,
  .product-spec-table td { padding: 10px 12px; }
}
