/* =========================================================================
   ASA Espadana — استایل اصلی پوسته
   طراحی مدرن، پاستیلی و راست‌چین | RTL-first
   ========================================================================= */

/* ---------- ۱) متغیرها ---------- */
:root {
	--primary: #5b85b3;
	--primary-d: color-mix(in srgb, var(--primary) 82%, #000);
	--primary-soft: color-mix(in srgb, var(--primary) 13%, #fff);
	--primary-glow: color-mix(in srgb, var(--primary) 32%, transparent);

	--mint: #000000;
	--mint-soft: color-mix(in srgb, var(--mint) 8%, #fff);
	--coral: #8dafe9;
	--coral-soft: color-mix(in srgb, var(--coral) 14%, #fff);
	--sky: #5BA8F5;
	--sky-soft: color-mix(in srgb, var(--sky) 14%, #fff);
	--amber: #F7B955;
	--amber-soft: color-mix(in srgb, var(--amber) 16%, #fff);
	--grad-end: #caeaf9; --violet: #9b6cf6;

	--ink: #1B1F3B;
	--navy: #0f2350; /* سرمه‌ای خالص — پس‌زمینه‌ی تاپ‌بار و فوتر و نوار موبایل */
	--body: #5A6079;
	--muted: #8A90A8;
	--border: #ECEEF6;
	--bg: #ffffff;
	--bg-soft: #ffffff;

	--grad-brand: linear-gradient(135deg, var(--primary) 0%, var(--primary) 58%, var(--grad-end) 100%);
	--grad-hero: linear-gradient(160deg, var(--primary-soft) 0%, color-mix(in srgb, var(--coral) 12%, #fff) 48%, var(--bg-soft) 100%);

	--radius-sm: 12px;
	--radius: 18px;
	--radius-lg: 26px;
	--radius-pill: 999px;

	--shadow-sm: 0 4px 14px -6px rgba(27, 31, 59, .12);
	--shadow: 0 18px 40px -18px rgba(60, 55, 120, .22);
	--shadow-lg: 0 30px 60px -22px rgba(60, 55, 120, .28);
	--shadow-primary: 0 16px 30px -12px var(--primary-glow);

	--container: 1200px;
	--header-h: 76px;
	--ease: cubic-bezier(.22, 1, .36, 1);

	--font: 'Vazirmatn', Tahoma, 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ---------- ۲) ریست و پایه ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--asa-hh, var(--header-h)) + 20px);
	-webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.9;
	color: var(--body);
	background: var(--bg);
	direction: rtl;
	text-align: right;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	color: var(--ink);
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -.01em;
}

p { margin: 0 0 1.1em; }
a { color: var(--primary); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--primary-d); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { padding-inline-start: 1.2em; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--primary); color: #fff; }

.asa-skip-link {
	position: absolute; inset-inline-start: -9999px; top: 0; z-index: 9999;
	background: var(--primary); color: #fff; padding: 10px 18px; border-radius: 0 0 10px 10px;
}
.asa-skip-link:focus { inset-inline-start: 16px; color: #fff; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ---------- ۳) لایه‌بندی ---------- */
.asa-container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: 24px;
}
.asa-section { padding-block: clamp(60px, 9vw, 110px); position: relative; }

.section-head { max-width: 680px; margin-inline: auto; text-align: center; margin-bottom: 54px; }
.section-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; text-align: right; max-width: none; }
.section-eyebrow {
	display: inline-block; font-size: .85rem; font-weight: 700; color: var(--primary);
	background: var(--primary-soft); padding: 6px 16px; border-radius: var(--radius-pill); margin-bottom: 16px;
}
a.section-eyebrow-link { text-decoration: none; cursor: pointer; transition: background .25s var(--ease), transform .25s var(--ease), color .25s; }
a.section-eyebrow-link:hover { background: var(--primary); color: #fff; transform: translateY(-2px); }
.section-title { font-size: clamp(1.7rem, 3.6vw, 2.6rem); margin-bottom: .4em; }
.section-sub { font-size: 1.08rem; color: var(--muted); margin: 0; }

/* ---------- ۴) دکمه‌ها ---------- */
.asa-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 24px; border-radius: 14px; border: 0; cursor: pointer;
	font-family: var(--font); font-size: 1rem; font-weight: 700; line-height: 1;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .2s;
	white-space: nowrap;
}
.asa-btn svg { transition: transform .25s var(--ease); }
.asa-btn-lg { padding: 16px 32px; font-size: 1.05rem; border-radius: 16px; }
.asa-btn-block { width: 100%; }

.asa-btn-primary { background: var(--grad-brand); color: #fff; box-shadow: var(--shadow-primary); }
.asa-btn-primary:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 22px 40px -14px var(--primary-glow); }
.asa-btn-primary:hover svg { transform: translateX(-4px); }

.asa-btn-soft { background: var(--primary-soft); color: var(--primary); }
.asa-btn-soft:hover { background: #dbe6f1; color: var(--primary-d); transform: translateY(-3px); }

.asa-btn-white { background: #fff; color: var(--primary); box-shadow: var(--shadow); }
.asa-btn-white:hover { color: var(--primary-d); transform: translateY(-3px); }

.asa-btn-ghost-white { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.4); }
.asa-btn-ghost-white:hover { background: rgba(255,255,255,.24); color: #fff; transform: translateY(-3px); }

/* ---------- ۵) نوار بالایی ---------- */
.asa-topbar {
	background: var(--navy); color: #cfd2e6; font-size: .85rem;
}
.topbar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 42px; gap: 14px; }
.topbar-info { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.topbar-link { display: inline-flex; align-items: center; gap: 7px; color: #cfd2e6; }
.topbar-link svg { color: var(--primary); opacity: .9; }
.topbar-link:hover { color: #fff; }
.topbar-sep { width: 1px; height: 16px; background: rgba(255,255,255,.18); }
.topbar-social { display: flex; gap: 8px; }
.social-dot {
	width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center;
	background: rgba(255,255,255,.1); color: #fff; font-size: .8rem; font-weight: 700; transition: .25s var(--ease);
}
.social-dot:hover { background: var(--primary); color: #fff; transform: translateY(-2px); }
.social-dot svg { width: 15px; height: 15px; }

/* ---------- ۶) هدر و ناوبری ---------- */
.asa-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.82);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: box-shadow .3s var(--ease), border-color .3s, background .3s;
}
.asa-header.is-stuck { box-shadow: 0 10px 30px -18px rgba(27,31,59,.25); border-bottom-color: var(--border); background: rgba(255,255,255,.92); }
.admin-bar .asa-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .asa-header { top: 46px; } }
.asa-header.is-static { position: static; }
.topbar-note { font-weight: 700; color: #fff; }
.header-inner { display: flex; align-items: center; gap: 24px; min-height: var(--header-h); }

.asa-branding { flex-shrink: 0; }
.asa-logo, .custom-logo-link { display: inline-flex; align-items: center; gap: 11px; }
.asa-logo-mark { display: inline-flex; filter: drop-shadow(0 8px 16px var(--primary-glow)); }
.asa-logo-text { display: flex; flex-direction: column; line-height: 1.25; }
.asa-logo-title { font-weight: 800; font-size: 1.18rem; color: var(--ink); }
.asa-logo-sub { font-size: .72rem; color: var(--muted); font-weight: 600; }

.asa-nav { margin-inline-start: auto; }
.asa-nav-head, .asa-nav-foot { display: none; }
/* تراز منوی اصلی در هدر — فقط دسکتاپ (در موبایل، منو کشویی است) */
@media (min-width: 881px) {
	.nav-align-right .asa-nav { margin-inline-start: 0; }
	.nav-align-right .header-actions { margin-inline-start: auto; }
	.nav-align-center .asa-nav { margin-inline: auto; }
	.nav-align-left .asa-nav { margin-inline-start: auto; }
}
.asa-menu { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.asa-menu li { position: relative; }
.asa-menu a {
	display: block; padding: 10px 15px; color: var(--ink); font-weight: 600; font-size: .98rem;
	border-radius: 10px; transition: color .2s, background .2s;
}
.asa-menu a:hover, .asa-menu .current-menu-item > a, .asa-menu .current_page_item > a {
	color: var(--primary); background: var(--primary-soft);
}
/* زیرمنو */
.asa-menu .sub-menu {
	position: absolute; top: 100%; inset-inline-end: 0; min-width: 220px; list-style: none;
	background: #fff; border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow);
	padding: 8px; margin: 10px 0 0; opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: .25s var(--ease); z-index: 50;
}
.asa-menu li:hover > .sub-menu,
.asa-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.asa-menu .sub-menu a { padding: 9px 13px; font-size: .92rem; }
.asa-menu .menu-item-has-children > a::after { content: '⌄'; margin-inline-start: 5px; font-size: .8em; opacity: .6; }

.header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* دکمه‌ی همبرگری */
.asa-menu-toggle {
	display: none; width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 12px;
	background: #fff; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.asa-menu-toggle span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: .3s var(--ease); }
.asa-menu-open .asa-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.asa-menu-open .asa-menu-toggle span:nth-child(2) { opacity: 0; }
.asa-menu-open .asa-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.asa-mobile-overlay {
	position: fixed; inset: 0; background: rgba(27,31,59,.45); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
	z-index: 90; opacity: 0; transition: opacity .3s; pointer-events: none;
}
.asa-menu-open .asa-mobile-overlay { opacity: 1; pointer-events: auto; }

/* ---------- ۷) بخش قهرمان ---------- */
.asa-hero { position: relative; padding-top: clamp(40px, 7vw, 80px); padding-bottom: clamp(80px, 12vw, 150px); overflow: hidden; background: var(--grad-hero); }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: 50px; position: relative; z-index: 2; }
.hero-content, .hero-visual { min-width: 0; }

.hero-blobs { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; filter: blur(48px); opacity: .55; }
.blob-1 { width: 360px; height: 360px; background: color-mix(in srgb, var(--primary) 42%, #fff); top: -80px; inset-inline-end: -60px; animation: blob 16s var(--ease) infinite; }
.blob-2 { width: 300px; height: 300px; background: color-mix(in srgb, var(--sky) 40%, #fff); bottom: -60px; inset-inline-start: 8%; animation: blob 20s var(--ease) infinite reverse; }
.blob-3 { width: 260px; height: 260px; background: color-mix(in srgb, var(--coral) 50%, #fff); top: 30%; inset-inline-start: 36%; animation: blob 18s var(--ease) infinite 2s; }
.hero-grid-pattern {
	position: absolute; inset: 0;
	background-image: linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);
	background-size: 46px 46px; opacity: .4;
	-webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 75%);
	mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 75%);
}

.hero-badge {
	display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.7);
	border: 1px solid #fff; box-shadow: var(--shadow-sm); padding: 7px 16px; border-radius: var(--radius-pill);
	font-size: .9rem; font-weight: 700; color: var(--ink); margin-bottom: 22px;
}
.badge-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent); animation: pulse 2s infinite; }
.hero-title { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.3; margin-bottom: .5em; color: var(--ink); }
.hero-desc { font-size: 1.15rem; color: var(--body); max-width: 540px; margin-bottom: 32px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.hero-trust { display: flex; align-items: center; gap: 14px; }
.hero-trust p { margin: 0; font-size: .92rem; color: var(--muted); }
.hero-trust strong { color: var(--ink); }
.trust-avatars { display: flex; }
.trust-avatars span {
	width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
	background: var(--c); color: #fff; font-weight: 700; border: 3px solid #fff; margin-inline-start: -10px; font-size: .9rem;
}
.trust-avatars span:first-child { margin-inline-start: 0; }

/* داشبورد قهرمان */
.hero-visual { position: relative; }
.hero-dashboard { position: relative; transition: transform .2s var(--ease); will-change: transform; animation: floaty 7s ease-in-out infinite; }
.dash-window { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); border: 1px solid var(--border); overflow: hidden; }
.dash-titlebar { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--border); background: var(--bg-soft); }
.dash-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--c); }
.dash-title { margin-inline-start: auto; font-size: .82rem; font-weight: 700; color: var(--muted); }
.dash-body { padding: 20px; }
.dash-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.kpi { background: var(--bg-soft); border: 1px solid var(--border); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.kpi-label { font-size: .72rem; color: var(--muted); font-weight: 600; }
.kpi-value { font-size: 1.25rem; font-weight: 800; color: var(--ink); }
.kpi-trend { font-size: .72rem; color: var(--muted); }
.kpi-trend.up { color: var(--mint); font-weight: 700; }
.dash-chart { position: relative; background: var(--bg-soft); border: 1px solid var(--border); border-radius: 14px; padding: 16px; }
.chart-svg { width: 100%; height: 100px; display: block; }
/* نمودار همیشه از رنگِ برند پیروی می‌کند (CSS بر خصیصه‌های SVG مقدم است) */
.chart-svg .chart-line { stroke: var(--primary); }
.chart-svg stop { stop-color: var(--primary); }
.chart-line { stroke-dasharray: 600; stroke-dashoffset: 600; animation: draw 2.4s var(--ease) forwards .3s; }
.chart-bars { display: flex; align-items: flex-end; gap: 8px; height: 56px; margin-top: 10px; }
.chart-bars span { flex: 1; height: var(--h); background: linear-gradient(180deg, var(--primary) , color-mix(in srgb, var(--primary) 30%, #fff)); border-radius: 6px 6px 0 0; opacity: .85; transform-origin: bottom; animation: growBar .9s var(--ease) backwards; }
.chart-bars span:nth-child(1){ animation-delay:.1s } .chart-bars span:nth-child(2){ animation-delay:.18s }
.chart-bars span:nth-child(3){ animation-delay:.26s } .chart-bars span:nth-child(4){ animation-delay:.34s }
.chart-bars span:nth-child(5){ animation-delay:.42s } .chart-bars span:nth-child(6){ animation-delay:.5s }
.chart-bars span:nth-child(7){ animation-delay:.58s }

.dash-float {
	position: absolute; background: #fff; border: 1px solid var(--border); border-radius: 16px;
	box-shadow: var(--shadow); padding: 11px 15px; display: flex; align-items: center; gap: 11px;
}
.dash-float strong { display: block; font-size: .85rem; color: var(--ink); }
.dash-float small { font-size: .72rem; color: var(--muted); }
.float-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 14%, #fff); color: var(--c); }
.dash-float-1 { bottom: 30px; inset-inline-start: -34px; animation: floaty 6s ease-in-out infinite .5s; }
.dash-float-2 { top: 40px; inset-inline-end: -28px; animation: floaty 6.5s ease-in-out infinite 1.2s; }

.hero-wave { position: absolute; bottom: -1px; inset-inline: 0; line-height: 0; z-index: 2; }
.hero-wave svg { width: 100%; height: 60px; }

/* حالتِ «تصویرِ دلخواه» به‌جای داشبورد */
.hero-image { animation: floaty 7s ease-in-out infinite; }
.hero-image img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); border: 1px solid var(--border); }

/* حالتِ «بدونِ ویژوال»: متنِ وسط‌چین در یک ستون */
.hero-inner.no-visual { grid-template-columns: 1fr; max-width: 860px; text-align: center; }
.hero-inner.no-visual .hero-desc { margin-inline: auto; }
.hero-inner.no-visual .hero-actions { justify-content: center; }
.hero-inner.no-visual .hero-social { align-items: center; }

/* ---------- ۸) درباره ما + گرافیک دوبعدی یکپارچگی سازمان ---------- */
.asa-about {
	position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(76px, 8vw, 126px);
	background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--primary) 5%, #fff) 55%, #fff 100%);
	border-bottom: 1px solid var(--border);
}
/* در صفحه‌های ساخته‌شده با المنتور، نسخه‌ی قدیمیِ ساده‌ی #about پنهان می‌شود
   و بخش پویا/قابل‌ویرایش پوسته جای آن قرار می‌گیرد. در حالت مستقل نیز هیچ
   نسخه‌ای از درباره ما داخل صفحه اصلی باقی نمی‌ماند. */
body.asa-about-is-embedded .asa-elementor-front #about:not(.asa-about),
body.asa-about-is-standalone .asa-elementor-front #about { display: none !important; }
.asa-about-page-shell { min-width: 0; overflow: hidden; overflow: clip; }
.about-backdrop { position: absolute; z-index: -2; inset: 0; overflow: hidden; pointer-events: none; }
.about-backdrop-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .58; }
.about-backdrop-orb-one { width: clamp(360px, 42vw, 680px); height: clamp(360px, 42vw, 680px); inset-inline-start: -24%; top: -35%; background: radial-gradient(circle, color-mix(in srgb, var(--primary) 15%, transparent), transparent 70%); }
.about-backdrop-orb-two { width: clamp(320px, 38vw, 580px); height: clamp(320px, 38vw, 580px); inset-inline-end: -18%; bottom: -32%; background: radial-gradient(circle, rgba(247,185,85,.14), transparent 70%); }
.about-backdrop-grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(color-mix(in srgb,var(--primary) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--primary) 9%,transparent) 1px,transparent 1px); background-size: 42px 42px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 26%, #000 74%, transparent); mask-image: linear-gradient(90deg, transparent, #000 26%, #000 74%, transparent); }
.about-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); align-items: center; gap: clamp(46px, 7vw, 106px); }
.about-content,.about-visual-wrap { min-width: 0; }
.about-title { max-width: 760px; margin: 12px 0 20px; text-align: start; font-size: clamp(32px, 4vw, 52px); line-height: 1.5; overflow-wrap: anywhere; }
.about-lead { margin: 0; color: var(--ink); font-size: clamp(17px, 1.35vw, 20px); font-weight: 650; line-height: 2.05; }
.about-body { margin: 18px 0 0; color: var(--body); font-size: 16px; line-height: 2.15; }
.about-quote { position: relative; display: flex; align-items: flex-start; gap: 12px; margin: 25px 0 0; padding: 19px 21px; border: 1px solid color-mix(in srgb,var(--primary) 20%,var(--border)); border-inline-start: 4px solid var(--primary); border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: 0 15px 42px rgba(37,52,82,.06); }
.about-quote>span { flex: 0 0 auto; color: var(--primary); font-family: Georgia,serif; font-size: 42px; font-weight: 900; line-height: .9; }
.about-quote p { margin: 0; color: var(--ink); font-weight: 750; line-height: 1.95; }
.about-system-map { position: relative; width: 100%; aspect-ratio: 1.18; min-height: 390px; border: 1px solid rgba(255,255,255,.9); border-radius: clamp(28px,4vw,46px); background: linear-gradient(145deg,rgba(255,255,255,.88),color-mix(in srgb,var(--primary) 8%,rgba(255,255,255,.72))); box-shadow: 0 36px 90px rgba(35,53,87,.14),inset 0 1px 0 #fff; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.about-system-glow { position: absolute; inset: 14%; border-radius: 50%; background: radial-gradient(circle,color-mix(in srgb,var(--primary) 18%,transparent),transparent 68%); }
.about-system-orbit { position: absolute; border: 1px dashed color-mix(in srgb,var(--primary) 28%,transparent); border-radius: 50%; pointer-events: none; }
.about-system-orbit-one { inset: 8%; }
.about-system-orbit-two { inset: 18%; border-style: solid; opacity: .36; }
.about-illustration { position: absolute; z-index: 2; inset: 5%; display: grid; place-items: center; }
.about-illustration svg { width: 100%; height: 100%; overflow: visible; }
.about-flow { fill: none; stroke: var(--primary); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 8 12; opacity: .48; }
.about-flow-two { stroke: #f0aa36; animation-delay: -1.4s; }
.about-screen { transform-box: fill-box; transform-origin: center; }
.about-person { transform-box: fill-box; transform-origin: center; }
.about-media { position: absolute; z-index: 2; inset: 12% 10%; margin: 0; overflow: hidden; border: 8px solid rgba(255,255,255,.94); border-radius: 28px; background: var(--bg-soft); box-shadow: 0 24px 60px rgba(26,42,74,.18); }
.about-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-system-node { position: absolute; z-index: 4; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--primary) 18%,#fff); border-radius: 16px; color: var(--primary); background: rgba(255,255,255,.94); box-shadow: 0 14px 32px rgba(33,51,84,.14); }
.about-system-node svg { width: 23px; height: 23px; }
.about-system-node-one { inset-inline-start: 6%; top: 16%; }
.about-system-node-two { inset-inline-end: 5%; top: 28%; }
.about-system-node-three { inset-inline-start: 8%; bottom: 18%; }
.about-system-node-four { inset-inline-end: 9%; bottom: 12%; }
.about-visual-label { position: absolute; z-index: 5; left: 50%; right: auto; bottom: -18px; display: inline-flex; align-items: center; gap: 9px; max-width: calc(100% - 36px); min-height: 48px; padding: 10px 17px; border: 1px solid rgba(255,255,255,.92); border-radius: 16px; color: var(--ink); background: rgba(255,255,255,.94); box-shadow: 0 16px 42px rgba(31,48,80,.16); font-size: 13px; font-weight: 850; text-align: center; transform: translateX(-50%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); overflow-wrap: anywhere; }
.about-label-pulse { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 6px color-mix(in srgb,var(--primary) 15%,transparent); }
.about-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: clamp(54px,7vw,84px); }
.about-fact { min-width: 0; min-height: 126px; display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 20px; border: 1px solid color-mix(in srgb,var(--primary) 12%,var(--border)); border-radius: 20px; background: rgba(255,255,255,.84); box-shadow: 0 14px 38px rgba(37,52,82,.055); text-align: center; }
.about-fact strong { color: var(--primary); font-size: clamp(26px,3vw,39px); font-weight: 950; line-height: 1.25; overflow-wrap: anywhere; }
.about-fact span { color: var(--body); font-size: 13px; font-weight: 700; line-height: 1.8; overflow-wrap: anywhere; }
.about-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.about-principle { min-width: 0; display: flex; align-items: flex-start; gap: 15px; padding: 23px; border: 1px solid var(--border); border-radius: 21px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease); }
.about-principle:hover { transform: translateY(-5px); border-color: color-mix(in srgb,var(--primary) 24%,var(--border)); box-shadow: var(--shadow); }
.about-principle-icon { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--primary); background: var(--primary-soft); }
.about-principle h3 { margin: 0 0 7px; color: var(--ink); font-size: 17px; line-height: 1.6; overflow-wrap: anywhere; }
.about-principle p { margin: 0; color: var(--body); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.about-trust { margin-top: clamp(42px,6vw,70px); padding-top: 34px; border-top: 1px solid var(--border); }
.trust-caption { max-width: 880px; margin: 0 auto 22px; color: var(--muted); font-size: .95rem; line-height: 1.9; text-align: center; }
.trust-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; }
.trust-logo { max-width: 100%; padding: 9px 17px; border: 1px solid transparent; border-radius: 12px; color: #9097ad; background: var(--bg-soft); font-size: .97rem; font-weight: 800; transition: .3s var(--ease); overflow-wrap: anywhere; }
.trust-logo:hover { color: var(--primary); border-color: color-mix(in srgb,var(--primary) 15%,transparent); background: var(--primary-soft); transform: translateY(-3px); }
.asa-about.has-motion .about-flow { animation: asa-about-data-flow 5s linear infinite; }
.asa-about.has-motion .about-screen { animation: asa-about-breathe 5.5s ease-in-out infinite; }
.asa-about.has-motion .about-person-one,.asa-about.has-motion .about-person-four { animation: asa-about-float 4.8s ease-in-out infinite; }
.asa-about.has-motion .about-person-two,.asa-about.has-motion .about-person-three { animation: asa-about-float 5.4s ease-in-out infinite reverse; }
.asa-about.has-motion .about-system-node-one,.asa-about.has-motion .about-system-node-four { animation: asa-about-node 4.7s ease-in-out infinite; }
.asa-about.has-motion .about-system-node-two,.asa-about.has-motion .about-system-node-three { animation: asa-about-node 5.2s ease-in-out infinite reverse; }
.asa-about.has-motion .about-system-orbit-one { animation: asa-about-orbit 26s linear infinite; }
.asa-about.has-motion .about-system-orbit-two { animation: asa-about-orbit 19s linear infinite reverse; }
.asa-about.has-motion .about-label-pulse { animation: asa-about-pulse 2.4s ease-out infinite; }
@keyframes asa-about-data-flow { to { stroke-dashoffset: -120; } }
@keyframes asa-about-breathe { 50% { transform: translateY(-7px) scale(1.015); } }
@keyframes asa-about-float { 50% { transform: translateY(-8px); } }
@keyframes asa-about-node { 50% { transform: translateY(-7px) rotate(3deg); box-shadow: 0 20px 38px rgba(33,51,84,.19); } }
@keyframes asa-about-orbit { to { transform: rotate(360deg); } }
@keyframes asa-about-pulse { 70%,100% { box-shadow: 0 0 0 12px transparent; } }
@media(max-width:1024px){.about-layout{grid-template-columns:minmax(0,1fr) minmax(370px,.82fr);gap:44px}.about-principle{padding:20px}.about-fact{padding:17px}}
@media(max-width:900px){.about-layout{grid-template-columns:1fr}.about-content{max-width:760px}.about-visual-wrap{width:min(100%,620px);margin-inline:auto}.about-system-map{min-height:360px}.about-facts{margin-top:62px}.about-principles{grid-template-columns:1fr}.about-principle{align-items:center}}
@media(max-width:600px){.asa-about{padding-block:64px}.about-title{font-size:clamp(29px,8.5vw,38px);line-height:1.55}.about-lead{font-size:16px}.about-body{font-size:15px}.about-quote{padding:17px}.about-system-map{min-height:0;border-radius:28px}.about-media{inset:12% 8%;border-width:6px;border-radius:22px}.about-system-node{width:42px;height:42px;border-radius:13px}.about-system-node svg{width:20px;height:20px}.about-visual-label{bottom:-21px;min-height:44px;font-size:12px}.about-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:58px}.about-fact{min-height:118px;padding:15px 12px;border-radius:17px}.about-principle{align-items:flex-start;padding:18px;border-radius:18px}.about-trust{padding-top:28px}.trust-logo{font-size:.88rem;padding:8px 12px}}
@media(max-width:380px){.about-quote{gap:8px;padding:15px}.about-quote>span{font-size:34px}.about-system-node{width:38px;height:38px}.about-system-node-one{inset-inline-start:3%}.about-system-node-two{inset-inline-end:3%}.about-facts{grid-template-columns:1fr}.about-fact{min-height:104px}.about-principle{gap:12px}.about-principle-icon{flex-basis:42px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.asa-about *{animation:none!important;transition-duration:.01ms!important}.about-principle:hover,.trust-logo:hover{transform:none}}

/* ---------- ۹) امکانات ---------- */
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.feature-card {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 30px;
	position: relative; overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.feature-card::before {
	content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
	background: linear-gradient(135deg, var(--accent), transparent 60%); opacity: 0; transition: opacity .35s;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor; mask-composite: exclude;
}
.feature-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: transparent; }
.feature-card:hover::before { opacity: 1; }
.feature-icon {
	width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: 20px; transition: .4s var(--ease); isolation: isolate;
}
.feature-icon svg { filter: drop-shadow(0 10px 16px rgba(27,31,59,.14)); }
.feature-card:hover .feature-icon { transform: translateY(-5px) rotate(-5deg) scale(1.05); }
.feature-title { font-size: 1.2rem; margin-bottom: .5em; }
.feature-text { margin: 0; font-size: .98rem; color: var(--body); }

/* ---------- ۱۰) محصولات ---------- */
.asa-products { background: var(--bg-soft); }
.products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.product-card {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease); position: relative; overflow: hidden;
}
.product-card::after {
	content: ''; position: absolute; inset-block-start: 0; inset-inline-end: 0; width: 0; height: 4px;
	background: var(--accent); transition: width .4s var(--ease);
}
.product-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.product-card:hover::after { width: 100%; }
.product-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.product-icon {
	width: 56px; height: 56px; display: grid; place-items: center; transition: .4s var(--ease); position: relative; isolation: isolate;
}
.product-icon::before { content: ''; position: absolute; inset: 9px; z-index: -1; border-radius: 50%; background: var(--accent, var(--primary)); opacity: .08; filter: blur(11px); transform: scale(.82); transition: transform .4s var(--ease), opacity .4s var(--ease); }
.product-icon svg { filter: drop-shadow(0 10px 16px rgba(27,31,59,.14)); }
.product-card:hover .product-icon { transform: translateY(-4px) scale(1.05); }
.product-card:hover .product-icon::before { opacity: .18; transform: scale(1.25); }
.asa-card-svg-icon { display: block; width: 100%; height: 100%; overflow: visible; transform-origin: center; transition: filter .35s var(--ease), transform .35s var(--ease); }
.product-card:hover .asa-card-svg-icon { filter: drop-shadow(0 13px 18px rgba(27,31,59,.18)); transform: rotate(-2deg); }
/* آیکن تصویری دلخواه مدیر سایت (PNG / SVG / WebP و...) */
.asa-card-img-icon { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 10px 16px rgba(27,31,59,.18)); }
.product-arrow {
	width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: var(--muted);
	background: var(--bg-soft); transition: .35s var(--ease);
}
.product-card:hover .product-arrow { background: var(--accent); color: #fff; transform: rotate(-45deg); }
.product-title { font-size: 1.2rem; margin-bottom: .45em; }
.product-title a { color: inherit; text-decoration: none; }
.product-title a:hover { color: var(--accent, var(--primary)); }
.product-badge { display: inline-flex; width: fit-content; margin: 2px 0 10px; padding: 5px 10px; border-radius: 999px; color: var(--accent, var(--primary)); background: color-mix(in srgb, var(--accent, var(--primary)) 10%, white); font-size: 12px; font-weight: 800; }
.product-text { font-size: .95rem; color: var(--body); margin-bottom: 18px; }
.product-link { font-weight: 700; font-size: .92rem; color: var(--accent); display: inline-flex; align-items: center; gap: 5px; }
.product-link::after { content: '←'; transition: transform .25s var(--ease); }
.product-card:hover .product-link::after { transform: translateX(-4px); }

/* در صفحه اصلی فقط هشت محصول نخست نمایش داده می‌شود؛ بدون JavaScript همه‌ی
   محصولات باز می‌مانند تا محتوا و لینک‌ها همیشه در دسترس باشند. */
.asa-products-is-collapsed [data-asa-product-extra],
.asa-elementor-front.asa-products-is-collapsed .asa-products-extra-row { display: none !important; }
.products-toggle-wrap {
	display: flex; justify-content: center; margin-top: clamp(28px, 4vw, 42px); text-align: center;
}
.products-toggle-wrap[hidden], .asa-products-toggle-row[hidden] { display: none !important; }
.asa-products .asa-products-toggle,
.asa-products-toggle .elementor-button {
	position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-width: min(100%, 260px); min-height: 54px; padding: 14px 26px; border: 1px solid color-mix(in srgb, var(--primary) 30%, #fff);
	border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 68%, #8dafe9));
	box-shadow: 0 15px 34px color-mix(in srgb, var(--primary) 25%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
	font-weight: 850; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.asa-products .asa-products-toggle::before,
.asa-products-toggle .elementor-button::before {
	content: ''; position: absolute; z-index: -1; inset: 0; transform: translateX(110%);
	background: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.28) 48%, transparent 72%); transition: transform .65s var(--ease);
}
.asa-products .asa-products-toggle:hover,
.asa-products-toggle .elementor-button:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 20px 42px color-mix(in srgb, var(--primary) 32%, transparent), inset 0 1px 0 rgba(255,255,255,.36); }
.asa-products .asa-products-toggle:hover::before,
.asa-products-toggle .elementor-button:hover::before { transform: translateX(-110%); }
.asa-products .asa-products-toggle:focus-visible,
.asa-products-toggle .elementor-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 38%, transparent); outline-offset: 4px; }
.products-toggle-icon { flex: 0 0 auto; transition: transform .3s var(--ease); }
.asa-products-toggle:hover .products-toggle-icon { transform: translateY(3px); }

.products-cta { text-align: center; margin-top: 48px; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.products-cta p { margin: 0; font-size: 1.15rem; font-weight: 700; color: var(--ink); }

/* ---------- ۱۱) فرایند ---------- */
.process-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; }
.process-line { position: absolute; top: 30px; inset-inline: 8%; height: 3px; border-radius: 3px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--primary) 45%, #fff) 0 12px, transparent 12px 22px); z-index: 0; }
.process-step { text-align: center; position: relative; z-index: 1; }
.process-num {
	width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 18px;
	background: var(--grad-brand); color: #fff; font-size: 1.4rem; font-weight: 800; box-shadow: var(--shadow-primary);
	border: 5px solid #fff;
}
.process-title { font-size: 1.12rem; margin-bottom: .4em; }
.process-text { font-size: .94rem; color: var(--body); margin: 0; }

/* ---------- ۱۲) آمار ---------- */
.asa-stats-band { padding-block: clamp(30px, 5vw, 50px); }
.stats-card {
	position: relative; overflow: hidden; background: var(--grad-brand); border-radius: var(--radius-lg);
	padding: clamp(30px, 5vw, 54px); box-shadow: var(--shadow-lg);
}
.stats-glow { position: absolute; width: 400px; height: 400px; border-radius: 50%; background: rgba(255,255,255,.16); filter: blur(60px); top: -150px; inset-inline-start: -80px; }
.stats-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.stat-item { color: #fff; }
.stat-number { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1; display: flex; justify-content: center; align-items: baseline; }
.stat-suffix { font-size: .7em; opacity: .85; margin-inline-start: 2px; }
.stat-label { display: block; margin-top: 8px; font-size: .98rem; color: rgba(255,255,255,.85); }

/* ---------- ۱۳) نظرات ---------- */
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.testimonial-card {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 30px; margin: 0;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease); position: relative;
}
.testimonial-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.testimonial-stars { color: var(--amber); font-size: 1.05rem; letter-spacing: 2px; margin-bottom: 14px; }
.testimonial-text { font-size: 1rem; color: var(--ink); line-height: 2; margin: 0 0 22px; font-weight: 500; }
.testimonial-author { display: flex; align-items: center; gap: 13px; }
.author-avatar { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--c); color: #fff; font-weight: 800; font-size: 1.1rem; }
.author-info strong { display: block; color: var(--ink); font-size: .98rem; }
.author-info small { color: var(--muted); font-size: .85rem; }

/* ---------- ۱۴) وبلاگ ---------- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.asa-blog-empty { display: grid; justify-items: center; gap: 16px; padding: clamp(28px, 5vw, 52px); text-align: center; color: var(--muted); background: color-mix(in srgb, var(--primary) 5%, #fff); border: 1px dashed color-mix(in srgb, var(--primary) 24%, transparent); border-radius: 24px; }
.asa-blog-empty .blog-thumb-placeholder { width: 72px; height: 72px; border-radius: 22px; }
.asa-blog-empty p { margin: 0; }
.blog-card {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease); display: flex; flex-direction: column;
}
.blog-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.blog-thumb { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: block; background: var(--primary-soft); }
.blog-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.blog-card:hover .blog-thumb img { transform: scale(1.07); }
.blog-thumb-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: var(--primary); opacity: .5; background: var(--grad-hero); }
.blog-cat { position: absolute; top: 14px; inset-inline-end: 14px; background: rgba(255,255,255,.95); color: var(--primary); font-size: .78rem; font-weight: 700; padding: 5px 12px; border-radius: var(--radius-pill); box-shadow: var(--shadow-sm); }
.blog-body { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.blog-card-title { font-size: 1.15rem; line-height: 1.6; margin-bottom: .5em; }
.blog-card-title a { color: var(--ink); }
.blog-card-title a:hover { color: var(--primary); }
.blog-excerpt { font-size: .94rem; color: var(--body); margin-bottom: 18px; flex: 1; }
.blog-card-meta { display: flex; gap: 16px; font-size: .82rem; color: var(--muted); border-top: 1px solid var(--border); padding-top: 14px; }
.blog-card-meta span { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- ۱۵) سوالات متداول ---------- */
.faq-container { max-width: 820px; }
.faq-list { display: flex; flex-direction: column; gap: 14px; }
.faq-item { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: box-shadow .3s, border-color .3s; }
.faq-item.is-open { box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--primary) 30%, var(--border)); }
.faq-question {
	width: 100%; text-align: right; background: none; border: 0; padding: 20px 24px;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	font-family: var(--font); font-size: 1.05rem; font-weight: 700; color: var(--ink);
}
.faq-toggle {
	flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
	background: var(--primary-soft); color: var(--primary); font-size: 1.3rem; line-height: 1; transition: .3s var(--ease);
}
.faq-item.is-open .faq-toggle { background: var(--primary); color: #fff; transform: rotate(135deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }
.faq-answer p { padding: 0 24px 22px; margin: 0; color: var(--body); }

/* ---------- ۱۶) تماس ---------- */
.asa-contact { background: var(--bg-soft); }
.contact-wrap { display: grid; grid-template-columns: 1fr 1.05fr; gap: 44px; align-items: stretch; }
.contact-info .section-eyebrow { margin-bottom: 14px; }
.contact-lead { font-size: 1.05rem; margin-bottom: 28px; }
.contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.contact-list li { display: flex; gap: 14px; align-items: flex-start; }
.contact-ic { flex-shrink: 0; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: #fff; color: var(--primary); box-shadow: var(--shadow-sm); }
.contact-list strong { display: block; color: var(--ink); font-size: .95rem; margin-bottom: 2px; }
.contact-list span, .contact-list a { color: var(--body); font-size: .95rem; }

/* ── شبکهٔ شماره‌های تماس ۳×۳ ── */
.contact-phones { margin-top: 28px; }
.contact-phones-title { display: block; color: var(--ink); font-size: .95rem; margin-bottom: 12px; }
.contact-phones-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.contact-phone-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 10px 8px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--bg-soft);
	color: var(--ink);
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s, border-color .2s, color .2s, transform .15s;
	white-space: nowrap;
}
.contact-phone-btn:hover,
.contact-phone-btn:focus-visible {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 14px var(--primary-glow);
}
.contact-phone-btn svg { flex-shrink: 0; transition: color .2s; }
/* ── پایان شبکهٔ شماره‌ها ── */

.contact-form-card { position: relative; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 34px; box-shadow: var(--shadow); overflow: hidden; }
.contact-form-glow { position: absolute; width: 240px; height: 240px; border-radius: 50%; background: var(--primary-soft); filter: blur(40px); top: -100px; inset-inline-end: -60px; }
.asa-form { position: relative; }
.asa-form h3 { font-size: 1.4rem; margin-bottom: 22px; }
.asa-form label { display: block; font-size: .9rem; font-weight: 600; color: var(--ink); margin-bottom: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.asa-form input, .asa-form select, .asa-form textarea {
	width: 100%; margin-top: 7px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px;
	font-family: var(--font); font-size: .95rem; color: var(--ink); background: var(--bg-soft);
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.asa-form input:focus, .asa-form select:focus, .asa-form textarea:focus {
	outline: 0; border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px var(--primary-soft);
}
.asa-form textarea { resize: vertical; }
.asa-form .asa-btn { margin-top: 6px; }
.form-optional { color: var(--muted); font-size: .78rem; font-weight: 500; }
.form-note { font-size: .82rem; color: var(--muted); text-align: center; margin: 14px 0 0; }

/* ---------- ۱۷) فوتر ---------- */
.asa-footer { background: var(--navy); color: #aab0cc; margin-top: 0; }
.footer-cta-wrap { transform: translateY(50%); position: relative; z-index: 3; }
.footer-cta {
	position: relative; overflow: hidden; background: var(--grad-brand); border-radius: var(--radius-lg);
	padding: clamp(30px, 5vw, 52px); display: flex; align-items: center; justify-content: space-between;
	gap: 26px; flex-wrap: wrap; box-shadow: var(--shadow-lg);
}
.footer-cta-glow { position: absolute; width: 380px; height: 380px; border-radius: 50%; background: rgba(255,255,255,.16); filter: blur(60px); top: -160px; inset-inline-end: -60px; }
.footer-cta-text { position: relative; z-index: 1; }
.footer-cta-text h2 { color: #fff; font-size: clamp(1.4rem, 3vw, 2rem); margin-bottom: .3em; }
.footer-cta-text p { color: rgba(255,255,255,.9); margin: 0; max-width: 540px; }
.footer-cta-actions { position: relative; z-index: 1; display: flex; gap: 12px; flex-wrap: wrap; }

.footer-main { padding-top: calc(clamp(30px, 5vw, 52px) + 90px); padding-bottom: 50px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: 36px; }
.footer-logo .asa-logo-title { color: #fff; }
.footer-logo .asa-logo-sub { color: #8b91b0; }
.footer-desc { font-size: .94rem; color: #8b91b0; margin: 18px 0 20px; }
.footer-social { display: flex; gap: 10px; }
.footer-logo-img { max-height: var(--footer-logo-h, 46px); max-width: 230px; width: auto; height: auto; }
.footer-col .widget-title { color: #fff; font-size: 1.05rem; margin-bottom: 20px; font-weight: 700; }
.footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.footer-links a { color: #aab0cc; font-size: .94rem; transition: .2s var(--ease); display: inline-block; }
.footer-links a:hover { color: #fff; transform: translateX(-4px); }
.footer-contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.footer-contact-list li { display: flex; gap: 11px; align-items: flex-start; font-size: .92rem; color: #aab0cc; }
.footer-contact-list svg { color: var(--primary); flex-shrink: 0; margin-top: 3px; }
.footer-contact-list a { color: #aab0cc; }
.footer-contact-list a:hover { color: #fff; }

/* ---------- فوتر: نقشهٔ گوگل (ردیفِ مستقلِ تمام‌عرض، زیرِ ستون‌ها) ---------- */
.footer-map-wrap { padding: 32px 0 40px; }
.footer-map-title { color: #fff; font-size: 1.08rem; font-weight: 700; margin-bottom: 16px; }
.footer-map-container {
	position: relative; width: 100%; max-width: var(--map-w, none);
	height: var(--map-h, 320px); border-radius: 16px; overflow: hidden;
	box-shadow: 0 8px 32px rgba(0,0,0,.35);
	margin-inline: auto;
}
.footer-map-container iframe { display: block; }
.footer-map-nav { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.footer-map-nav-label { color: #8b91b0; font-size: .88rem; }
.map-nav-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 28px; font-size: .88rem; font-weight: 600; text-decoration: none; transition: .25s var(--ease); border: 1px solid rgba(255,255,255,.12); color: #c8cee8; background: rgba(255,255,255,.05); }
.map-nav-btn:hover { color: #fff; background: rgba(255,255,255,.12); transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.map-nav-google:hover { border-color: #4285F4; background: rgba(66,133,244,.18); }
.map-nav-waze:hover { border-color: #33CCFF; background: rgba(51,204,255,.18); }
.map-nav-apple:hover { border-color: #999; background: rgba(255,255,255,.15); }

.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-block: 22px; }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: .86rem; }
.footer-bottom p { margin: 0; color: #8b91b0; }
.footer-bottom strong { color: #fff; }
.footer-credit { color: #8b91b0; }
.asa-footer .widget { margin: 0 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #aab0cc; }
.asa-footer .widget:last-child { margin-bottom: 0; }
.asa-footer .widget-title::after { background: var(--primary); }
.asa-footer .widget ul li { border-color: rgba(255,255,255,.1); }
.asa-footer .widget a, .asa-footer .widget p { color: #aab0cc; }
.asa-footer .widget a:hover { color: #fff; }

/* ---------- ۱۸) بازگشت به بالا ---------- */
#asa-back-to-top {
	position: fixed; bottom: 26px; inset-inline-start: 26px; z-index: 80; width: 50px; height: 50px;
	border: 0; border-radius: 50%; background: var(--grad-brand); color: #fff; box-shadow: var(--shadow-primary);
	display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(14px); transition: .3s var(--ease);
}
#asa-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
#asa-back-to-top:hover { transform: translateY(-3px) scale(1.05); }

/* ---------- ۱۹) سرصفحه‌ی برگه‌ها، بردکرامب، تک‌نوشته ---------- */
.asa-page-header { background: var(--grad-hero); padding-block: clamp(40px, 6vw, 70px); text-align: center; position: relative; border-bottom: 1px solid var(--border); }
.page-header-title { font-size: clamp(1.7rem, 4vw, 2.6rem); margin-bottom: .3em; }
.page-header-sub { color: var(--muted); margin: 0; font-size: 1.05rem; }
.asa-breadcrumb { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .88rem; margin-bottom: 14px; color: var(--muted); }
.asa-breadcrumb a { color: var(--primary); }
.asa-breadcrumb .sep { color: var(--muted); opacity: .5; }
.asa-breadcrumb .current { color: var(--body); }
.single-header { text-align: center; }
.single-header .asa-breadcrumb { justify-content: center; }
.post-cats { display: flex; gap: 8px; justify-content: center; margin-bottom: 14px; }
.cat-pill { background: var(--primary-soft); color: var(--primary); font-size: .82rem; font-weight: 700; padding: 5px 14px; border-radius: var(--radius-pill); }
.single-title { font-size: clamp(1.8rem, 4.2vw, 2.8rem); max-width: 820px; margin-inline: auto; }
.post-meta { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 16px; color: var(--muted); font-size: .9rem; }
.meta-item { display: inline-flex; align-items: center; gap: 6px; }
.single-featured-wrap { margin-top: -30px; position: relative; z-index: 2; }
.single-featured { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }

.asa-content-area { padding-block: clamp(40px, 6vw, 70px); }
.asa-content-area.has-sidebar { display: grid; grid-template-columns: 1fr 320px; gap: 44px; align-items: start; }
.asa-entry-content { font-size: 1.05rem; line-height: 2.1; color: var(--body); }
.asa-entry-content > * { margin-bottom: 1.2em; }
.asa-entry-content h2 { font-size: 1.7rem; margin-top: 1.6em; }
.asa-entry-content h3 { font-size: 1.35rem; margin-top: 1.4em; }
.asa-entry-content img { border-radius: var(--radius); }
.asa-entry-content blockquote {
	border-inline-start: 4px solid var(--primary); background: var(--primary-soft); margin: 1.5em 0;
	padding: 18px 24px; border-radius: 0 var(--radius) var(--radius) 0; color: var(--ink); font-weight: 500;
}
.asa-entry-content a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.asa-entry-content ul li, .asa-entry-content ol li { margin-bottom: .5em; }
.asa-entry-content pre { background: var(--ink); color: #e6e8f5; padding: 18px; border-radius: var(--radius); overflow-x: auto; direction: ltr; text-align: left; }
.asa-entry-content code { background: var(--primary-soft); color: var(--primary-d); padding: 2px 7px; border-radius: 6px; font-size: .9em; }

.single-tags { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.single-tags span { color: var(--muted); font-size: .9rem; }
.single-tags a { background: var(--bg-soft); color: var(--body); font-size: .85rem; padding: 5px 13px; border-radius: var(--radius-pill); border: 1px solid var(--border); }
.single-tags a:hover { background: var(--primary-soft); color: var(--primary); }
.single-share { margin-top: 22px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid var(--border); }
.single-share span { color: var(--muted); font-size: .9rem; }
.single-share a { background: var(--primary-soft); color: var(--primary); font-size: .85rem; font-weight: 700; padding: 7px 16px; border-radius: var(--radius-pill); }
.single-share a:hover { background: var(--primary); color: #fff; }

.asa-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
.asa-post-nav a { display: block; padding: 18px 22px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; transition: .3s var(--ease); }
.asa-post-nav a:hover { border-color: var(--primary); box-shadow: var(--shadow); transform: translateY(-3px); }
.asa-post-nav .nav-label { display: block; font-size: .8rem; color: var(--muted); margin-bottom: 6px; }
.asa-post-nav .nav-title { color: var(--ink); font-weight: 700; }
.asa-post-nav .nav-next { text-align: left; }

/* دیدگاه‌ها */
.asa-comments { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--border); }
.asa-comments-title, .comment-reply-title { margin-bottom: 22px; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list .children { margin: 18px clamp(14px, 4vw, 34px) 0 0; }
.comment-list > .comment, .comment-list .children > .comment { margin-bottom: 18px; }
.comment-body { padding: 22px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.comment-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.comment-author { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.comment-author .avatar { width: 46px; height: 46px; border-radius: 50%; }
.comment-metadata { font-size: .82rem; color: var(--muted); }
.comment-metadata a { color: inherit; }
.comment-content { line-height: 1.95; }
.comment-content > :last-child { margin-bottom: 0; }
.reply { margin-top: 12px; }
.comment-reply-link { display: inline-flex; padding: 6px 13px; border-radius: var(--radius-pill); background: var(--primary-soft); font-size: .85rem; font-weight: 700; }
.comment-respond { margin-top: 34px; padding: clamp(20px, 4vw, 30px); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-soft); }
.comment-form { display: grid; gap: 14px; }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-bottom: 6px; color: var(--ink); font-weight: 700; }
.comment-form input:not([type="checkbox"]), .comment-form textarea { width: 100%; border: 1px solid var(--border); border-radius: 12px; background: #fff; padding: 12px 14px; color: var(--ink); font: inherit; }
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.comment-form-cookies-consent label { margin: 0; font-weight: 400; }
.comment-navigation { margin: 22px 0; }
.comment-navigation .nav-links { display: flex; justify-content: space-between; gap: 12px; }
.comments-closed { padding: 14px 18px; border-radius: 12px; background: var(--primary-soft); color: var(--body); }

.asa-page-article { max-width: 900px; }

/* ---------- ۲۰) نوار کناری و ابزارک‌ها ---------- */
.asa-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--asa-hh, var(--header-h)) + 20px); }
.widget, .asa-widget-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px; }
.widget-title { font-size: 1.1rem; margin-bottom: 18px; position: relative; padding-bottom: 12px; }
.widget-title::after { content: ''; position: absolute; bottom: 0; inset-inline-start: 0; width: 40px; height: 3px; background: var(--grad-brand); border-radius: 3px; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget ul li { padding: 9px 0; border-bottom: 1px dashed var(--border); }
.widget ul li:last-child { border-bottom: 0; }
.widget ul a { color: var(--body); }
.widget ul a:hover { color: var(--primary); }
.asa-widget-cta { background: var(--grad-hero); border-color: transparent; text-align: center; }
.asa-widget-cta p { font-size: .94rem; }

/* ---------- ۲۱) صفحه‌بندی ---------- */
.asa-pagination { margin-top: 44px; }
.asa-pagination .page-numbers { list-style: none; display: flex; justify-content: center; gap: 8px; padding: 0; margin: 0; flex-wrap: wrap; }
.asa-pagination .page-numbers li a, .asa-pagination .page-numbers li span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 12px;
	background: #fff; border: 1px solid var(--border); color: var(--ink); font-weight: 700; transition: .25s var(--ease);
}
.asa-pagination .page-numbers li a:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }
.asa-pagination .page-numbers li .current { background: var(--grad-brand); color: #fff; border-color: transparent; }

/* ---------- ۲۲) جستجو ---------- */
.asa-search-form { display: flex; gap: 8px; }
.asa-search-input { flex: 1; padding: 12px 16px; border: 1px solid var(--border); border-radius: 12px; font-family: var(--font); background: var(--bg-soft); color: var(--ink); }
.asa-search-input:focus { outline: 0; border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px var(--primary-soft); }
.asa-search-btn { width: 48px; height: 48px; border: 0; border-radius: 12px; background: var(--grad-brand); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.asa-search-btn:hover { transform: translateY(-2px); }

/* ---------- ۲۳) خطای ۴۰۴ و بدون نتیجه ---------- */
.asa-404 { padding-block: clamp(60px, 10vw, 120px); text-align: center; position: relative; overflow: hidden; }
.asa-404-inner { position: relative; z-index: 1; max-width: 560px; }
.error-blob { position: absolute; width: 400px; height: 400px; border-radius: 50%; background: var(--primary-soft); filter: blur(60px); top: -120px; inset-inline-start: 50%; transform: translateX(-50%); z-index: 0; }
.error-code { display: block; font-size: clamp(5rem, 16vw, 9rem); font-weight: 800; line-height: 1; background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.error-title { font-size: clamp(1.4rem, 3vw, 2rem); margin: 10px 0 14px; }
.error-text { color: var(--body); margin-bottom: 26px; }
.error-search { max-width: 420px; margin: 0 auto 26px; }
.asa-no-results { text-align: center; max-width: 520px; margin: 40px auto; padding: 40px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); }
.no-results-icon { color: var(--primary); opacity: .5; display: inline-block; margin-bottom: 14px; }
.no-results-search { max-width: 380px; margin: 22px auto 0; }

/* ---------- ۲۴) انیمیشن ظاهرشدن ---------- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
	html { scroll-behavior: auto; }
	.asa-products .asa-products-toggle:hover, .asa-products-toggle .elementor-button:hover, .asa-products-toggle:hover .products-toggle-icon { transform: none; }
}

/* ---------- ۲۵) کی‌فریم‌ها ---------- */
@keyframes blob {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(20px, -24px) scale(1.08); }
	66% { transform: translate(-18px, 16px) scale(.95); }
}
@keyframes floaty {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}
@keyframes pulse {
	0%, 100% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 28%, transparent); }
	50% { box-shadow: 0 0 0 8px transparent; }
}
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes growBar { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: .85; } }

/* ---------- ۲۶) واکنش‌گرا (Responsive) ---------- */
@media (max-width: 1024px) {
	.hero-inner { grid-template-columns: 1fr; gap: 60px; }
	.hero-content { text-align: center; }
	.hero-desc { margin-inline: auto; }
	.hero-actions, .hero-trust, .hero-badge { justify-content: center; }
	.hero-trust { justify-content: center; }
	.features-grid, .products-grid, .testimonials-grid, .blog-grid { grid-template-columns: repeat(2, 1fr); }
	.process-track { grid-template-columns: repeat(2, 1fr); gap: 36px 24px; }
	.process-line { display: none; }
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
	.dash-float-1 { inset-inline-start: 0; } .dash-float-2 { inset-inline-end: 0; }
}

@media (max-width: 880px) {
	/* مهم: backdrop-filter روی هدر یک containing-block می‌سازد و position:fixed منو را خراب می‌کند ⇒ در موبایل غیرفعال */
	.asa-header, .asa-header.is-stuck { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff; }
	body.asa-menu-open { overflow: hidden; }

	/* ===== کشوی منوی موبایل (off-canvas) ===== */
	.asa-nav {
		position: fixed; top: 0; bottom: 0; right: 0; left: auto; margin: 0;
		width: min(86vw, 360px); background: #fff;
		display: flex; flex-direction: column;
		box-shadow: -18px 0 50px -12px rgba(27,31,59,.32);
		border-radius: 22px 0 0 22px; z-index: 95; padding: 0; overflow-y: auto;
		transform: translateX(110%); visibility: hidden;
		transition: transform .38s var(--ease), visibility 0s linear .38s;
	}
	.asa-menu-open .asa-nav { transform: translateX(0); visibility: visible; transition: transform .38s var(--ease), visibility 0s; }

	.asa-nav-head {
		display: flex; align-items: center; justify-content: space-between; gap: 12px;
		padding: 18px 20px; border-bottom: 1px solid var(--border);
		position: sticky; top: 0; background: #fff; z-index: 2;
	}
	.asa-nav-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: var(--ink); font-size: 1.02rem; }
	.asa-nav-brand-mark { display: inline-flex; }
	.asa-nav-logo-img { width: 36px; height: 36px; object-fit: contain; border-radius: 10px; display: block; }
	.asa-nav-close {
		width: 40px; height: 40px; flex-shrink: 0; border: 1px solid var(--border); border-radius: 12px;
		background: #fff; color: var(--ink); display: grid; place-items: center; cursor: pointer;
		transition: background .2s, color .2s, transform .2s;
	}
	.asa-nav-close:hover { background: var(--primary-soft); color: var(--primary); transform: rotate(90deg); }

	.asa-menu { flex-direction: column; align-items: stretch; gap: 2px; padding: 12px 14px; flex: 1 0 auto; }
	.asa-menu li { width: 100%; }
	.asa-menu a {
		display: flex; align-items: center; justify-content: space-between;
		padding: 14px 16px; font-size: 1.06rem; font-weight: 600; border-radius: 13px;
		color: var(--ink); transition: background .2s, color .2s, padding .2s;
	}
	.asa-menu a::after { content: '‹'; font-size: 1.2em; line-height: 1; opacity: .32; transition: transform .2s, opacity .2s; }
	.asa-menu a:hover, .asa-menu .current-menu-item > a, .asa-menu .current_page_item > a {
		background: var(--primary-soft); color: var(--primary); padding-inline-end: 22px;
	}
	.asa-menu a:hover::after { transform: translateX(-4px); opacity: .7; }
	.asa-menu .menu-item-has-children > a::after { content: '⌄'; }
	.asa-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
		border: 0; background: var(--bg-soft); margin: 2px 6px 6px; padding: 4px; border-radius: 12px; min-width: 0;
	}
	.asa-menu .sub-menu a { font-size: .96rem; }

	.asa-nav-foot {
		display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 24px;
		border-top: 1px solid var(--border); margin-top: auto;
		position: sticky; bottom: 0; background: #fff;
	}
	.asa-nav-cta { width: 100%; justify-content: center; }
	.asa-nav-call { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: var(--body); font-weight: 700; font-size: 1rem; }
	.asa-nav-call:hover { color: var(--primary); }

	.asa-menu-toggle { display: flex; }
	.header-cta { display: none; }
	.contact-wrap { grid-template-columns: 1fr; gap: 30px; }
	.section-head-row { flex-direction: column; align-items: flex-start; }
	.asa-content-area.has-sidebar { grid-template-columns: 1fr; }
	.asa-sidebar { position: static; }
	.footer-cta { flex-direction: column; text-align: center; }
	.footer-cta-text p { margin-inline: auto; }
	.footer-cta-actions { justify-content: center; }
	/* روی موبایل کارتِ CTA بلندتر می‌شود؛ هم‌پوشانیِ ۵۰٪ حذف می‌شود تا روی لوگوی فوتر نیفتد */
	.footer-cta-wrap { transform: none; margin-top: 34px; }
	.footer-main { padding-top: 44px; }
}

@media (max-width: 600px) {
	body { font-size: 15px; }
	.asa-container { padding-inline: 18px; }
	.topbar-hours { display: none; }
	.features-grid, .products-grid, .testimonials-grid, .blog-grid, .stats-grid, .dash-kpis { grid-template-columns: 1fr; }
	.stats-grid { grid-template-columns: 1fr 1fr; gap: 28px 14px; }
	.dash-kpis { grid-template-columns: 1fr 1fr; }
	.form-row { grid-template-columns: 1fr; }
	.process-track { grid-template-columns: 1fr; }
	.asa-post-nav { grid-template-columns: 1fr; }
	.hero-title { font-size: 1.9rem; }
	.footer-bottom-inner { flex-direction: column; text-align: center; }
	.dash-float { display: none; }
	#asa-back-to-top { bottom: 18px; inset-inline-start: 18px; width: 46px; height: 46px; }
	.contact-phones-grid { grid-template-columns: repeat(3, 1fr); font-size: .82rem; }
	.products-toggle-wrap { margin-top: 24px; }
	.asa-products .asa-products-toggle, .asa-products-toggle .elementor-button { width: 100%; min-width: 0; }
}
@media (max-width: 380px) {
	.contact-phones-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- ۲۶) بخش‌های سفارشیِ افزودنی ---------- */
.asa-custom-content { max-width: 860px; margin-inline: auto; color: var(--body); font-size: 1.05rem; line-height: 2; }
.asa-custom-content p { margin: 0 0 1em; }
.asa-custom-content p:last-child { margin-bottom: 0; }
.asa-custom-content a { color: var(--primary); font-weight: 600; }
.asa-custom-content ul, .asa-custom-content ol { padding-inline-start: 1.4em; margin: 0 0 1em; }
.asa-custom-content li { margin-bottom: .4em; }
.asa-custom-content img { border-radius: var(--radius, 14px); }

/* سوالات متداول: دکمه‌ی «نمایش بیشتر» + صفحه‌ی اختصاصی */
.faq-more { text-align: center; margin-top: 30px; }
.asa-faq-page { padding-top: clamp(40px, 7vw, 84px); }
.asa-faq-page .faq-intro { max-width: 760px; margin: 0 auto 30px; text-align: center; color: var(--body); line-height: 1.95; }
.asa-faq-page .faq-empty { text-align: center; color: var(--muted); }

/* دفاتر/واحدها در بخش تماس (هر دفتر: نام + آدرس + تلفن + شبکه‌های اجتماعیِ خودش) */
.contact-offices { display: grid; gap: 16px; margin-top: 26px; }
.office-card { background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius, 16px); padding: 18px 20px; transition: box-shadow .3s var(--ease), border-color .3s, transform .3s var(--ease); }
.office-card:hover { box-shadow: var(--shadow); border-color: transparent; transform: translateY(-3px); }
.office-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 12px; }
.office-name { font-weight: 800; color: var(--ink); font-size: 1.05rem; position: relative; padding-inline-start: 15px; }
.office-name::before { content: ''; position: absolute; inset-inline-start: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--primary); }
.office-addr { color: var(--body); font-size: .95rem; }
.office-phone { display: inline-flex; align-items: center; gap: 7px; color: var(--primary-d, var(--primary)); font-weight: 700; margin-bottom: 12px; }
.office-phone:hover { color: var(--primary); }
.office-phone svg { width: 17px; height: 17px; }
.office-social { display: flex; gap: 8px; flex-wrap: wrap; }
.office-social .social-dot { background: var(--primary-soft); color: var(--primary); }
.office-social .social-dot:hover { background: var(--primary); color: #fff; }
.contact-list-after { margin-top: 22px; }

/* بخش تماس در فوتر (پس‌زمینه تیره) — آدرسِ مشترک + دفاتر + ساعت/ایمیل */
.footer-mainaddr { display: flex; gap: 8px; align-items: flex-start; color: rgba(255,255,255,.82); margin: 0 0 14px; line-height: 1.7; }
.footer-mainaddr svg { flex-shrink: 0; margin-top: 3px; color: var(--primary); }
.asa-footer .contact-offices { gap: 0; margin-top: 0; }
.asa-footer .office-card { background: transparent; border: 0; border-radius: 0; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.asa-footer .office-card:last-child { border-bottom: 0; }
.asa-footer .office-card:hover { transform: none; box-shadow: none; }
.asa-footer .office-name { color: #fff; }
.asa-footer .office-addr { color: rgba(255,255,255,.62); }
.asa-footer .office-phone { color: #fff; }
.asa-footer .office-social .social-dot { background: rgba(255,255,255,.1); color: #fff; }
.asa-footer .office-social .social-dot:hover { background: var(--primary); color: #fff; }
.footer-contact-after { margin-top: 14px; }

/* باکسِ سوشیالِ معرفیِ فوتر — همان ظاهرِ بزرگ و رنگیِ بخش قهرمان (اندازه‌ی مناسبِ فوتر) */
.footer-social-hero { --social-size: 54px; margin-top: 18px; }

/* صفحه‌های اختصاصیِ محصولات و امکانات */
.asa-products-page, .asa-features-page { padding-top: clamp(40px, 7vw, 84px); }
.products-intro { max-width: 760px; margin: 0 auto 30px; text-align: center; color: var(--body); line-height: 1.95; }
.products-empty { text-align: center; color: var(--muted); }
.products-cta-band { position: relative; overflow: hidden; margin-top: 50px; padding: clamp(36px, 6vw, 60px) clamp(24px, 5vw, 56px); border-radius: var(--radius-lg, 26px); background: var(--grad-brand); color: #fff; text-align: center; box-shadow: var(--shadow-primary, 0 30px 60px -25px rgba(91,133,179,.5)); }
.products-cta-glow { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: rgba(255,255,255,.16); filter: blur(60px); top: -160px; inset-inline-end: -60px; }
.products-cta-content { position: relative; z-index: 1; }
.products-cta-band h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 .5em; color: #fff; }
.products-cta-band p { margin: 0 auto 1.4em; max-width: 560px; opacity: .92; }
.products-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---------- ۲۶الف) بهینه‌سازیِ تکمیلیِ تبلت و موبایل ---------- */
img { max-width: 100%; height: auto; }

/* تبلت (عمودی) و پایین‌تر */
@media (max-width: 768px) {
	.topbar-inner { gap: 6px 14px; }
	.hero-actions { flex-wrap: wrap; }
}

/* موبایل */
@media (max-width: 600px) {
	.topbar-inner { flex-wrap: wrap; justify-content: center; gap: 6px 14px; }
	.asa-topbar { font-size: .78rem; }
	.header-inner { gap: 12px; }
	.hero-actions { gap: 12px; }
	.hero-actions .asa-btn { flex: 1 1 auto; justify-content: center; }
	.section-title { font-size: clamp(1.5rem, 6vw, 1.9rem); }
	.footer-grid { grid-template-columns: 1fr; gap: 30px; }
	.footer-about { text-align: center; }
	.footer-about .asa-logo, .footer-about .footer-social, .footer-about .footer-social-hero { justify-content: center; }
	.footer-cta-actions { justify-content: center; }
	.asa-nav-foot .asa-nav-cta { width: 100%; }
	/* نقشه در موبایل — تمام‌عرض */
	.footer-map-wrap { padding: 22px 0 28px; }
	.footer-map-container { height: clamp(200px, var(--map-h, 250px), 280px); }
	.map-nav-btn { flex: 1 1 auto; justify-content: center; }
}

/* موبایل کوچک */
@media (max-width: 420px) {
	.hero-title { font-size: 1.55rem; }
	.stats-grid { grid-template-columns: 1fr; }
	.asa-nav { width: 100%; border-radius: 0; }
	.asa-btn { padding-inline: 16px; }
}

/* ---------- ۲۶ب) بهبودِ UX/UI (به‌ویژه موبایل) ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
::selection { background: color-mix(in srgb, var(--primary) 22%, #fff); color: var(--ink); }
* { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .asa-btn:focus-visible, .asa-menu-toggle:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--primary) 55%, #fff); outline-offset: 2px; border-radius: 8px;
}
/* آفستِ لنگر تا هدرِ چسبان روی عنوانِ مقصد نیفتد */
[id] { scroll-margin-top: 96px; }
body.admin-bar [id] { scroll-margin-top: calc(var(--asa-hh, var(--header-h)) + 52px); }
/* بازخوردِ لمسیِ کارت‌ها */
.feature-card:active, .product-card:active, .blog-card:active, .office-card:active { transform: translateY(-2px) scale(.995); }

@media (max-width: 600px) {
	/* فرم: فونت ۱۶px از زومِ خودکارِ iOS جلوگیری می‌کند + هدفِ لمسیِ بزرگ‌تر */
	.asa-form input, .asa-form select, .asa-form textarea { font-size: 16px; padding: 13px 15px; }
	.asa-btn { min-height: 48px; }
	.asa-menu a { min-height: 46px; }
	.footer-links a { display: inline-block; padding-block: 5px; }
	.asa-section { padding-block: clamp(36px, 9vw, 54px); }
	.section-head { margin-bottom: 26px; }
}

/* نوارِ ناوبریِ موبایل — داکِ شناورِ برند (نشانگرِ گویِ لغزنده) */
.asa-mnav { display: none; }
@media (max-width: 768px) {
	.asa-mnav {
		display: block; position: fixed; z-index: 85;
		inset-inline: clamp(10px, 3vw, 18px);
		bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		max-width: 560px; margin-inline: auto;
		/* گرادیانِ برند با دو سرِ کنترل‌شده: متنِ سفید در سراسرِ داک خوانا می‌ماند */
		background: linear-gradient(140deg,
			color-mix(in srgb, var(--primary) 88%, #fff) 0%,
			var(--primary) 48%,
			color-mix(in srgb, var(--primary) 74%, #0a1630) 100%);
		border-radius: 26px;
		box-shadow:
			0 20px 44px -16px rgba(15, 28, 63, .5),
			0 6px 16px -6px rgba(15, 28, 63, .35),
			inset 0 1px 0 rgba(255, 255, 255, .3),
			inset 0 -1px 0 rgba(9, 16, 38, .25);
		transition: transform .45s var(--ease); will-change: transform;
	}
	.asa-mnav::before { /* شبنمِ شیشه‌ایِ بالای داک */
		content: ''; position: absolute; inset: 0 0 46%; border-radius: 26px 26px 0 0;
		background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,0));
		pointer-events: none;
	}
	.asa-mnav.is-hidden,
	body.asa-menu-open .asa-mnav { transform: translateY(calc(100% + 90px)); } /* هنگامِ بازبودنِ منوی کشویی، کامل (با گوی) پنهان شود */
	.asa-mnav ul { list-style: none; margin: 0; padding: 0 6px; display: flex; align-items: stretch; justify-content: space-between; height: 72px; }
	.mnav-item { position: relative; flex: 1 1 0; min-width: 0; }
	/* چیدمانِ متقارن: آیکن و برچسب در جریانِ عادی با فاصله‌ی ثابتِ ۱۲px */
	.mnav-item a { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; color: rgba(255,255,255,.68); text-decoration: none; -webkit-tap-highlight-color: transparent; }
	.mnav-item a:focus-visible { outline: 2px solid #fff; outline-offset: -5px; border-radius: 18px; }
	.mnav-ic { position: relative; z-index: 3; display: grid; place-items: center; width: var(--mnav-ic-size, 26px); height: var(--mnav-ic-size, 26px); transition: transform .5s cubic-bezier(.3, 1.4, .5, 1), color .35s var(--ease); }
	.mnav-ic svg { width: var(--mnav-ic-size, 26px); height: var(--mnav-ic-size, 26px); display: block; }
	.mnav-ic .mnav-img { width: var(--mnav-ic-size, 26px); height: var(--mnav-ic-size, 26px); object-fit: contain; display: block; border-radius: 7px; }
	.mnav-item a:active .mnav-ic { transform: scale(.84); } /* بازخوردِ لمسی */
	.mnav-text { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: clamp(8px, 2.35vw, 10.5px); line-height: 1; font-weight: 600; color: rgba(255,255,255,.62); transition: color .35s var(--ease); white-space: nowrap; pointer-events: none; }
	.asa-mnav.items-6 ul,
	.asa-mnav.items-7 ul { padding-inline: 3px; }
	.asa-mnav.items-7 .mnav-item a { gap: 10px; }
	/* آیتمِ صفحه‌ی جاری: آیکن و نوشته سفید می‌شود (نشانگرِ رنگی، بدونِ جابه‌جاییِ گوی) */
	.mnav-item.active .mnav-ic { color: #fff; }
	.mnav-item.active .mnav-text { color: #fff; font-weight: 800; }
	/* آیتمِ میانی: همیشه داخلِ گویِ ثابت بالا می‌ایستد و سفید است */
	.mnav-item.is-center .mnav-ic { transform: translateY(-22px); color: #fff; filter: drop-shadow(0 3px 6px rgba(9,16,38,.4)); }
	.mnav-item.is-center a:active .mnav-ic { transform: translateY(-22px) scale(.9); }
	/* ── برچسب آیتم میانی: نزدیک‌تر به گوی ── */
	.mnav-item.is-center a {
		gap: 1px;
	}
	.mnav-item.is-center .mnav-text {
		margin-top: -6px;
		position: relative;
		z-index: 4;
	}
	/* حالتِ بدونِ برچسب: آیکنِ مرکزی بیشتر بالا می‌رود */
	.asa-mnav.no-labels .mnav-item a { gap: 0; }
	.asa-mnav.no-labels .mnav-item.is-center .mnav-ic { transform: translateY(-33px); }
	.asa-mnav.no-labels .mnav-item.is-center a:active .mnav-ic { transform: translateY(-33px) scale(.9); }
	/* گویِ ثابتِ مرکزی — اندازه‌اش با آیتمِ میانی رشد می‌کند؛ پیش‌فرضِ CSS «تقریباً وسط» است
	   (اگر JS خاموش/تأخیری بود، گوی در گوشه نیفتد) و JS آن را دقیق روی آیتمِ میانی می‌نشاند. */
	.mnav-choosen { position: absolute; left: calc(50% - var(--mnav-orb-size, 56px) / 2); top: calc(2px - var(--mnav-orb-size, 56px) / 2); width: var(--mnav-orb-size, 56px); height: var(--mnav-orb-size, 56px); border-radius: 50%;
		background:
			radial-gradient(circle at 30% 24%, rgba(255,255,255,.5), rgba(255,255,255,0) 44%),
			linear-gradient(145deg, color-mix(in srgb, var(--primary) 68%, #fff) 0%, var(--primary) 52%, color-mix(in srgb, var(--primary) 72%, #071230) 100%);
		border: 3px solid rgba(255,255,255,.95);
		box-shadow:
			0 14px 30px -8px var(--primary-glow),
			0 5px 12px -3px rgba(9,16,38,.45),
			inset 0 -5px 10px rgba(9,16,38,.28);
		pointer-events: none; z-index: 2; }
	/* روی موبایل، منوی همبرگرِ هدر پنهان می‌شود — ناوبری از طریقِ نوارِ پایین */
	body.asa-mnav-menu .asa-menu-toggle { display: none; }
	body.asa-has-mnav, body:has(.asa-mnav) { padding-bottom: calc(114px + env(safe-area-inset-bottom, 0px)); }
	body.asa-has-mnav #asa-back-to-top, body:has(.asa-mnav) #asa-back-to-top { bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
	.mnav-ic, .mnav-text, .mnav-choosen, .asa-mnav { transition: none; }
}

/* ---------- هدرِ شیشه‌ای موبایل ----------
   نکته‌ی فنی: backdrop-filter مستقیم روی .asa-header ممنوع است (containing block
   می‌سازد و منوی کشویی fixed داخلش را خراب می‌کند). شیشه روی ::before اعمال
   می‌شود که هیچ فرزندی ندارد ⇒ منو سالم می‌ماند. */
@media (max-width: 768px) {
	body.asa-glass-header .asa-header,
	body.asa-glass-header .asa-header.is-stuck { background: transparent; border-bottom: 0; box-shadow: none; }
	/* شیشه‌ی تمیز در هر دو حالت (عادی و اسکرول): پشتِ هدر همیشه کاملاً خوانا */
	body.asa-glass-header .asa-header::before,
	body.asa-glass-header .asa-header.is-stuck::before {
		content: ''; position: absolute; inset: 0; z-index: -1;
		background: rgba(255, 255, 255, .05);
		-webkit-backdrop-filter: blur(2px) saturate(130%);
		backdrop-filter: blur(2px) saturate(130%);
		border-bottom: 1px solid rgba(255, 255, 255, .22);
	}
	/* هیرو از همان بالا زیرِ شیشه می‌رود تا پشتِ هدر واقعاً محتوا دیده شود */
	body.asa-glass-header:has(.asa-hero) .asa-header { margin-bottom: calc(-1 * var(--asa-hh, 64px)); }
	body.asa-glass-header:has(.asa-hero) .asa-hero { padding-top: calc(var(--asa-hh, 64px) + 30px); }
	/* فقط لوگو (وقتی داکِ پایین «منو» دارد؛ وگرنه همبرگر برای دسترسی می‌ماند) */
	body.asa-glass-header.asa-mnav-menu .header-inner { justify-content: center; }
	body.asa-glass-header.asa-mnav-menu .header-actions { display: none; }
	/* مرورگرِ بدونِ backdrop-filter ⇒ پس‌زمینه‌ی مات‌تر تا متن خوانا بماند */
	@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
		body.asa-glass-header .asa-header::before { background: rgba(255, 255, 255, .92); }
	}
}

/* ---------- پنهان‌کردنِ کاملِ هدر در موبایل ----------
   نکته: منوی کشویی (.asa-nav) داخلِ هدر است و position:fixed دارد؛ پس به‌جای
   display:none روی هدر (که کلِ زیردرخت و منو را حذف می‌کند)، هدر را «جمع» می‌کنیم
   (ارتفاعِ صفر، بدونِ فضا) و فقط اجزای دیداری‌اش را حذف می‌کنیم. منوی fixed از این
   جمع‌شدن فرار می‌کند و کاملاً سالم می‌ماند. */
@media (max-width: 768px) {
	body.asa-hide-header .asa-topbar { display: none; }
	body.asa-hide-header .asa-header,
	body.asa-hide-header .asa-header.is-stuck {
		position: absolute; inset-inline: 0; top: 0;
		height: 0; min-height: 0; margin: 0; padding: 0;
		background: none; box-shadow: none; border: 0; overflow: visible;
	}
	body.asa-hide-header .header-inner { min-height: 0; padding: 0; }
	body.asa-hide-header .asa-branding,
	body.asa-hide-header .header-actions { display: none; }
	body.asa-hide-header .asa-nav { pointer-events: auto; } /* منوی کشویی همچنان کلیک‌پذیر */
}

/* ---------- فرمِ تماسِ واقعی: اعلان، تله‌ی ربات، حالتِ ارسال ---------- */
.form-notice { display: none; margin: 0 0 14px; padding: 11px 14px; border-radius: 12px; font-size: .93rem; font-weight: 600; line-height: 1.8; }
.form-notice.is-visible { display: block; }
.form-notice.is-success { background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary-d, var(--primary)); border: 1px solid color-mix(in srgb, var(--primary) 30%, #fff); }
.form-notice.is-error { background: #fdf0f0; color: #b3403f; border: 1px solid #f3d2d1; }
.asa-hp-wrap { position: absolute !important; inset-inline-start: -9999px !important; width: 1px; height: 1px; overflow: hidden; margin: 0; }
.asa-form button[disabled] { opacity: .72; cursor: progress; }
.asa-form button.is-sending .btn-label::after { content: ''; display: inline-block; width: 1em; text-align: right; animation: asaDots 1.2s steps(4) infinite; }
@keyframes asaDots { 0% { content: ''; } 25% { content: '.'; } 50% { content: '..'; } 75% { content: '...'; } }

/* صفحه‌ی تضمینیِ نقشه راه؛ خود فرم و گزارش از استایل افزونه استفاده می‌کنند. */
.asa-advisor-page { padding: clamp(44px, 7vw, 88px) 0 clamp(70px, 9vw, 120px); background: linear-gradient(180deg, var(--primary-soft), #fff 34%); }
.asa-advisor-page-head { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.asa-advisor-page-head .section-sub { margin-inline: auto; }
.asa-ai-advisor { --header-h: var(--asa-hh, 76px); }
.asa-advisor-unavailable { max-width: 720px; margin: 0 auto; padding: clamp(26px, 5vw, 46px); text-align: center; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.asa-advisor-unavailable h2 { margin-bottom: 10px; }
.asa-advisor-unavailable p { color: var(--body); margin-bottom: 22px; }

/* نمادِ اعتماد در فوتر */
.footer-enamad { display: flex; align-items: center; }
.footer-enamad img { max-height: 88px; width: auto; background: #fff; border-radius: 10px; padding: 4px; }

/* ---------- ۲۷) سازگاری المنتور ---------- */
.asa-elementor-front > .elementor { width: 100%; }
.asa-fullwidth-page { width: 100%; }
.asa-blank-canvas { background: #fff; }
/* جلوگیری از تداخل استایل دکمه‌ی پوسته با دکمه‌های المنتور */
.elementor-button { font-family: var(--font); }

/* resting card definition for all-white backgrounds */
.feature-card,.product-card,.testimonial-card,.blog-card{box-shadow:var(--shadow-sm)}

/* uploaded custom-logo size constraint (Site Identity) */
.custom-logo-link{line-height:0}
.custom-logo{max-height:var(--logo-h,52px);max-width:260px;width:auto;height:auto}
/* hero social box (editable via Customizer) */
.hero-social{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:12px}
.hero-social-label{font-size:1.02rem;font-weight:700;color:var(--ink)}
.hero-social-icons{display:flex;gap:14px;flex-wrap:wrap}
.hero-social-icon{width:var(--social-size,70px);height:var(--social-size,70px);border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--primary);box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.hero-social-icon svg{width:calc(var(--social-size,70px) * .48);height:calc(var(--social-size,70px) * .48);transition:transform .28s var(--ease)}
.hero-social-icon:hover{transform:translateY(-6px) scale(1.12);box-shadow:var(--shadow-lg);color:#fff}
.hero-social-icon:hover svg{transform:rotate(-8deg)}
.hero-social-icon:active{transform:translateY(-2px) scale(1.05)}
.hero-social-telegram{background:#229ED9}.hero-social-whatsapp{background:#25D366}.hero-social-bale{background:#1aa3d8}.hero-social-eitaa{background:#EF7D00}.hero-social-rubika{background:#6A39A0}.hero-social-aparat{background:#ED145B}.hero-social-instagram{background:#E4405F}.hero-social-linkedin{background:#0A66C2}.hero-social-x{background:#111111}.hero-social-youtube{background:#FF0000}.hero-social-facebook{background:#1877F2}
@media(max-width:1024px){.hero-social{align-items:center}}
@media(max-width:600px){.hero-social-icon{width:min(var(--social-size,70px),58px);height:min(var(--social-size,70px),58px)}.hero-social-icon svg{width:calc(min(var(--social-size,70px),58px) * .48);height:calc(min(var(--social-size,70px),58px) * .48)}}

/* ===== social icons: overlapping arrangement (close / stacked) ===== */
.hero-social-icons{gap:0}
.hero-social-icon{border:3px solid #fff}
.hero-social-icon + .hero-social-icon{margin-inline-start:-16px}
.hero-social-icon:hover{position:relative;z-index:3}
.topbar-social,.footer-social{gap:0}
.topbar-social .social-dot,.footer-social .social-dot{border:2px solid #fff;margin-inline-start:-8px}
.topbar-social .social-dot:first-child,.footer-social .social-dot:first-child{margin-inline-start:0}
.elementor-social-icons-wrapper{--grid-column-gap:0 !important}
.elementor-social-icons-wrapper .elementor-grid-item{margin-inline-start:-10px}
.elementor-social-icons-wrapper .elementor-grid-item:first-child{margin-inline-start:0}
.elementor-social-icons-wrapper .elementor-social-icon{border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .2s ease}
.elementor-social-icons-wrapper .elementor-social-icon:hover{transform:translateY(-3px);position:relative;z-index:3}
/* custom uploaded logo per social network */
.hero-social-icon.has-logo{background:#fff;overflow:hidden;padding:0}
.hero-social-icon.has-logo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* ===== صفحه مستقل محصول ===== */
.asa-product-single{overflow:clip;background:#fff}.asa-product-hero{position:relative;isolation:isolate;padding:clamp(78px,8vw,124px) 0 clamp(66px,8vw,110px);background:linear-gradient(135deg,color-mix(in srgb,var(--product-accent) 12%,#f8fbff),#fff 58%,color-mix(in srgb,var(--product-accent) 6%,#fff));border-bottom:1px solid color-mix(in srgb,var(--product-accent) 14%,#e9edf5)}
.asa-product-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.6}.asa-product-orb-one{width:420px;height:420px;right:-170px;top:-210px;background:radial-gradient(circle,color-mix(in srgb,var(--product-accent) 24%,transparent),transparent 70%)}.asa-product-orb-two{width:300px;height:300px;left:-130px;bottom:-180px;background:radial-gradient(circle,color-mix(in srgb,var(--product-accent) 17%,transparent),transparent 70%)}
.asa-product-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:clamp(38px,7vw,100px)}.asa-product-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:var(--muted);font-size:13px}.asa-product-breadcrumb a{color:inherit;text-decoration:none}.asa-product-breadcrumb a:hover{color:var(--product-accent)}
.asa-product-kicker{display:inline-flex;padding:7px 14px;margin-bottom:15px;border:1px solid color-mix(in srgb,var(--product-accent) 24%,transparent);border-radius:999px;background:rgba(255,255,255,.76);color:var(--product-accent);font-size:13px;font-weight:850;box-shadow:0 8px 30px rgba(30,50,90,.06)}.asa-product-hero h1{max-width:820px;margin:0;color:var(--ink);font-size:clamp(34px,4.3vw,62px);font-weight:950;line-height:1.35;letter-spacing:-.7px}.asa-product-lead{max-width:760px;margin:23px 0 0;color:var(--text);font-size:clamp(16px,1.5vw,20px);line-height:2}.asa-product-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.asa-product-visual{position:relative;min-height:360px;display:grid;place-items:center}.asa-product-visual::before{content:"";position:absolute;inset:8%;border-radius:34% 66% 55% 45%/48% 36% 64% 52%;background:linear-gradient(145deg,rgba(255,255,255,.98),color-mix(in srgb,var(--product-accent) 13%,white));box-shadow:0 35px 90px color-mix(in srgb,var(--product-accent) 23%,transparent),inset 0 1px 0 #fff;animation:asa-product-morph 9s ease-in-out infinite alternate}.asa-product-visual-ring{position:absolute;width:82%;aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--product-accent) 35%,transparent);border-radius:50%;animation:asa-product-spin 22s linear infinite}.asa-product-visual-icon{position:relative;z-index:2;display:grid;place-items:center;width:190px;height:190px;border-radius:44px;background:rgba(255,255,255,.88);box-shadow:0 24px 64px rgba(25,43,75,.15),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transform:rotate(-3deg);overflow:hidden}.asa-product-visual-icon .asa-card-svg-icon{width:116px;height:116px;filter:drop-shadow(0 20px 28px rgba(25,43,75,.17));transform:rotate(3deg)}.asa-product-visual-icon img{max-width:122px;max-height:122px}.asa-product-visual-icon.has-featured-image{width:min(100%,360px);height:250px;border-radius:30px;transform:rotate(-2deg)}.asa-product-visual-icon.has-featured-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.asa-product-visual-chip{position:absolute;z-index:3;bottom:23px;right:6%;padding:11px 17px;border-radius:14px;color:var(--ink);background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(30,48,78,.13);font-size:13px;font-weight:850;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@keyframes asa-product-morph{to{border-radius:61% 39% 40% 60%/37% 62% 38% 63%;transform:translateY(-8px) rotate(2deg)}}@keyframes asa-product-spin{to{transform:rotate(360deg)}}
.asa-product-body-section{padding-top:clamp(70px,8vw,118px)}.asa-product-body-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(34px,6vw,86px);align-items:start}.asa-product-content h2{margin:14px 0 22px;color:var(--ink);font-size:clamp(27px,3vw,39px);line-height:1.5}.asa-product-content .entry-content{color:var(--text);font-size:17px;line-height:2.15}.asa-product-content .entry-content>*:first-child{margin-top:0}.asa-product-strategy{display:grid;gap:18px}.asa-product-info-card{position:relative;overflow:hidden;padding:28px;border:1px solid color-mix(in srgb,var(--product-accent) 14%,#e7ebf3);border-radius:24px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--product-accent) 5%,white));box-shadow:0 18px 55px rgba(36,50,80,.07)}.asa-product-info-number{position:absolute;left:18px;top:4px;color:color-mix(in srgb,var(--product-accent) 13%,white);font-size:78px;font-weight:950;line-height:1}.asa-product-info-card h2{position:relative;margin:0 0 10px;color:var(--ink);font-size:19px}.asa-product-info-card p{position:relative;margin:0;color:var(--text);line-height:2}
.asa-product-features-section{background:linear-gradient(180deg,#f8faff,#fff)}.asa-product-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:38px 0 0;padding:0;list-style:none}.asa-product-feature-grid li{display:flex;align-items:flex-start;gap:13px;min-height:78px;padding:20px;border:1px solid #e9edf4;border-radius:18px;background:#fff;color:var(--ink);line-height:1.85;box-shadow:0 12px 34px rgba(37,50,80,.05)}.asa-product-feature-check{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;margin-top:1px;border-radius:11px;color:#fff;background:var(--product-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--product-accent) 30%,transparent)}
.asa-product-cta-section{padding-top:24px;padding-bottom:34px}.asa-product-cta-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(30px,5vw,58px);border-radius:30px;color:#fff;background:linear-gradient(120deg,color-mix(in srgb,var(--product-accent) 86%,#21314f),var(--product-accent));box-shadow:0 28px 70px color-mix(in srgb,var(--product-accent) 25%,transparent)}.asa-product-cta-card::after{content:"";position:absolute;width:280px;height:280px;left:-90px;top:-150px;border:45px solid rgba(255,255,255,.08);border-radius:50%}.asa-product-cta-card>*{position:relative;z-index:1}.asa-product-cta-card span{font-size:13px;font-weight:800;opacity:.84}.asa-product-cta-card h2{margin:8px 0 10px;color:#fff;font-size:clamp(25px,3vw,38px)}.asa-product-cta-card p{max-width:720px;margin:0;opacity:.88;line-height:1.9}.asa-related-products{padding-top:60px}
@media(max-width:900px){.asa-product-hero-grid,.asa-product-body-grid{grid-template-columns:1fr}.asa-product-visual{min-height:310px;max-width:520px;width:100%;margin-inline:auto}}@media(max-width:640px){.asa-product-hero{padding-top:52px}.asa-product-hero-actions .asa-btn{width:100%;justify-content:center}.asa-product-visual{min-height:270px}.asa-product-visual-icon{width:150px;height:150px;border-radius:34px}.asa-product-visual-icon .asa-card-svg-icon{width:94px;height:94px}.asa-product-visual-icon img{max-width:96px;max-height:96px}.asa-product-feature-grid{grid-template-columns:1fr}.asa-product-cta-card{align-items:stretch;flex-direction:column}.asa-product-cta-card .asa-btn{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.asa-product-visual::before,.asa-product-visual-ring{animation:none}.product-card:hover .asa-card-svg-icon{transform:none}}

/* ===== بهینه‌سازی واکنش‌گرای محصولات: موبایل، تبلت و دسکتاپ ===== */
.products-grid{align-items:stretch}
.product-card{display:flex;min-width:0;flex-direction:column;height:100%}
.product-card>*{min-width:0}
.product-title,.product-title a,.product-badge,.product-text{overflow-wrap:anywhere;word-break:normal}
.product-badge{max-width:100%;white-space:normal;line-height:1.65}
.product-text{flex:1 1 auto}
.product-link{align-self:flex-start;min-height:44px;margin-top:auto;padding:8px 2px;touch-action:manipulation}
.product-title a:focus-visible,.product-link:focus-visible,.asa-products .asa-btn:focus-visible,.asa-product-single .asa-btn:focus-visible,.asa-product-breadcrumb a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent,var(--product-accent,var(--primary))) 45%,transparent);outline-offset:4px;border-radius:6px}
.asa-products .asa-btn,.asa-product-single .asa-btn{min-height:48px;max-width:100%;white-space:normal;text-align:center;line-height:1.5;touch-action:manipulation}
.products-cta-actions{align-items:stretch}

.asa-product-single{overflow:hidden;overflow:clip}
.asa-product-hero-copy,.asa-product-content,.asa-product-strategy,.asa-product-info-card,.asa-product-cta-card>*,.asa-product-feature-grid li>*{min-width:0}
.asa-product-hero h1,.asa-product-lead,.asa-product-info-card,.asa-product-feature-grid li,.asa-product-cta-card{overflow-wrap:anywhere}
.asa-product-visual-chip{right:6%;max-width:88%;text-align:center;overflow-wrap:anywhere}
.asa-product-content .entry-content{min-width:0;overflow-wrap:anywhere}
.asa-product-content .entry-content img,.asa-product-content .entry-content video,.asa-product-content .entry-content iframe,.asa-product-content .entry-content embed,.asa-product-content .entry-content object{max-width:100%;height:auto}
.asa-product-content .entry-content iframe{width:100%}
.asa-product-content .entry-content pre{max-width:100%;overflow-x:auto;padding:16px;border-radius:12px;}
.asa-product-content .entry-content .wp-block-table{max-width:100%;overflow-x:auto;}
.asa-product-content .entry-content table{display:block;width:100%;max-width:100%;margin:24px 0;overflow-x:auto;border-collapse:collapse;}
.asa-product-content .entry-content th,.asa-product-content .entry-content td{min-width:120px;padding:12px 14px;border:1px solid var(--border);text-align:start;white-space:normal}
.asa-product-content .entry-content th{background:var(--bg-soft);color:var(--ink);font-weight:800}
.asa-product-feature-grid li>span:last-child{min-width:0;overflow-wrap:anywhere}

@media(max-width:820px){
	.asa-product-cta-card{align-items:stretch;flex-direction:column}
	.asa-product-cta-card .asa-btn{width:100%;justify-content:center}
}

@media(max-width:600px){
	.asa-products-page{padding-top:36px}
	.products-grid{gap:16px}
	.product-card{padding:22px;border-radius:20px}
	.product-top{margin-bottom:14px}
	.product-text{margin-bottom:10px}
	.products-cta-band{margin-top:36px;padding:30px 18px;border-radius:22px}
	.products-cta-actions{flex-direction:column;gap:10px}
	.products-cta-actions .asa-btn{width:100%}
	.asa-product-hero{padding-top:48px;padding-bottom:58px}
	.asa-product-hero h1{font-size:clamp(28px,8.5vw,38px);line-height:1.48;letter-spacing:0}
	.asa-product-lead{margin-top:18px;font-size:16px;line-height:1.95}
	.asa-product-hero-actions{margin-top:24px}
	.asa-product-visual{min-height:250px}
	.asa-product-visual-chip{bottom:10px;right:4%;max-width:92%;padding:9px 13px}
	.asa-product-body-section{padding-top:58px}
	.asa-product-content h2{font-size:clamp(25px,7vw,32px)}
	.asa-product-content .entry-content{font-size:16px;line-height:2.05}
	.asa-product-info-card{padding:22px;border-radius:20px}
	.asa-product-feature-grid{gap:11px;margin-top:28px}
	.asa-product-feature-grid li{min-height:0;padding:16px;border-radius:16px}
	.asa-product-cta-card{gap:22px;padding:28px 22px;border-radius:22px}
	.asa-related-products{padding-top:44px}
}

@media(max-width:380px){
	.asa-container{padding-inline:16px}
	.product-card{padding:20px}
	.asa-product-hero-actions{gap:10px}
	.asa-product-visual{min-height:230px}
	.asa-product-visual-icon{width:138px;height:138px;border-radius:30px}
	.asa-product-cta-card{padding:25px 18px}
}