/*
Theme Name: راهکارنت (Rahkarnet)
Theme URI: https://rahkarnet.example/
Author: Rahkarnet
Author URI: https://rahkarnet.example/
Description: قالب بلوکی (FSE) سبک و سریع راهکارنت برای صفحات خدمات و فروشگاه‌های آنلاین. بدون page builder، بدون jQuery اضافه. فونت Vazirmatn به‌صورت محلی host شده.
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.0.19
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rahkarnet
Tags: full-site-editing, block-patterns, rtl-language-support, custom-colors, custom-logo, business
*/

/* ============================================================
   DESIGN TOKENS — هم‌ارز بخش settings در theme.json
   (در theme.json نیز به‌صورت palette / fontFamily / custom map شده‌اند)
   ============================================================ */
:root {
  /* رنگ — پالت مینیمال تک‌تأکیدی */
  --color-bg:            #ffffff;
  --color-surface:       #f5f4ef;
  --color-text:          #1a1a18;
  --color-text-muted:    #6b6b66;
  --color-text-faint:    #9a9a95;
  --color-accent:        #0f6e56;
  --color-accent-soft:   #e1f5ee;
  --color-border:        rgba(26, 26, 24, 0.12);
  --color-border-strong: rgba(26, 26, 24, 0.22);

  /* تایپوگرافی */
  --font-sans: 'Vazirmatn', system-ui, sans-serif;
  --fs-hero: clamp(28px, 4.6vw, 44px);
  --fs-h1: 32px;
  --fs-h2: 18px;
  --fs-body: 16px;
  --fs-small: 13px;
  --fs-tiny: 12px;
  --fw-regular: 400;
  --fw-medium: 500;
  --lh-body: 1.8;
  --lh-heading: 1.4;

  /* فاصله و شکل */
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 20px;
  --space-section: 1.5rem; /* پدینگِ عمودیِ هر بخش؛ با blockGap (۱.۵rem) فاصله‌ی بینِ بخش‌ها ≈ ۴.۵rem */
  --maxw: 1200px;
}

/* ریست سبک */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  color: var(--color-text);
  background: var(--color-bg);
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

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

/* حذف فاصله‌ی بالای صفحه — هستهٔ وردپرس به اولین بلوکِ سطح‌بالا
   margin-block-start (=blockGap) می‌دهد؛ فقط همان فاصلهٔ بالا را صفر می‌کنیم
   (فاصلهٔ بین هدر/محتوا/فوتر حفظ می‌شود). */
:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }
/* گارد برای باندهای تمام‌عرض (تکنیک 50vw) تا اسکرول افقی ایجاد نشود */
.wp-site-blocks { overflow-x: clip; }

/* عرض محتوا — هم‌ارز layout.contentSize در theme.json */
.rk-wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: 1.5rem; }

.rk-h1 { font-size: var(--fs-h1); font-weight: var(--fw-medium); line-height: var(--lh-heading); margin: 1.25rem 0; }
.rk-h2 { font-size: var(--fs-h2); font-weight: var(--fw-medium); line-height: var(--lh-heading); margin-bottom: 1.5rem; }

/* پاراگراف معرفی (لید) — راست‌چین و چسبیده به ابتدای سطر (راست در RTL).
   override بر حاشیه‌ی auto که چیدمان constrained وردپرس تحمیل می‌کند و لید را وسط می‌اندازد. */
.rk-lead {
  color: var(--color-text-muted);
  max-width: 520px;
  text-align: start;
  margin-inline-start: 0 !important;
  margin-inline-end: auto !important;
}

/* ============================================================
   COMPONENTS — کلاس‌های قابل استفاده مجدد در پترن‌ها
   ============================================================ */
.rk-badge {
  display: inline-block;
  font-size: var(--fs-tiny);
  color: var(--color-accent);
  background: var(--color-accent-soft);
  padding: 4px 12px;
  border-radius: var(--radius-pill);
}

.rk-btn {
  display: inline-block;
  font-size: 14px;
  font-weight: var(--fw-medium);
  padding: 11px 26px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: opacity .15s ease;
}
.rk-btn:hover { opacity: .88; }
.rk-btn-primary { background: var(--color-text); color: var(--color-bg); }
.rk-btn-outline { border: 0.5px solid var(--color-border-strong); color: var(--color-text); }

/* بلوک دکمه Core — حالت پُر (پیش‌فرض) از theme.json می‌آید؛ اینجا فقط حالت خطی و هاور */
.wp-block-button .wp-block-button__link { transition: opacity .15s ease; }
.wp-block-button .wp-block-button__link:hover { opacity: .88; }
.wp-block-button.is-style-rk-outline > .wp-block-button__link {
  background-color: transparent;
  color: var(--color-text);
  border: 0.5px solid var(--color-border-strong);
}
/* دکمه‌ی معکوس — برای پس‌زمینه‌های تیره (rk-band--dark) */
.wp-block-button.is-style-rk-inverse > .wp-block-button__link {
  background: var(--color-bg);
  color: var(--color-accent);
  border: none;
}

.rk-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rk-stat {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
}
.rk-stat .num { font-size: 26px; font-weight: var(--fw-medium); }
.rk-stat .num small { font-size: 14px; color: var(--color-text-muted); font-weight: var(--fw-regular); }
.rk-stat .label { font-size: var(--fs-small); color: var(--color-text-muted); margin-top: 4px; }

.rk-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.rk-feature {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  padding: 1.15rem 1.25rem;
}
.rk-feature .head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.rk-feature .head .icon { width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; }
.rk-feature .head .title { font-weight: var(--fw-medium); font-size: 14px; }
.rk-feature p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.7; margin: 0; }

/* چک‌لیست — نشانه‌ها/اقلام با تیک */
.rk-checklist { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rk-checklist li {
  display: flex; gap: 12px; align-items: center;
  font-size: var(--fs-small); line-height: 1.6; color: var(--color-text); margin: 0;
  background: var(--color-bg); border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md); padding: 10px 14px;
}
.rk-checklist li::before {
  content: ""; flex-shrink: 0; width: 6px; height: 11px;
  border: solid var(--color-accent); border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
@media (max-width: 680px) { .rk-checklist { grid-template-columns: 1fr; } }

.rk-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rk-plan {
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.25rem;
  background: var(--color-bg);
  position: relative;
}
.rk-plan.featured { border: 2px solid var(--color-accent); }
.rk-plan .ribbon {
  position: absolute; top: -11px; inset-inline-start: 16px;
  background: var(--color-accent-soft); color: var(--color-accent);
  font-size: 11px; padding: 3px 10px; border-radius: var(--radius-md);
}
.rk-plan .name { font-weight: var(--fw-medium); font-size: 15px; }
.rk-plan .for { font-size: var(--fs-tiny); color: var(--color-text-muted); margin: 4px 0 14px; }
.rk-plan .price { font-size: 22px; font-weight: var(--fw-medium); }
.rk-plan .cycle { font-size: var(--fs-tiny); color: var(--color-text-faint); margin-bottom: 14px; }
.rk-plan .list { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 2.1; list-style: none; margin: 0; padding: 0; }
.rk-plan .list li { margin: 0; }
/* دکمه سفارش (بلوک Core button) — تمام‌عرض داخل کارت پلن */
.rk-plan .wp-block-buttons { margin-top: 16px; }
.rk-plan .wp-block-button { width: 100%; }
.rk-plan .wp-block-button .wp-block-button__link { display: block; width: 100%; text-align: center; padding: 10px; font-size: 13px; }

.rk-cta-band {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
}
.rk-cta-band .title { font-size: 17px; font-weight: var(--fw-medium); margin-bottom: 6px; }
.rk-cta-band p { font-size: 14px; color: var(--color-text-muted); margin-bottom: 1.25rem; }

/* مقایسه دو پلتفرم */
.rk-platform-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.rk-platform {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.25rem;
}
.rk-platform .name { font-weight: var(--fw-medium); font-size: 16px; }
.rk-platform .for { font-size: var(--fs-tiny); color: var(--color-text-muted); margin: 4px 0 12px; }
.rk-platform p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.8; margin: 0 0 12px; }
.rk-platform .more { font-size: var(--fs-small); font-weight: var(--fw-medium); margin: 0; }
.rk-platform .more a { color: var(--color-accent); }

/* مراحل فرایند */
.rk-process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.rk-step { text-align: center; }
.rk-step .n {
  width: 34px; height: 34px;
  margin: 0 auto 10px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-accent-soft); color: var(--color-accent);
  font-size: 14px; font-weight: var(--fw-medium);
}
.rk-step .t { font-weight: var(--fw-medium); font-size: 14px; margin-bottom: 4px; }
.rk-step p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.7; margin: 0; }

/* کارت نوع سایت — کامپوننت صفحه‌ی «طراحی سایت» (با توکن‌های موجود) */
.rk-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.rk-type-grid--3 { grid-template-columns: repeat(3, 1fr); }
.rk-type-card {
  position: relative;
  background: var(--color-surface);
  border: 0.5px solid transparent;
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.25rem;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.rk-type-card:hover { border-color: var(--color-border-strong); box-shadow: 0 8px 24px rgba(26, 26, 24, 0.07); transform: translateY(-2px); }
.rk-type-card .icon { width: 24px; height: 24px; color: var(--color-accent); margin-bottom: 12px; }
.rk-type-card .name { font-weight: var(--fw-medium); font-size: 16px; margin-bottom: 6px; }
.rk-type-card p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.8; margin-bottom: 12px; }
.rk-type-card .more { font-size: var(--fs-small); margin: 0; }
.rk-type-card .more a { color: var(--color-text); border-bottom: 1px solid var(--color-border-strong); padding-bottom: 1px; }
/* stretch link — کل کارت کلیک‌پذیر، یک لینک برای گوگل */
.rk-type-card .more a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }

/* افزونه‌ها و ماژول‌ها — گرید کارت‌ها + جعبه‌ی دریافت/خرید */
.rk-plugin-group + .rk-plugin-group { margin-top: 2.5rem; }
.rk-plugin-group .rk-h2 { margin-bottom: 1.25rem; }
.rk-plugin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rk-plugin-card {
  display: flex; flex-direction: column;
  background: var(--color-surface);
  border: 0.5px solid transparent;
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.25rem;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.rk-plugin-card:hover { border-color: var(--color-border-strong); box-shadow: 0 8px 24px rgba(26, 26, 24, 0.07); transform: translateY(-2px); }
.rk-pl-badge {
  align-self: flex-start; font-size: var(--fs-tiny);
  padding: 3px 11px; border-radius: var(--radius-pill); margin-bottom: 12px;
  color: var(--color-accent); background: var(--color-accent-soft);
}
.rk-pl-badge.is-paid { color: var(--color-text); background: var(--color-bg); border: 0.5px solid var(--color-border-strong); }
.rk-pl-name { font-weight: var(--fw-medium); font-size: 16px; margin-bottom: 6px; }
.rk-pl-excerpt { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.8; margin-bottom: 14px; }
.rk-pl-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rk-pl-price { font-size: var(--fs-small); font-weight: var(--fw-medium); }
.rk-pl-price.is-free { color: var(--color-accent); }
.rk-pl-more { font-size: var(--fs-small); color: var(--color-text); }
@media (max-width: 880px) { .rk-plugin-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .rk-plugin-grid { grid-template-columns: 1fr; } }

.rk-buybox {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px;
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
}
.rk-buybox .rk-bb-price { font-size: 20px; font-weight: var(--fw-medium); }
.rk-buybox .rk-bb-version { font-size: var(--fs-tiny); color: var(--color-text-muted); }
.rk-buybox .rk-bb-action { margin-inline-start: auto; }

/* سوالات متداول — آکاردئون بومی <details>، بدون JS */
.rk-faq { display: flex; flex-direction: column; gap: 10px; }
.rk-faq-item {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  padding: 1rem 1.2rem;
}
.rk-faq-item summary {
  cursor: pointer; list-style: none;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  font-weight: var(--fw-medium); font-size: 15px;
}
.rk-faq-item summary::-webkit-details-marker { display: none; }
.rk-faq-item summary::after {
  content: ""; flex-shrink: 0;
  width: 8px; height: 8px;
  border-right: 1.5px solid var(--color-text-faint);
  border-bottom: 1.5px solid var(--color-text-faint);
  transform: translateY(-2px) rotate(45deg);
  transition: transform .15s ease;
}
.rk-faq-item[open] summary::after { transform: translateY(1px) rotate(225deg); }
.rk-faq-item[open] summary { margin-bottom: 10px; }
.rk-faq-item p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.9; margin: 0; }

/* ============================================================
   نمونه‌کارها و نقل قول‌ها
   ============================================================ */
/* فیلتر دسته */
.rk-pf-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.5rem; }
.rk-pf-filter-link {
  font-size: var(--fs-small); color: var(--color-text-muted);
  padding: 6px 14px; border-radius: var(--radius-pill);
  border: 0.5px solid var(--color-border);
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.rk-pf-filter-link:hover { color: var(--color-text); border-color: var(--color-border-strong); }
.rk-pf-filter-link.is-active { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); }

/* گرید کارت نمونه‌کار */
.rk-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rk-pf-card {
  display: block;
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-bg);
  transition: border-color .15s ease, transform .15s ease;
}
.rk-pf-card:hover { border-color: var(--color-border-strong); transform: translateY(-2px); }
.rk-pf-card-media { aspect-ratio: 16 / 10; background: var(--color-surface); overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.rk-pf-card-media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
.rk-pf-card-body { padding: 1rem 1.1rem; }
.rk-pf-card-cat { display: inline-block; font-size: var(--fs-tiny); color: var(--color-accent); background: var(--color-accent-soft); padding: 3px 10px; border-radius: var(--radius-pill); margin-bottom: 8px; }
.rk-pf-card-title { font-size: 15px; font-weight: var(--fw-medium); line-height: var(--lh-heading); margin: 0 0 6px; }
.rk-pf-card-excerpt { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.7; margin: 0; }
.rk-pf-card-ig { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: var(--fs-tiny); color: var(--color-text-muted); }
.rk-pf-card-ig svg { width: 14px; height: 14px; color: var(--color-accent); flex-shrink: 0; }
.rk-pf-empty { color: var(--color-text-muted); font-size: var(--fs-small); }

/* داستان‌های موفقیت (کیس‌استادی) */
.rk-cs-metrics { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 10px 0 4px; }
.rk-cs-metric { display: flex; flex-direction: column; }
.rk-cs-metric .n { font-size: 17px; font-weight: var(--fw-medium); color: var(--color-accent); line-height: 1.25; }
.rk-cs-metric .l { font-size: var(--fs-tiny); color: var(--color-text-muted); }
.rk-cs-readmore { color: var(--color-accent); margin-top: 10px; display: inline-block; }
.rk-cs-detail .rk-stat-grid { margin-bottom: 1.75rem; }
.rk-cs-detail h2 { margin-top: 1.5rem; }
.rk-cs-detail p { color: var(--color-text-muted); line-height: var(--lh-body); }

/* باکس اینستاگرام (تک نمونه‌کار) */
.rk-ig-box {
  display: flex; align-items: center; gap: 12px;
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.9rem 1.1rem;
}
.rk-ig-icon { width: 28px; height: 28px; color: var(--color-accent); flex-shrink: 0; }
.rk-ig-info { display: flex; flex-direction: column; gap: 2px; }
.rk-ig-followers { font-size: 15px; font-weight: var(--fw-medium); }
.rk-ig-link { font-size: var(--fs-small); color: var(--color-accent); }

/* ============================================================
   اسلایدر عمومی — rk-slider (قابل استفاده در هر جا)
   ============================================================ */
.rk-slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 16px;
}
.rk-slider::-webkit-scrollbar { display: none; }
.rk-slider > * { flex: 0 0 auto; scroll-snap-align: start; }

/* ناوبری اسلایدر */
.rk-slider-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.25rem;
  gap: 14px;
}
.rk-slider-dots { display: flex; gap: 7px; align-items: center; }
.rk-slider-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  border: none; padding: 0;
  background: var(--color-border-strong);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.rk-slider-dot.is-active { background: var(--color-accent); transform: scale(1.35); }
.rk-slider-btn {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; flex-shrink: 0;
  border-radius: 50%;
  border: 0.5px solid var(--color-border);
  background: var(--color-bg);
  color: var(--color-text);
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.rk-slider-btn:hover { border-color: var(--color-accent); color: var(--color-accent); }
.rk-slider-btn:disabled { opacity: .3; cursor: default; pointer-events: none; }

/* عرض کارت‌ها: ۳ در دید روی دسکتاپ */
.rk-testimonial-grid > * { flex: 0 0 calc((100% - 32px) / 3); }
.rk-cs-grid > *         { flex: 0 0 calc((100% - 32px) / 3); }

/* کارت نقل قول */
.rk-testimonial-grid { gap: 16px; }
.rk-testimonial {
  display: flex;
  flex-direction: column;
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.25rem;
  margin: 0;
  background: var(--color-bg);
  --clamp-fade-to: var(--color-bg);
}
.rk-tm-body { flex: 1; }
.rk-tm-quote { font-size: var(--fs-body); line-height: 1.9; color: var(--color-text); margin: 0; }
.rk-tm-quote p { margin: 0 0 .5rem; }
.rk-tm-quote p:last-child { margin-bottom: 0; }
.rk-tm-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 0.5px solid var(--color-border);
}
.rk-tm-photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.rk-tm-meta { display: flex; flex-direction: column; }
.rk-tm-name { font-weight: var(--fw-medium); font-size: 14px; }
.rk-tm-role { font-size: var(--fs-tiny); color: var(--color-text-muted); }

/* تک نمونه‌کار */
.rk-pf-single-media img { border-radius: var(--radius-lg); width: 100%; height: auto; display: block; }
.rk-pf-single-cat a { font-size: var(--fs-tiny); color: var(--color-accent); }

/* رسانه‌ی نقل قول (صدا/ویدئو) */
.rk-tm-video { width: 100%; margin: 0 0 1rem; border-radius: var(--radius-md); display: block; }
.rk-tm-audio { width: 100%; margin: 0 0 1rem; }

/* ============================================================
   ابزار بیشتر/کمتر — rk-clamp (قابل استفاده در هر جا)
   بدون JS: کلاس is-clamped اضافه نمی‌شود، محتوا کامل نمایش داده می‌شود.
   برای تغییر رنگ فید در زمینه‌های متفاوت: --clamp-fade-to را روی والد تنظیم کن.
   ============================================================ */
.rk-clamp.is-clamped { overflow: hidden; position: relative; transition: max-height .3s ease; }
.rk-clamp.is-clamped:not(.is-expanded)::after {
  content: '';
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  height: 3.5rem;
  background: linear-gradient(to bottom, transparent, var(--clamp-fade-to, var(--color-bg)));
  pointer-events: none;
}
.rk-clamp-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: .75rem;
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: var(--color-accent);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--font-sans);
  line-height: 1.5;
  transition: opacity .15s ease;
}
.rk-clamp-btn:hover { opacity: .7; }

/* فرم ارسال نقل قول */
.rk-form { display: flex; flex-direction: column; gap: 1.1rem; max-width: 560px; }
.rk-field { display: flex; flex-direction: column; gap: 6px; }
.rk-field label { font-size: var(--fs-small); font-weight: var(--fw-medium); }
.rk-field input[type="text"],
.rk-field input[type="file"],
.rk-field textarea {
  font-family: inherit; font-size: var(--fs-small); color: var(--color-text);
  background: var(--color-bg);
  border: 0.5px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 12px; width: 100%;
}
.rk-field textarea { min-height: 120px; resize: vertical; line-height: var(--lh-body); }
.rk-field input:focus, .rk-field textarea:focus { outline: none; border-color: var(--color-accent); }
.rk-field .rk-hint { font-size: var(--fs-tiny); color: var(--color-text-faint); }
.rk-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.rk-recorder { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rk-rec-btn {
  font-family: inherit; font-size: 13px; font-weight: var(--fw-medium);
  padding: 8px 16px; border-radius: var(--radius-md);
  border: 0.5px solid var(--color-border-strong); background: var(--color-bg);
  color: var(--color-text); cursor: pointer; transition: color .15s ease, border-color .15s ease;
}
.rk-rec-btn:hover { color: var(--color-accent); border-color: var(--color-accent); }
.rk-rec-status { font-size: var(--fs-small); color: var(--color-text-muted); }
.rk-rec-preview { height: 38px; max-width: 100%; }

.rk-form-notice { padding: 12px 16px; border-radius: var(--radius-md); font-size: var(--fs-small); line-height: 1.7; }
.rk-form-notice.is-success { background: var(--color-accent-soft); color: var(--color-accent); }
.rk-form-notice.is-error { background: var(--color-surface); color: var(--color-text); border: 0.5px solid var(--color-border-strong); }
.rk-form button[type="submit"] { align-self: flex-start; border: 0; }

/* ============================================================
   صفحه‌ی «تماس با ما»
   ============================================================ */
.rk-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2.5rem; align-items: start; }
.rk-contact-grid > * { margin-block: 0; }
.rk-contact-info p { color: var(--color-text-muted); line-height: 1.9; margin: 0 0 1.2rem; }
.rk-contact-phone {
  display: flex; align-items: center; gap: 10px;
  font-size: 17px; font-weight: var(--fw-medium);
  padding: 14px 0; color: var(--color-text);
}
.rk-contact-phone svg { width: 18px; height: 18px; color: var(--color-accent); flex-shrink: 0; }
.rk-contact-phone + .rk-contact-phone { border-top: 0.5px solid var(--color-border); }
@media (max-width: 720px) { .rk-contact-grid { grid-template-columns: 1fr; gap: 1.5rem; } }

/* ============================================================
   صفحه‌ی «درباره ما»
   ============================================================ */
.rk-readable { max-width: 720px; margin-inline: auto; }
.rk-readable p { color: var(--color-text-muted); line-height: 2; }
.rk-founder {
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 1.6rem 1.5rem;
}
.rk-founder-head { display: flex; align-items: center; gap: 14px; margin-bottom: 1.1rem; }
.rk-founder-avatar {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--color-accent-soft); color: var(--color-accent);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: var(--fw-medium); flex-shrink: 0;
}
.rk-founder-name { font-size: 18px; font-weight: var(--fw-medium); margin: 0; }
.rk-founder-role { font-size: var(--fs-small); color: var(--color-text-muted); margin: 2px 0 0; }
.rk-founder > p { color: var(--color-text-muted); line-height: 2; margin: 0; }

/* ============================================================
   صفحه‌ی ۴۰۴
   ============================================================ */
.rk-404 { text-align: center; padding-block: 4rem; }
.rk-404-code { font-size: 104px; line-height: 1; font-weight: var(--fw-medium); color: var(--color-accent); margin-bottom: .25rem; }
.rk-404 .rk-lead { margin-inline: auto !important; margin-bottom: 1.5rem; text-align: center; }
@media (max-width: 720px) { .rk-404-code { font-size: 72px; } }

/* ============================================================
   وبلاگ
   ============================================================ */
/* کارت پست (مشترک: بنتو، فهرست، دسته) */
.rk-post-card,
.rk-blog-grid > li.wp-block-post {
  display: block; margin: 0;
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-bg);
  transition: border-color .15s ease, transform .15s ease;
}
.rk-post-card:hover,
.rk-blog-grid > li.wp-block-post:hover { border-color: var(--color-border-strong); transform: translateY(-2px); }
.rk-pc-media { display: block; aspect-ratio: 16 / 10; background: var(--color-surface); overflow: hidden; margin: 0; }
.rk-pc-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rk-pc-body { padding: 1rem 1.1rem; }
.rk-pc-body > * { margin-block: 0; }
.rk-pc-cat { display: inline-block; font-size: var(--fs-tiny); color: var(--color-accent); margin-bottom: 8px; }
.rk-pc-cat a { color: inherit; }
.rk-pc-title { font-size: 16px; font-weight: var(--fw-medium); line-height: var(--lh-heading); margin: 0 0 8px; }
.rk-pc-title a { color: inherit; }
.rk-pc-excerpt { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.8; margin: 0 0 10px; }
.rk-pc-date { font-size: var(--fs-tiny); color: var(--color-text-faint); }

/* گرید فهرست پست‌ها */
.rk-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; list-style: none; margin: 0; padding: 0; }

/* بنتو: کارت بزرگ + ۳ کارت کنار */
.rk-bento { display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; align-items: stretch; }
.rk-bento-side { display: grid; grid-template-rows: repeat(3, 1fr); gap: 16px; }
.rk-bento-big, .rk-bento-big .rk-post-card { height: 100%; }
.rk-bento-big .rk-pc-media { aspect-ratio: 16 / 9; }
.rk-bento-big .rk-pc-title { font-size: 22px; }
.rk-bento-side .rk-post-card { display: flex; align-items: stretch; }
.rk-bento-side .rk-pc-media { width: 40%; aspect-ratio: auto; flex-shrink: 0; }
.rk-bento-side .rk-pc-body { padding: .8rem .9rem; }
.rk-bento-side .rk-pc-title { font-size: 14px; margin-bottom: 6px; }

/* سری‌های آموزشی */
.rk-series-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rk-series-card { display: block; border: 0.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.25rem; transition: border-color .15s ease; }
.rk-series-card:hover { border-color: var(--color-border-strong); }
.rk-series-icon { width: 26px; height: 26px; color: var(--color-accent); margin-bottom: 10px; }
.rk-series-name { display: block; font-weight: var(--fw-medium); font-size: 15px; margin-bottom: 4px; }
.rk-series-desc { display: block; font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.7; }

/* صفحه‌بندی */
.rk-pagination { margin-top: 1.5rem; font-size: var(--fs-small); }
.rk-pagination a, .rk-pagination .current { color: var(--color-text-muted); }
.rk-pagination .current { color: var(--color-text); font-weight: var(--fw-medium); }

/* ============================================================
   تک‌نوشته — تایپوگرافی و رسانه
   ============================================================ */
.rk-post { max-width: 960px; margin-inline: auto; }

/* پلیر ویدئوی آروان کلاد — نسبت ۱۶:۹ ریسپانسیو */
.rk-post-video {
  position: relative; padding-top: 56.25%;
  margin-bottom: 2.5rem;
  border-radius: var(--radius-lg); overflow: hidden;
  background: var(--color-surface);
}
.rk-post-video iframe,
.rk-post-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.rk-post-cat { font-size: var(--fs-small); color: var(--color-accent); margin: 0; }
.rk-post-cat a { color: inherit; }
.rk-post-title { font-size: var(--fs-h1); font-weight: var(--fw-medium); line-height: var(--lh-heading); margin: .6rem 0 .4rem; }
.rk-post-meta { font-size: var(--fs-small); color: var(--color-text-faint); }
.rk-post-hero { margin: 1.6rem 0; }
.rk-post-hero img { width: 100%; height: auto; border-radius: var(--radius-lg); display: block; }

.rk-post-content { font-size: 17px; line-height: 2; color: var(--color-text); }
.rk-post-content > * { margin-block: 1.2rem; }
.rk-post-content > :first-child { margin-block-start: 0; }
.rk-post-content h2 { font-size: 24px; font-weight: var(--fw-medium); line-height: 1.45; margin-block: 2.2rem .8rem; }
.rk-post-content h3 { font-size: 20px; font-weight: var(--fw-medium); line-height: 1.45; margin-block: 1.8rem .6rem; }
.rk-post-content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: .5px; }
.rk-post-content ul, .rk-post-content ol { padding-inline-start: 1.4rem; }
.rk-post-content li { margin-block: .4rem; }
.rk-post-content img { max-width: 100%; height: auto; border-radius: var(--radius-md); display: block; }
.rk-post-content figure { margin-block: 1.8rem; }
.rk-post-content figcaption { font-size: var(--fs-tiny); color: var(--color-text-faint); text-align: center; margin-top: 8px; }
.rk-post-content blockquote { border-inline-start: 2px solid var(--color-accent); padding-inline-start: 1.1rem; margin-inline: 0; color: var(--color-text-muted); font-size: 18px; }
.rk-post-content .wp-block-embed { margin-block: 1.8rem; }
.rk-post-content video, .rk-post-content iframe { max-width: 100%; border-radius: var(--radius-md); }

/* کد — LTR و مونواسپیس، تمیز و بدون JS */
.rk-post-content code, .rk-post-content pre, .rk-post-content kbd {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  direction: ltr;
}
.rk-post-content :not(pre) > code { background: var(--color-surface); padding: 2px 6px; border-radius: 6px; font-size: .88em; unicode-bidi: embed; }
.rk-post-content pre, .rk-post-content .wp-block-code {
  background: var(--color-surface);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.2rem; overflow-x: auto;
  text-align: left; font-size: 13.5px; line-height: 1.85;
  margin-block: 1.8rem;
}
.rk-post-content pre code, .rk-post-content .wp-block-code code { background: none; padding: 0; font-size: inherit; }

/* ============================================================
   دیدگاه‌ها — مینیمال، تو‌در‌تو، بدون Gravatar
   ============================================================ */
.rk-comments { margin-top: 3rem; padding-top: 2rem; border-top: 0.5px solid var(--color-border); }
.rk-comments-title { margin-bottom: 1.6rem; }
.rk-comment-list, .rk-comment-list .children { list-style: none; margin: 0; padding: 0; }
.rk-comment-list .children {
  margin-top: 1.1rem;
  padding-inline-start: 1.25rem;
  border-inline-start: 0.5px solid var(--color-border);
}
.rk-comment { margin-bottom: 1.4rem; }
/* جداکنندهٔ ظریف فقط بین دیدگاه‌های اصلی (نه پاسخ‌ها) */
.rk-comment-list > .rk-comment { padding-bottom: 1.4rem; border-bottom: 0.5px solid var(--color-border); }
.rk-comment-list > .rk-comment:last-child { border-bottom: 0; padding-bottom: 0; }
.rk-comment-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.rk-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--color-accent-soft); color: var(--color-accent);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: var(--fw-medium); font-size: 15px; flex-shrink: 0;
}
.rk-comment-meta { display: flex; flex-direction: column; gap: 1px; }
.rk-comment-author { font-weight: var(--fw-medium); font-size: 14px; }
.rk-comment-date { font-size: var(--fs-tiny); color: var(--color-text-faint); }
.rk-comment-text { font-size: var(--fs-small); line-height: 1.9; color: var(--color-text); }
.rk-comment-text p { margin: 0 0 .5rem; }
.rk-comment-text p:last-child { margin-bottom: 0; }
.rk-comment-actions { margin-top: 6px; }
.rk-comment-actions a { font-size: var(--fs-tiny); color: var(--color-accent); }
.rk-comment.bypostauthor > .rk-comment-body .rk-comment-author::after {
  content: "نویسنده"; font-size: var(--fs-tiny); font-weight: var(--fw-regular);
  color: var(--color-accent); background: var(--color-accent-soft);
  padding: 1px 8px; border-radius: var(--radius-pill); margin-inline-start: 8px;
}

.rk-comment-pagination { margin: 1.8rem 0; }
.rk-comment-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
/* پیجینیشن پیلی — مشترک دیدگاه و وبلاگ */
.rk-comment-pagination .page-numbers,
.rk-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 10px;
  border: 0.5px solid var(--color-border); border-radius: var(--radius-md);
  font-size: var(--fs-small); color: var(--color-text-muted);
  transition: border-color .15s ease, color .15s ease;
}
.rk-comment-pagination a.page-numbers:hover,
.rk-pagination a.page-numbers:hover { border-color: var(--color-border-strong); color: var(--color-text); }
.rk-comment-pagination .page-numbers.current,
.rk-pagination .page-numbers.current { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); }
.rk-comment-pagination .page-numbers.dots,
.rk-pagination .page-numbers.dots { border: 0; min-width: 0; }

/* فرم دیدگاه */
.rk-comment-form { margin-top: 2.4rem; max-width: none; }
.rk-comment-form .comment-reply-title { font-size: var(--fs-h2); font-weight: var(--fw-medium); margin-bottom: 1rem; }
.rk-comment-form label { font-size: var(--fs-small); font-weight: var(--fw-medium); display: block; margin-bottom: 4px; }
.rk-comment-form p { margin-bottom: 1rem; }
.rk-comment-form input[type="text"],
.rk-comment-form input[type="email"],
.rk-comment-form input[type="url"],
.rk-comment-form textarea {
  font-family: inherit; font-size: var(--fs-small); color: var(--color-text); background: var(--color-bg);
  border: 0.5px solid var(--color-border-strong); border-radius: var(--radius-md);
  padding: 10px 12px; width: 100%;
}
.rk-comment-form textarea { min-height: 120px; resize: vertical; line-height: var(--lh-body); }
.rk-comment-form input:focus, .rk-comment-form textarea:focus { outline: none; border-color: var(--color-accent); }
.rk-comment-form input[type="submit"] {
  background: var(--color-text); color: var(--color-bg); border: 0;
  padding: 11px 26px; border-radius: var(--radius-md);
  font-family: inherit; font-size: 14px; font-weight: var(--fw-medium); cursor: pointer; width: auto;
  transition: opacity .15s ease;
}
.rk-comment-form input[type="submit"]:hover { opacity: .88; }
.rk-comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.rk-comment-form .comment-form-cookies-consent input { width: auto; }

/* ریسپانسیو وبلاگ */
@media (max-width: 720px) {
  .rk-blog-grid, .rk-series-grid, .rk-bento { grid-template-columns: 1fr; }
  .rk-bento-side { grid-template-rows: none; }
  .rk-bento-side .rk-post-card { display: block; }
  .rk-bento-side .rk-pc-media { width: 100%; aspect-ratio: 16 / 10; }
  .rk-post-content { font-size: 16px; }
}

/* ردیف لوگوی مشتریان */
.rk-logo-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2.5rem; }
.rk-logo-row figure { margin: 0; }
.rk-logo-row img {
  height: 48px; width: auto; max-width: 160px; object-fit: contain;
  opacity: .55; filter: grayscale(1);
  transition: opacity .15s ease, filter .15s ease;
}
.rk-logo-row img:hover { opacity: 1; filter: none; }

/* ============================================================
   رفع نشتِ فاصله‌ی blockGapِ لِی‌اوت flow روی آیتم‌های گرید/فلکس.
   فاصله‌ی داخل این کامپوننت‌ها را خودِ توکن‌ها/گرید کنترل می‌کنند،
   نه margin خودکار گوتنبرگ — تا اولین آیتم بالاتر نیفتد.
   ============================================================ */
.rk-stat-grid > *,
.rk-feature-grid > *,
.rk-plan-grid > *,
.rk-platform-grid > *,
.rk-process-grid > *,
.rk-type-grid > *,
.rk-logo-row > *,
.rk-stat > *,
.rk-feature > *,
.rk-plan > *,
.rk-platform > *,
.rk-step > *,
.rk-type-card > *,
.rk-cta-band > *,
.rk-faq > *,
.rk-feature .head > * { margin-block-start: 0; margin-block-end: 0; }

.rk-section { padding: var(--space-section) 0; }
.rk-section--tight { padding-top: 0; }

/* مسیریاب — نوار کوچک هدایت بازدیدکننده‌ی اشتباه */
.rk-wayfinder {
  display: flex; align-items: center; gap: 14px;
  background: var(--color-surface); border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md); padding: 0.875rem 1.25rem;
}
.rk-wayfinder svg { flex-shrink: 0; color: var(--color-text-muted); }
.rk-wayfinder p { margin: 0; font-size: var(--fs-small); line-height: 1.6; color: var(--color-text-muted); }
.rk-wayfinder strong { color: var(--color-text); font-weight: var(--fw-medium); display: block; margin-bottom: 2px; }
.rk-wayfinder a { color: var(--color-accent); }
/* اولین بخشِ ساده‌ی هر صفحه کمی نفسِ بیشتری زیرِ هدر بگیرد */
.rk-wrap > .rk-section:first-child:not(.rk-band) { padding-top: 2rem; }

/* ============================================================
   باندهای تمام‌عرض + هیروی نامتقارن (پولیش بصری)
   ============================================================ */
/* پس‌زمینه‌ی تمام‌عرض با محتوای هم‌تراز ستونِ اصلی (بدون اسکرول افقی) */
.rk-band {
  margin-inline: calc(50% - 50vw);
  margin-block: 0;
  padding-inline: calc(50vw - 50%);
}
.rk-band--surface { background: var(--color-surface); }
.rk-band--accent  { background: var(--color-accent-soft); }
.rk-band--dark    { background: var(--color-accent); color: var(--color-bg); }
.rk-band--dark .rk-cta-band { background: transparent; }
.rk-band--dark .rk-cta-band .title { color: var(--color-bg); }
.rk-band--dark .rk-cta-band p { color: rgba(255, 255, 255, 0.75); margin-bottom: 0; }
.rk-band.rk-section { padding-block: clamp(2rem, 4vw, 3rem); }
.rk-band--dark.rk-section { padding-block: clamp(1.25rem, 3vw, 2rem); }

/* کارت‌ها روی باندهای تینت‌دار: پس‌زمینه‌ی سفید + کادرِ ظریف تا از باند جدا و «کنده» شوند
   (وگرنه کارتِ بژ روی باندِ بژ گم می‌شود و روی باندِ سبز ناهماهنگ می‌نماید) */
.rk-band .rk-feature,
.rk-band .rk-type-card,
.rk-band .rk-stat,
.rk-band .rk-platform,
.rk-band .rk-plugin-card,
.rk-band .rk-pf-card,
.rk-band .rk-testimonial {
  background: var(--color-bg);
  border: 0.5px solid var(--color-border);
}
/* کارت نقل‌قول روی باند سبز: fade را به رنگ خود کارت تنظیم کن (نه رنگ باند) */
.rk-band--accent .rk-testimonial { --clamp-fade-to: var(--color-bg); }

/* هیرو — دو ستونه: متن + ویژوال */
.rk-hero { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 2.5rem; align-items: center; }
.rk-hero > * { margin-block: 0; }
.rk-hero-text { display: flex; flex-direction: column; align-items: flex-start; }
.rk-hero-text .rk-badge { margin-bottom: 1rem; }
.rk-hero-text h1 { font-size: var(--fs-hero); font-weight: var(--fw-medium); line-height: 1.3; margin: 0 0 1rem; }
.rk-hero-text .rk-lead { margin: 0 0 1.75rem; max-width: 460px; }
.rk-hero-text .wp-block-buttons { margin: 0; gap: 10px; }
.rk-hero-visual { display: block; }
.rk-hero-visual svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 18px 40px rgba(26, 26, 24, 0.12)); }

/* انیمیشن ورود SVG هیرو — fade-up پله‌ای، بدون JS برای حرکت‌کاهی */
@keyframes rk-hero-in {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: translateY(0); }
}
.rk-hero-visual svg > * {
  animation: rk-hero-in 360ms cubic-bezier(0.22, 0, 0.2, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  .rk-hero-visual svg > * { animation: none; }
}
.rk-hero-visual img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); border: 0.5px solid var(--color-border); box-shadow: 0 18px 40px rgba(26, 26, 24, 0.12); }

/* گالری اسکرین‌شاتِ محصول — تصویرِ بزرگِ تمام‌عرض + دو تصویرِ کوچک‌تر زیرش */
.rk-shot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.rk-shot-grid .rk-shot-wide { grid-column: 1 / -1; }
.rk-shot-grid img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); border: 0.5px solid var(--color-border); }
@media (max-width: 680px) { .rk-shot-grid { grid-template-columns: 1fr; } }

@media (max-width: 768px) {
  .rk-hero { grid-template-columns: 1fr; gap: 1.75rem; }
  .rk-hero-visual { order: -1; max-width: 340px; }
}

/* هدر و فوتر */
.rk-site-header {
  border-bottom: 0.5px solid var(--color-border);
  background: var(--color-bg);
}
/* استیکی روی رپرِ template-part (والدِ مستقیمِ .wp-site-blocks) تا فضای حرکت داشته باشد.
   اگر sticky را روی .rk-site-header بگذاریم، والدِ کوتاهش اجازه‌ی چسبیدن نمی‌دهد. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.rk-site-header .inner { display: flex; justify-content: space-between; align-items: center; padding-block: 1.1rem; }
.rk-site-header .brand { font-size: 20px; font-weight: var(--fw-medium); display: inline-flex; align-items: center; gap: .45rem; }
.rk-brand-logo { height: 28px; width: auto; display: block; }
.rk-brand-text { display: flex; flex-direction: column; gap: 1px; }
.rk-brand-name { font-size: 20px; font-weight: var(--fw-medium); line-height: 1.2; }
.rk-brand-tagline { font-size: 10px; font-weight: var(--fw-normal); color: var(--color-text-muted); line-height: 1; }
.rk-site-header nav { display: flex; gap: 22px; align-items: center; font-size: 14px; color: var(--color-text-muted); }
.rk-site-header nav .rk-menu { display: flex; gap: 22px; align-items: center; list-style: none; margin: 0; padding: 0; }
.rk-site-header nav .rk-menu li { margin: 0; }
.rk-site-header nav .rk-menu a { color: var(--color-text-muted); transition: color .15s ease; }
.rk-site-header nav .rk-menu a:hover,
.rk-site-header nav .rk-menu .current-menu-item > a { color: var(--color-text); }
.rk-site-header nav .rk-btn-primary { padding: 7px 16px; font-size: 13px; color: var(--color-bg); }

/* زیرمنوی کشویی — فقط CSS، بدون JS. بر پایه توکن‌های طراحی. */
.rk-site-header nav .rk-menu li { position: relative; }
.rk-site-header nav .rk-menu .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 6px; }
.rk-site-header nav .rk-menu .menu-item-has-children > a::after {
  content: ""; flex-shrink: 0;
  width: 6px; height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transform-origin: center;
  opacity: .55; transition: transform .15s ease;
}
.rk-site-header nav .rk-menu .menu-item-has-children:hover > a::after,
.rk-site-header nav .rk-menu .menu-item-has-children:focus-within > a::after {
  transform: translateY(1px) rotate(225deg);
}

.rk-site-header nav .rk-menu .sub-menu {
  list-style: none; margin: 0; padding: 6px;
  position: absolute; inset-inline-start: 0; top: calc(100% + 10px);
  min-width: 180px;
  display: flex; flex-direction: column; gap: 2px;
  background: var(--color-bg);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 28px rgba(26, 26, 24, 0.10);
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
  z-index: 50;
}
/* پل نامرئی روی فاصله تا با حرکت ماوس کشو بسته نشود */
.rk-site-header nav .rk-menu .sub-menu::before {
  content: ""; position: absolute; top: -10px; inset-inline: 0; height: 10px;
}
.rk-site-header nav .rk-menu li:hover > .sub-menu,
.rk-site-header nav .rk-menu li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.rk-site-header nav .rk-menu .sub-menu li { width: 100%; }
.rk-site-header nav .rk-menu .sub-menu a {
  display: block; width: 100%;
  padding: 7px 10px; border-radius: 6px;
  font-size: var(--fs-small); white-space: nowrap;
  color: var(--color-text-muted);
}
.rk-site-header nav .rk-menu .sub-menu a:hover,
.rk-site-header nav .rk-menu .sub-menu .current-menu-item > a {
  background: var(--color-surface); color: var(--color-text);
}

/* همبرگر/کشو فقط در موبایل — در دسکتاپ پنهان */
.rk-nav-toggle, .rk-burger, .rk-nav-overlay { display: none; }
/* آیکونِ سرفصل‌ها فقط در منوی موبایل دیده می‌شود */
.rk-mi-icon { display: none; }
/* دکمه‌ی «بازگشت» که JS تزریق می‌کند فقط در drillِ موبایل دیده می‌شود؛
   در دسکتاپ (دراپ‌داون) و حالتِ بدون‌JS مخفی است تا منو خراب نشود. */
.rk-submenu-back { display: none; }

/* ============================================================
   هدر موبایل — کشوی سمت راست (فقط CSS، بدون JS)
   ============================================================ */
@media (max-width: 720px) {
  /* چک‌باکسِ مخفی که وضعیت باز/بسته را نگه می‌دارد */
  .rk-nav-toggle { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }

  /* نوار: لوگو وسط، همبرگر سمت راست — ارتفاعِ فشرده‌تر */
  .rk-site-header .inner { position: relative; justify-content: center; padding-block: 0.6rem; }
  .rk-site-header .brand { font-size: 18px; }
  .rk-brand-logo { height: 24px; }
  .rk-brand-tagline { display: none; }

  /* آیکن همبرگر — سمت راست */
  .rk-burger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 42px; height: 42px; padding: 9px; cursor: pointer;
    position: absolute; right: 0; top: 50%; transform: translateY(-50%);
    z-index: 60;
  }
  .rk-burger span { display: block; width: 100%; height: 2px; border-radius: 2px; background: var(--color-text); transition: transform .2s ease, opacity .2s ease; }
  .rk-nav-toggle:checked ~ .rk-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .rk-nav-toggle:checked ~ .rk-burger span:nth-child(2) { opacity: 0; }
  .rk-nav-toggle:checked ~ .rk-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* کشو از سمت راست (فیزیکی) */
  .rk-site-header nav.rk-nav {
    position: fixed; top: 0; right: 0; left: auto;
    height: 100vh; height: 100dvh; width: min(82vw, 320px);
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 5rem 1.5rem 2rem;
    background: var(--color-bg);
    border-left: 0.5px solid var(--color-border);
    box-shadow: -10px 0 30px rgba(26, 26, 24, 0.12);
    transform: translateX(100%);
    transition: transform .25s ease;
    z-index: 55; overflow-y: auto;
  }
  .rk-nav-toggle:checked ~ nav.rk-nav { transform: translateX(0); }

  /* پوشش پشتِ کشو — با کلیک بسته می‌شود */
  .rk-nav-overlay { display: block; position: fixed; inset: 0; background: rgba(26, 26, 24, 0.35); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; z-index: 50; }
  .rk-nav-toggle:checked ~ .rk-nav-overlay { opacity: 1; visibility: visible; }

  /* قفل اسکرول پس‌زمینه هنگام باز بودن */
  body:has(.rk-nav-toggle:checked) { overflow: hidden; }

  /* منو به‌صورت عمودی، ردیف‌های فشرده. چیدمانِ قطعی با grid:
     ستونِ راست = آیکون، وسط = عنوان، چپ = فلشِ «جلو». */
  .rk-site-header nav .rk-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .rk-site-header nav .rk-menu > li { border-bottom: 0.5px solid var(--color-border); }
  .rk-site-header nav .rk-menu > li > a,
  .rk-site-header nav .rk-menu .menu-item-has-children > a {
    display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 12px;
    padding: 11px 2px; color: var(--color-text); font-size: 15px;
  }
  .rk-site-header nav .rk-menu .rk-mi-icon { display: inline-flex; width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; }
  .rk-site-header nav .rk-menu .rk-mi-label { text-align: start; }

  /* بدونِ JS: زیرمنوها بازِ تورفته بمانند (fallbackِ در دسترس) */
  .rk-site-header nav .rk-menu .menu-item-has-children > a::after { display: none; }
  .rk-site-header nav .rk-menu .sub-menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; padding: 0; min-width: 0; background: transparent;
    display: block;
  }
  .rk-site-header nav .rk-menu .sub-menu::before { display: none; }
  .rk-site-header nav .rk-menu .sub-menu a { display: block; padding: 11px 0 11px 1.75rem; color: var(--color-text-muted); font-size: 14px; }
  .rk-site-header nav .rk-menu .sub-menu li { border: 0; }

  /* با JS: منوی drill-down (سطح‌به‌سطح) */
  /* نشانگرِ «جلو» (‹) روی سرفصل‌های دارای زیرمنو — در ستونِ سومِ گرید (سمتِ چپ).
     border:0 لازم است تا بوردرهای چِورونِ دسکتاپ (border-right/bottom) پاک شوند،
     وگرنه هر چهار ضلع می‌مانند و به‌جای چِورون یک لوزی می‌شود. */
  .rk-js .rk-site-header nav .rk-menu .menu-item-has-children > a::after {
    display: block; content: ""; flex-shrink: 0;
    width: 7px; height: 7px; margin: 0; opacity: .55;
    border: 0;
    border-left: 1.5px solid var(--color-text-faint);
    border-bottom: 1.5px solid var(--color-text-faint);
    transform: rotate(45deg);
  }
  /* در موبایل، پوزیشنِ relativeِ دسکتاپ روی li برداشته شود تا پنلِ absolute
     به‌جای یک ردیف، نسبت به کلِ کشو (nav.rk-nav که fixed است) لنگر بگیرد */
  .rk-site-header nav .rk-menu li { position: static; }

  /* در موبایل (حالتِ JS/drill)، هاور نباید زیرمنو را باز کند (روی لمسی/دِوتولز
     «هاور» می‌چسبد و بازگشت را بی‌اثر می‌کند). باز/بسته فقط با کلیک = is-open. */
  .rk-js .rk-site-header nav .rk-menu li:hover > .sub-menu,
  .rk-js .rk-site-header nav .rk-menu li:focus-within > .sub-menu {
    opacity: 1; visibility: hidden; transform: translateX(100%);
  }

  /* پنلِ زیرمنو: روی کلِ کشو، از سمت راست وارد می‌شود */
  .rk-js .rk-site-header nav .rk-menu .sub-menu {
    position: absolute; inset: 0; margin: 0;
    padding: 4.75rem 1.5rem 2rem;
    display: flex; flex-direction: column; gap: 0;
    background: var(--color-bg);
    transform: translateX(100%); transition: transform .25s ease;
    visibility: hidden; overflow-y: auto; z-index: 5;
  }
  .rk-js .rk-site-header nav .rk-menu .menu-item-has-children.is-open > .sub-menu {
    transform: translateX(0); visibility: visible;
  }
  .rk-js .rk-site-header nav .rk-menu .sub-menu li { border-bottom: 0.5px solid var(--color-border); }
  .rk-js .rk-site-header nav .rk-menu .sub-menu a { padding: 13px 2px; color: var(--color-text); font-size: 15px; }

  /* دکمه‌ی بازگشت (سرستونِ پنل) — فقط در drillِ موبایل.
     چیدمانِ قطعی با grid: آیکونِ بازگشت سمتِ راست (leading در RTL)، عنوان کنارش. */
  .rk-js .rk-submenu-back { display: block; border-bottom: 0.5px solid var(--color-border); }
  .rk-submenu-back-btn {
    display: grid; grid-template-columns: 20px 1fr; align-items: center; gap: 10px;
    width: 100%; text-align: start;
    padding: 4px 2px 14px; background: none; border: 0;
    font-family: inherit; font-size: 15px; font-weight: var(--fw-medium);
    color: var(--color-text); cursor: pointer;
  }
  .rk-submenu-back-btn svg { width: 20px; height: 20px; color: var(--color-accent); }

  /* دکمه پنل کاربری — تمام‌عرض پایین کشو */
  .rk-site-header nav .rk-btn-primary { margin-top: 1.25rem; text-align: center; padding: 12px; }
}

.rk-site-footer { border-top: 0.5px solid var(--color-border); margin-top: 3rem; background: var(--color-surface); }
.rk-footer-main { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem 2rem; padding-block: 3rem; }
.rk-footer-main > * { margin-block: 0; }
.rk-footer-brand .rk-footer-logo { font-size: 20px; font-weight: var(--fw-medium); color: var(--color-text); }
.rk-footer-brand p { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.9; margin: .75rem 0 1.1rem; max-width: 320px; }
.rk-footer-contact { display: flex; flex-direction: column; gap: 6px; }
.rk-footer-contact a { font-size: 15px; font-weight: var(--fw-medium); color: var(--color-text); width: max-content; }
.rk-footer-contact a:hover { color: var(--color-accent); }
.rk-footer-col { display: flex; flex-direction: column; gap: 11px; }
.rk-footer-col h3 { font-size: var(--fs-small); font-weight: var(--fw-medium); color: var(--color-text); margin: 0 0 3px; }
.rk-footer-col a { font-size: var(--fs-small); color: var(--color-text-muted); transition: color .15s ease; }
.rk-footer-col a:hover { color: var(--color-accent); }
.rk-footer-bar { border-top: 0.5px solid var(--color-border); }
.rk-footer-bar .inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1.25rem; font-size: var(--fs-small); color: var(--color-text-muted); }
.rk-footer-bar a { color: var(--color-text-muted); transition: color .15s ease; }
.rk-footer-bar a:hover { color: var(--color-accent); }
@media (max-width: 880px) { .rk-footer-main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rk-footer-main { grid-template-columns: 1fr; gap: 1.75rem; } }

/* مقاله/برگه ساده */
.rk-entry { padding: var(--space-section) 0; }
.rk-entry .entry-title { font-size: var(--fs-h1); font-weight: var(--fw-medium); line-height: var(--lh-heading); margin-bottom: 1rem; }
.rk-entry .entry-content > * { margin-bottom: 1.1rem; }

/* ریسپانسیو — موبایل اول */
@media (max-width: 720px) {
  :root { --fs-h1: 26px; --space-section: 1.25rem; }
  .rk-stat-grid,
  .rk-feature-grid,
  .rk-plan-grid,
  .rk-platform-grid,
  .rk-type-grid,
  .rk-type-grid--3 { grid-template-columns: 1fr; }
  /* مراحل فرایند و گرید نمونه‌کار: موبایل دو‌ستونه */
  .rk-process-grid,
  .rk-portfolio-grid { grid-template-columns: repeat(2, 1fr); }

  /* موبایل: یک کارت در دید */
  .rk-cs-grid > *         { flex: 0 0 82%; }
  .rk-testimonial-grid > * { flex: 0 0 85%; }

  /* ناوبری اسلایدر در موبایل: دکمه‌ها کوچک‌تر */
  .rk-slider-btn { width: 32px; height: 32px; }
}
