.article-card h3 a{color:inherit}
.article-card h3 a:hover{color:var(--accent)}
.empty-note{grid-column:1/-1;text-align:center;color:var(--text-light);padding:30px}
.more-wrap{text-align:center;margin-top:40px}
.project-card .project-link{display:inline-block;margin-top:14px;color:var(--accent);font-weight:700;font-size:.9rem}
.page-hero{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;text-align:center;padding:60px 20px}
.page-hero h1{font-size:2rem;font-weight:900;line-height:1.6}
.page-hero .meta{opacity:.8;font-size:.9rem;margin-top:10px}
.post-wrap{max-width:820px;margin:-40px auto 60px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;position:relative}
.post-wrap img.cover{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius);margin-bottom:25px}
.post-content{font-size:1.05rem;line-height:2.2}
.post-content h2{color:var(--primary);margin:30px 0 10px;font-size:1.4rem}
.post-content p{margin-bottom:16px}
.related{margin-top:50px}
.pager{display:flex;justify-content:center;gap:8px;margin-top:40px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 16px;border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.pager span{background:var(--primary);color:#fff}
.project-card{display:flex;flex-direction:column}.project-body{display:flex;flex-direction:column;flex:1}
.project-thumb-wrap{display:block;overflow:hidden}.project-tags{margin-bottom:18px}
.project-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.btn.btn-sm{padding:8px 22px;font-size:.88rem}
.btn.btn-line{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:6px 20px}
.btn.btn-line:hover{background:var(--primary);color:#fff;box-shadow:none}
.post-content a{color:var(--primary-light);text-decoration:underline}
.gallery{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}
.gallery img{width:110px;height:76px;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.7;border:2px solid transparent;transition:var(--transition)}
.gallery img.on,.gallery img:hover{opacity:1;border-color:var(--accent)}
.page-hero .project-tags{justify-content:center;margin:14px 0 0}.page-hero .project-tag{background:rgba(255,255,255,.15);color:#fff}
.fab{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:900}
.fab a{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:var(--transition)}
.fab a:hover{transform:scale(1.12)}
.faq-list{max-width:800px;margin:0 auto}.faq-list details{background:var(--bg-light);border-radius:10px;margin-bottom:12px;padding:16px 20px}
.faq-list summary{cursor:pointer;font-weight:700;color:var(--primary)}.faq-list details div{margin-top:10px;color:var(--text-light)}
.req-form{max-width:760px;margin:0 auto;background:#fff;padding:30px;border-radius:var(--radius);box-shadow:var(--shadow);position:relative}
.req-form input,.req-form select,.req-form textarea{width:100%;padding:12px;border:1px solid #d5dbe3;border-radius:8px;font-family:inherit;margin-bottom:14px;font-size:.95rem}
.req-form textarea{min-height:130px}.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:600px){.fr{grid-template-columns:1fr}}
.form-ok,.form-err{max-width:760px;margin:0 auto 20px;padding:14px;border-radius:10px;text-align:center}.form-ok{background:#e8f8ef;color:#1e8449}.form-err{background:#fdecea;color:#c0392b}
.theme-toggle{background:none;border:1px solid #d5dbe3;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.1rem;margin-inline-end:0}
@media(max-width:768px){.theme-toggle{margin-inline-start:auto;margin-inline-end:8px}}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.filter-bar button,.filter-bar a{padding:8px 20px;border-radius:50px;border:1px solid #d5dbe3;background:var(--bg-white);color:var(--text-dark);cursor:pointer;font-family:inherit;font-size:.9rem}
.filter-bar .on,.filter-bar button:hover,.filter-bar a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.blog-search{display:flex;gap:10px;max-width:520px;margin:0 auto 24px}.blog-search input{flex:1;padding:10px 16px;border:1px solid #d5dbe3;border-radius:50px;font-family:inherit;background:var(--bg-white);color:var(--text-dark)}
.share{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:28px;padding-top:18px;border-top:1px solid #e1e6ec}
.share a,.share button{padding:6px 16px;border-radius:50px;background:var(--bg-light);color:var(--primary);font-family:inherit;font-size:.85rem;border:0;cursor:pointer}
.comment{background:var(--bg-light);padding:14px 18px;border-radius:10px;margin-bottom:12px}.comment small{color:var(--text-light)}
.news-bar{background:var(--bg-light);padding:22px 0;text-align:center}.news-bar form{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.news-bar input{padding:10px 16px;border:1px solid #d5dbe3;border-radius:50px;min-width:240px;background:var(--bg-white);color:var(--text-dark)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
[data-theme=dark]{--bg-light:#0f172a;--bg-white:#1e293b;--text-dark:#e2e8f0;--text-light:#94a3b8;--shadow:0 4px 20px rgba(0,0,0,.4)}
[data-theme=dark] .section-title h2,[data-theme=dark] .service-card h3,[data-theme=dark] .article-card h3,[data-theme=dark] .project-body h3,[data-theme=dark] .logo,[data-theme=dark] .faq-list summary,[data-theme=dark] .project-tag,[data-theme=dark] .post-content h2,[data-theme=dark] .share a,[data-theme=dark] .share button,[data-theme=dark] .btn-line{color:#93c5fd}
[data-theme=dark] .btn-line{border-color:#93c5fd}[data-theme=dark] section[style*="background:#fff"]{background:#1e293b!important}
[data-theme=dark] .post-wrap,[data-theme=dark] .req-form{background:var(--bg-white)}
[data-theme=dark] .req-form input,[data-theme=dark] .req-form select,[data-theme=dark] .req-form textarea{background:#0f172a;color:#e2e8f0;border-color:#334155}
[data-theme=dark] .header{box-shadow:0 2px 15px rgba(0,0,0,.4)}[data-theme=dark] .theme-toggle{border-color:#334155}
html{scroll-padding-top:80px}.article-meta{flex-wrap:wrap;gap:6px 15px}
@media(max-width:860px){.post-wrap{margin-left:16px;margin-right:16px;padding:20px}.page-hero h1{font-size:1.5rem}}


/* --- بهبودهای جدید UI/UX --- */

/* تغییر حالت نمایش شبکه ای و لیستی */
.projects-grid.list-view, .magazine-grid.list-view {
  grid-template-columns: 1fr !important;
}
.projects-grid.list-view .project-card, .magazine-grid.list-view .article-card {
  flex-direction: row;
}
.projects-grid.list-view .project-thumb-wrap, .magazine-grid.list-view .article-thumb {
  width: 280px;
  flex-shrink: 0;
}

/* جستجوی زنده (Live Search Dropdown) */
.live-search-wrap { position: relative; }
.live-search-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-white);
  border: 1px solid #d5dbe3;
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin-top: 6px;
  z-index: 1000;
  max-height: 320px;
  overflow-y: auto;
  display: none;
}
.live-search-item {
  padding: 10px 14px;
  border-bottom: 1px solid var(--bg-light);
  display: block;
  font-size: 0.9rem;
  transition: var(--transition);
}
.live-search-item:hover { background: var(--bg-light); color: var(--accent); }

/* فرم مرحله به مرحله (Wizard Form) */
.wizard-step { display: none; }
.wizard-step.active { display: block; }
.wizard-progress {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  position: relative;
}
.wizard-progress-bar {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  background: #d5dbe3;
  z-index: 1;
  transform: translateY(-50%);
}
.wizard-step-indicator {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-white);
  border: 2px solid #d5dbe3;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.85rem;
  position: relative;
  z-index: 2;
  transition: var(--transition);
}
.wizard-step-indicator.active { border-color: var(--primary); background: var(--primary); color: #fff; }
.wizard-step-indicator.completed { border-color: var(--primary); color: var(--primary); }

/* پاسخ تو در تو به دیدگاه‌ها */
.comment { margin-bottom: 12px; }
.comment.reply { margin-inline-start: 30px; border-inline-start: 3px solid var(--primary); padding-inline-start: 14px; background: rgba(0,0,0,0.02); }


/* رفع اسکرول افقی کل سایت */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
}

/* آیکن‌های شناور متناسب با سبک SVG فوتر */
.fab a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* منوی کشویی موبایل (Off-canvas) */
@media (max-width: 768px) {
  .nav-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 998;
    opacity: 0; pointer-events: none; transition: opacity 0.3s;
  }
  .nav-overlay.active { opacity: 1; pointer-events: auto; }
  
  .nav-menu {
    position: fixed; top: 0; right: -280px; width: 260px; height: 100vh;
    background: var(--bg-white); z-index: 999; flex-direction: column;
    padding: 60px 20px 20px; box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    transition: right 0.3s ease;
  }
  .nav-menu.active { right: 0; }
  .nav-close {
    position: absolute; top: 16px; left: 16px; background: none; border: 0;
    font-size: 1.4rem; cursor: pointer; color: var(--text-dark);
  }

  /* مرتب‌سازی دکمه‌های فلش اسلایدر در موبایل */
  .slider-arrow {
    width: 36px; height: 36px; font-size: 1rem;
  }
  .slider-arrow.prev { right: 10px; }
  .slider-arrow.next { left: 10px; }

  /* اسلایدر شدن پروژه‌ها در موبایل (نمایش ۱ تایی) */
  .projects-grid.mobile-slider {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 16px; padding-bottom: 16px; -webkit-overflow-scrolling: touch;
  }
  .projects-grid.mobile-slider .project-card {
    flex: 0 0 100%; min-width: 100%; scroll-snap-align: start;
  }
}

