/*
 * پایه‌ی سایت: نوشتار، بخش‌ها و لحن رنگشان، نقش‌مایه‌ها، دکمه‌ها، سربرگ و پابرگ، و حرکت.
 *
 * قاعده‌ها:
 * - فقط ویژگی‌های منطقی (inline/block، start/end) — سایت راست‌چین است.
 * - فاصله‌ی حروف هیچ‌جا: نه عنوان، نه برچسب، نه عدد. tabular-nums هم نه (رقم «۱» را با فاصله می‌کشد).
 * - کلاس‌های «bya-*» را ویرایشگر در Elementor ← پیشرفته ← کلاس‌های CSS روی کانتینر یا ابزارک
 *   می‌گذارد. فهرست کامل و معنای هر کدام در MainWebsite/docs/design-system.md است.
 * - هر تنظیمی که ویرایشگر در پنل Elementor بدهد (رنگ، فاصله، قلم) بر این‌ها غلبه می‌کند.
 *
 * لحن رنگ صفحه: بیشتر روشن و گرم (عاجی، کرم، نعنایی کم‌رنگ، مریم‌گلی)؛ کاجی ژرف (bya-on-stage) فقط برای
 * لحظه‌های مهم؛ طلایی فقط اشاره. نقش‌مایه‌ی تکرارشونده: «شمش» سه‌گوش‌بریده‌ی نشان برند، در برچسب‌ها و نشانه‌ها.
 */

/* ---------------------------------------------------------------- پایه */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-block-start: calc(var(--bya-header-height) + 16px);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	letter-spacing: 0;
	background-color: var(--bya-ivory);
	color: var(--bya-ink-2);
	font-family: var(--bya-font);
	font-size: var(--bya-text-body);
	line-height: var(--bya-leading-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: var(--bya-ink);
	font-family: var(--bya-font);
	font-weight: 700;
	line-height: var(--bya-leading-heading);
	letter-spacing: 0;
	text-wrap: balance;
}

/*
 * فاصله‌ی حرف‌ها در فارسی هیچ‌جا: حروف پیوسته‌اند و فاصله اتصالشان را می‌شکند، و میان رقم‌ها عدد را
 * از هم می‌پاشد. Elementor در کنترل قلم «فاصله‌ی حروف» دارد؛ اگر کسی آن را پر کند، این قاعده
 * (با انتخابگر خاص‌تر خود Elementor) شکست می‌خورد — آن کنترل را خالی بگذارید.
 */
.elementor-widget :is(h1, h2, h3, h4, h5, h6, p, span, a, li, strong, b),
.elementor-heading-title,
.elementor-button {
	letter-spacing: 0;
}

p {
	margin-block: 0 1em;
	text-wrap: pretty;
}

p:last-child {
	margin-block-end: 0;
}

a {
	color: var(--bya-pine);
	text-underline-offset: 0.3em;
	text-decoration-thickness: 1px;
}

img,
svg,
video {
	max-inline-size: 100%;
	block-size: auto;
}

:focus-visible {
	outline: 2px solid var(--bya-pine);
	outline-offset: 3px;
	border-radius: 4px;
}

.bya-on-stage :focus-visible,
.bya-site-footer :focus-visible,
.bya-site-header[data-tone="dark"] :focus-visible {
	outline-color: var(--bya-mint);
}

/*
 * انتخاب متن: هر جا خوانا. روی روشن، نعنایی با جوهر کاجی ژرف؛ روی تیره، شامپاینی با همان جوهر.
 * -webkit-text-fill-color هم نوشته می‌شود، چون واژه‌ی برجسته‌ی عنوان (bya-accent) با رنگ شفاف و
 * گرادیان نوشته شده و بی آن، متنِ انتخاب‌شده ناپدید می‌شد.
 */
::selection {
	background-color: #cdeadd;
	color: #0b1f19;
	-webkit-text-fill-color: #0b1f19;
	text-shadow: none;
}

.bya-on-stage ::selection,
.bya-site-footer ::selection,
.bya-site-header[data-tone="dark"] ::selection {
	background-color: #ecd394;
	color: #0b1f19;
	-webkit-text-fill-color: #0b1f19;
}

.screen-reader-text,
.bya-sr-only {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.bya-skip-link {
	position: fixed;
	inset-block-start: 12px;
	inset-inline-start: 12px;
	z-index: 100;
	padding: 10px 16px;
	border-radius: var(--bya-radius-s);
	background-color: var(--bya-surface);
	color: var(--bya-ink);
	font-weight: 600;
	box-shadow: var(--bya-shadow-m);
	transform: translateY(-200%);
	transition: transform var(--bya-duration-fast) var(--bya-ease);
}

.bya-skip-link:focus {
	transform: none;
}

.bya-site-main:focus {
	outline: none;
}

/* اعداد لاتین داخل متن فارسی (WooCommerce، PDF، USD) جهت خودشان را نگه دارند */
.bya-ltr {
	direction: ltr;
	unicode-bidi: isolate;
}

/* ---------------------------------------------------------------- بخش‌ها */

/*
 * هر بخش صفحه یک کانتینر Elementor با کلاس bya-section است و زمینه‌اش یکی از رنگ‌های سراسری.
 * فاصله‌ی بالا و پایین و حاشیه‌ی کناری از توکن‌ها می‌آید، پس همه‌ی بخش‌ها یک ریتم دارند.
 */
.e-con.bya-section {
	--padding-top: var(--bya-section);
	--padding-bottom: var(--bya-section);
	--padding-left: var(--bya-gutter);
	--padding-right: var(--bya-gutter);
	--container-max-width: var(--bya-container);
	--gap: var(--bya-head-gap);
	--row-gap: var(--bya-head-gap);
	position: relative;
}

.e-con.bya-section--tight {
	--padding-top: calc(var(--bya-section) * 0.62);
	--padding-bottom: calc(var(--bya-section) * 0.62);
}

.e-con.bya-section--wide {
	--container-max-width: var(--bya-container-wide);
}

/* دو بخش هم‌رنگ پشت هم: دومی فاصله‌ی بالا را نصف می‌کند تا میانشان حفره نیفتد */
.e-con.bya-section--follow {
	--padding-top: calc(var(--bya-section) * 0.35);
}

/* بخش تیره: کاجی ژرف. نوشته‌ها خودشان روشن می‌شوند. */
.bya-on-stage {
	background-color: var(--bya-stage);
	color: var(--bya-stage-ink-2);
	color-scheme: dark;
}

.bya-on-stage :is(h1, h2, h3, h4, h5, h6),
.bya-on-stage .elementor-heading-title {
	color: var(--bya-stage-ink);
}

.bya-on-stage a:not(.elementor-button) {
	color: var(--bya-mint);
}

/* خط مویی بالای بخش، مثل خط دفتر */
.bya-rule-top {
	border-block-start: 1px solid var(--bya-border);
}

.bya-on-stage.bya-rule-top {
	border-block-start-color: var(--bya-stage-line);
}

/*
 * نورهای بخش تیره: دو درخشش نرم (کاجی و یک اخگر طلایی) و شبکه‌ی مویی محو. هر دو لایه inset:0 دارند و
 * پس‌زمینه‌شان به اندازه‌ی خود بخش بریده می‌شود؛ پس بخش می‌تواند overflow آزاد داشته باشد (تصویر صحنه‌ی
 * اول از لبه‌ی پایینش بیرون می‌زند) بی آن‌که نور به بخش بعد نشت کند. فقط opacity جان می‌گیرد.
 */
.bya-stage-lights {
	isolation: isolate;
}

.bya-stage-lights::before,
.bya-stage-lights::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.bya-stage-lights::before {
	background:
		radial-gradient(60% 55% at 50% 58%, color-mix(in oklab, var(--bya-pine-bright) 26%, transparent), transparent 70%),
		radial-gradient(38% 40% at 88% 4%, color-mix(in oklab, var(--bya-pine-mid) 30%, transparent), transparent 72%),
		radial-gradient(30% 34% at 8% 92%, color-mix(in oklab, var(--bya-gold) 13%, transparent), transparent 72%),
		linear-gradient(180deg, color-mix(in oklab, var(--bya-stage) 70%, var(--bya-stage-raised)), var(--bya-stage) 55%, var(--bya-stage-deep));
}

.bya-stage-lights::after {
	background-image:
		linear-gradient(var(--bya-stage-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--bya-stage-line) 1px, transparent 1px);
	background-size: 64px 64px;
	background-position: center top;
	-webkit-mask-image: radial-gradient(70% 60% at 50% 30%, #000 10%, transparent 75%);
	mask-image: radial-gradient(70% 60% at 50% 30%, #000 10%, transparent 75%);
	opacity: 0.45;
}

.bya-stage-lights > * {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: no-preference) {
	.bya-stage-lights::before {
		animation: bya-breathe 14s var(--bya-ease-in-out) infinite alternate;
	}
}

@keyframes bya-breathe {
	from {
		opacity: 0.86;
	}

	to {
		opacity: 1;
	}
}

/*
 * نور نرم روی زمینه‌ی روشن (نعنایی، مریم‌گلی): بی خط و بی نقش. نوری سفید پشت تصویر بخش (در دسکتاپ سمت
 * پایان، در گوشی پایین)، درخشش کم‌رنگ کاجی در گوشه‌ی آغاز و اخگر شامپاینی در گوشه‌ی پایان. رنگ زمینه همان
 * رنگ سراسری بخش است که Elementor می‌دهد؛ این فقط لایه‌ی نور روی آن است.
 * جای نورها فیزیکی است (پس‌زمینه نسخه‌ی منطقی ندارد) و برای راست‌چین چیده شده.
 */
.bya-aura {
	background-image:
		radial-gradient(40% 52% at 28% 44%, color-mix(in oklab, var(--bya-surface) 85%, transparent), transparent 72%),
		radial-gradient(36% 44% at 98% 4%, color-mix(in oklab, var(--bya-pine-bright) 12%, transparent), transparent 70%),
		radial-gradient(30% 38% at 2% 100%, color-mix(in oklab, var(--bya-gold-light) 16%, transparent), transparent 72%);
}

@media (max-width: 1024px) {
	.bya-aura {
		background-image:
			radial-gradient(70% 34% at 50% 58%, color-mix(in oklab, var(--bya-surface) 85%, transparent), transparent 72%),
			radial-gradient(60% 30% at 100% 0%, color-mix(in oklab, var(--bya-pine-bright) 12%, transparent), transparent 70%),
			radial-gradient(60% 24% at 0% 100%, color-mix(in oklab, var(--bya-gold-light) 16%, transparent), transparent 72%);
	}
}

/* شبکه‌ی مویی (دیگر در صفحه‌ی اصلی به کار نمی‌رود؛ برای صفحه‌های بعد مانده است) */
.bya-ledger-grid {

	background-image:
		linear-gradient(color-mix(in oklab, var(--bya-pine) 6%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in oklab, var(--bya-pine) 6%, transparent) 1px, transparent 1px);
	background-size: 40px 40px;
	background-position: center top;
}

/* ---------------------------------------------------------------- نوشتار */

/*
 * برچسب بالای عنوان: یک «شمش» کوچک طلایی (همان ذوزنقه‌ی نشان برند) و متن. طلایی تیره روی روشن،
 * شامپاینی روی تیره. نشانه‌ی تکرارشونده‌ی با عیار است؛ هیچ قرص و قابی دورش نیست.
 */
.bya-eyebrow .elementor-heading-title,
.bya-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--bya-gold-deep);
	font-size: var(--bya-text-small);
	font-weight: 600;
	line-height: 1.6;
}

.bya-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	inline-size: 13px;
	block-size: 9px;
	background: linear-gradient(160deg, var(--bya-gold-light), var(--bya-gold) 60%, var(--bya-gold-deep));
	clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%);
}

.bya-on-stage .bya-eyebrow .elementor-heading-title {
	color: var(--bya-gold-light);
}

/* شعار صفحه‌ی اصلی پاراگراف است (H1 برچسب بالای آن است)؛ همان شکست خط متوازن عنوان‌ها */
.bya-hero-title .elementor-heading-title {
	text-wrap: balance;
}

.bya-lead,
.bya-lead p {
	font-size: var(--bya-text-lead);
	line-height: var(--bya-leading-body);
	color: var(--bya-ink-2);
}

.bya-on-stage .bya-lead,
.bya-on-stage .bya-lead p {
	color: var(--bya-stage-ink-2);
}

.bya-muted {
	color: var(--bya-ink-3);
}

.bya-measure {
	max-inline-size: 40rem;
}

.bya-measure-narrow {
	max-inline-size: 30rem;
}

/* واژه‌ی برجسته در عنوان: <span class="bya-accent">…</span> داخل متن عنوان */
.bya-accent {
	color: var(--bya-pine);
}

.bya-on-stage .bya-accent {
	/* در راست‌چین از راست شروع می‌شود: نعنایی ← کاجی روشن ← شامپاینی؛ واژه‌ی آخر («کامل») طلایی است */
	background-image: linear-gradient(270deg, var(--bya-mint) 8%, var(--bya-pine-bright) 46%, var(--bya-gold-light) 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	/* جعبه‌ی خط فارسی بلندتر از گلیف است؛ بی این، دنباله‌ی «ر» و «ی» از گرادیان بیرون می‌ماند */
	padding-block: 0.08em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* H2 بخش‌ها: درشت و ویراستارانه، ولی اندازه‌اش همان قلم سراسری H2 است */
.e-con.bya-section h2.elementor-heading-title {
	line-height: var(--bya-leading-h2);
}

/* ---------------------------------------------------------------- سرآیند بخش */

/* برچسب، عنوان، متن — پهنای خواندنی */
.e-con.bya-section-head {
	--width: min(100%, 48rem);
	--gap: 16px;
	--row-gap: 16px;
}

.e-con.bya-section-head--center {
	--width: min(100%, 52rem);
	margin-inline: auto;
	align-items: center;
	text-align: center;
}

.bya-section-head--center .bya-lead {
	margin-inline: auto;
}

/* سرآیند دوتکه: عنوان سمت آغاز، متن سمت پایان، هم‌تراز با پایین عنوان */
.e-con.bya-section-head--split {
	--width: 100%;
	--flex-direction: row;
	--flex-wrap: wrap;
	--justify-content: space-between;
	--align-items: flex-end;
	--gap: 24px clamp(32px, 6vw, 96px);
	--row-gap: 24px;
	--column-gap: clamp(32px, 6vw, 96px);
}

.e-con.bya-section-head--split > .e-con:first-child {
	--width: min(100%, 44rem);
}

/* Elementor به هر ابزارک درون کانتینر max-width: 100% می‌دهد (.elementor.elementor .e-con>.elementor-widget) */
.elementor .e-con.bya-section-head--split > .elementor-widget:last-child {
	flex: 0 1 28rem;
	max-inline-size: 28rem;
	padding-block-end: 0.5rem;
}

@media (max-width: 1024px) {
	.elementor .e-con.bya-section-head--split > .elementor-widget:last-child {
		flex-basis: 100%;
		max-inline-size: 40rem;
	}
}

/* ---------------------------------------------------------------- دکمه‌ها */

/*
 * دکمه‌ها ابزارک «دکمه»ی خود Elementor‌اند و این کلاس‌ها (روی ابزارک، پیشرفته ← کلاس‌های CSS) نوعش را
 * تعیین می‌کنند:
 *   bya-btn-primary   کاجی، دکمه‌ی اصلی هر بخش روشن
 *   bya-btn-light     عاجی روی بخش تیره (دکمه‌ی اصلی همان‌جا)
 *   bya-btn-ghost     بی‌زمینه با خط مویی (روی تیره، خط روشن)
 *   bya-btn-link      پیوند متنی با پیکان
 *   bya-btn-arrow     پیکانی که با hover کمی جلو می‌رود (کنار هر کدام از بالایی‌ها)
 *   bya-btn-sm / bya-btn-lg   اندازه
 * «تنظیمات سایت ← دکمه‌ها»ی Elementor عمداً خالی است (روی هر <button> صفحه می‌نشست).
 */
.elementor-widget-button .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 44px;
	padding: 9px 20px;
	border-radius: var(--bya-radius-s);
	background-color: var(--bya-pine);
	color: #fff;
	font-family: var(--bya-font);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
	transition:
		background-color var(--bya-duration-fast) var(--bya-ease),
		color var(--bya-duration-fast) var(--bya-ease),
		border-color var(--bya-duration-fast) var(--bya-ease),
		transform var(--bya-duration-fast) var(--bya-ease),
		box-shadow var(--bya-duration-fast) var(--bya-ease);
}

.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus-visible {
	background-color: var(--bya-pine-deep);
	color: #fff;
}

.elementor-widget-button .elementor-button:active {
	transform: translateY(1px);
}

.bya-btn-primary .elementor-button {
	background-color: var(--bya-pine);
	background-image: linear-gradient(170deg, color-mix(in oklab, var(--bya-pine) 82%, var(--bya-pine-bright)), var(--bya-pine) 55%, color-mix(in oklab, var(--bya-pine) 70%, var(--bya-pine-deep)));
	color: #fff;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.16),
		0 1px 2px rgb(6 70 58 / 0.24),
		0 14px 28px -14px color-mix(in oklab, var(--bya-pine) 85%, transparent);
}

.bya-btn-primary .elementor-button:hover,
.bya-btn-primary .elementor-button:focus-visible {
	background-color: var(--bya-pine-deep);
	background-image: none;
	color: #fff;
	transform: translateY(-1px);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.12),
		0 1px 2px rgb(6 70 58 / 0.3),
		0 18px 32px -14px color-mix(in oklab, var(--bya-pine) 90%, transparent);
}

.bya-btn-light .elementor-button {
	background-color: var(--bya-stage-ink);
	background-image: linear-gradient(180deg, #fff, var(--bya-stage-ink));
	color: var(--bya-stage);
	box-shadow:
		0 1px 0 rgb(255 255 255 / 0.6) inset,
		0 16px 32px -16px rgb(0 0 0 / 0.6);
}

.bya-btn-light .elementor-button:hover,
.bya-btn-light .elementor-button:focus-visible {
	background-color: #fff;
	background-image: none;
	color: var(--bya-pine-deep);
	transform: translateY(-1px);
}

.bya-btn-ghost .elementor-button {
	background-color: transparent;
	color: var(--bya-ink);
	box-shadow: inset 0 0 0 1px var(--bya-border-strong);
}

.bya-btn-ghost .elementor-button:hover,
.bya-btn-ghost .elementor-button:focus-visible {
	background-color: var(--bya-surface);
	color: var(--bya-ink);
	box-shadow: inset 0 0 0 1px var(--bya-ink-3), var(--bya-shadow-xs);
}

.bya-on-stage .bya-btn-ghost .elementor-button {
	color: var(--bya-stage-ink);
	box-shadow: inset 0 0 0 1px var(--bya-stage-line-strong);
}

.bya-on-stage .bya-btn-ghost .elementor-button:hover,
.bya-on-stage .bya-btn-ghost .elementor-button:focus-visible {
	background-color: var(--bya-stage-glass);
	color: #fff;
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--bya-stage-ink) 38%, transparent);
}

.bya-btn-link .elementor-button {
	min-block-size: 44px;

	padding-inline: 0;
	background: none;
	color: var(--bya-pine);
	box-shadow: none;
}

.bya-btn-link .elementor-button:hover,
.bya-btn-link .elementor-button:focus-visible {
	background: none;
	color: var(--bya-pine-deep);
}

.bya-on-stage .bya-btn-link .elementor-button {
	color: var(--bya-mint);
}

/* پیکان رو به جلو است و در راست‌چین «جلو» چپ است؛ transform نسخه‌ی منطقی ندارد */
.bya-btn-arrow .elementor-button-text::after,
.bya-btn-link .elementor-button-text::after {
	content: "←";
	display: inline-block;
	margin-inline-start: 8px;
	transition: transform var(--bya-duration-fast) var(--bya-ease);
}

.bya-btn-arrow .elementor-button:hover .elementor-button-text::after,
.bya-btn-link .elementor-button:hover .elementor-button-text::after {
	transform: translateX(-4px);
}

.bya-btn-sm .elementor-button {
	min-block-size: 38px;
	padding: 7px 16px;
	font-size: var(--bya-text-small);
}

.bya-btn-lg .elementor-button {
	min-block-size: 48px;
	padding: 11px 24px;
	font-size: 0.9375rem;
}

/* ---------------------------------------------------------------- سربرگ */

/*
 * دو حالت: روشن (پیش‌فرض) و «روی صحنه». صفحه‌ای که با صحنه‌ی تیره (bya-hero) شروع می‌شود، سربرگ را
 * شفاف روی همان صحنه می‌نشاند (data-tone="dark" از site.js)؛ با پیمایش، سربرگ عاجی مات می‌شود. پنهان شدن
 * با پیمایش به پایین و برگشتن با پیمایش به بالا فقط transform است، پس چیدمان تکان نمی‌خورد.
 */
.bya-site-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 60;
	color: var(--bya-ink);
	background-color: color-mix(in oklab, var(--bya-ivory) 86%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	border-block-end: 1px solid color-mix(in oklab, var(--bya-border) 80%, transparent);
	transition:
		transform 360ms var(--bya-ease),
		background-color var(--bya-duration-mid) var(--bya-ease),
		border-color var(--bya-duration-mid) var(--bya-ease),
		color var(--bya-duration-mid) var(--bya-ease);
}

/* صفحه‌ی با صحنه‌ی تیره: سربرگ روی صحنه شناور است و جای خودش را در جریان صفحه نمی‌گیرد */
body:has(.bya-hero) .bya-site-header {
	position: fixed;
	inset-inline: 0;
}

.bya-site-header[data-tone="dark"] {
	color: var(--bya-stage-ink);
	background-color: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-block-end-color: transparent;
}

.bya-site-header[data-hidden="true"] {
	transform: translateY(-100%);
}

@media (prefers-reduced-motion: reduce) {
	.bya-site-header {
		transition: none;
	}
}

.admin-bar .bya-site-header {
	inset-block-start: var(--wp-admin--admin-bar--height, 32px);
}

.bya-site-header > .elementor,
.bya-site-header .e-con.bya-header-bar {
	min-block-size: var(--bya-header-height);
}

.e-con.bya-header-bar {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: var(--bya-gutter);
	--padding-right: var(--bya-gutter);
	--container-max-width: var(--bya-container-wide);
}

@media (max-width: 767px) {
	:root {
		--bya-header-height: 64px;
	}
}

/* جایگزین ساده وقتی قالب سربرگ یا پابرگ هنوز انتخاب نشده */
.bya-fallback-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-inline-size: var(--bya-container-wide);
	min-block-size: var(--bya-header-height);
	margin-inline: auto;
	padding-inline: var(--bya-gutter);
}

.bya-fallback-bar a {
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.bya-header-bar .bya-header-nav .bya-nav--bar {
	display: flex;
	justify-content: center;
}

.e-con.bya-header-actions {
	--width: auto;
	flex: none;
}

@media (max-width: 1024px) {
	.bya-header-bar .bya-header-nav .bya-nav--bar {
		justify-content: flex-end;
	}
}

/* دکمه‌ی ورود سربرگ روی صحنه‌ی تیره: روشن، تا با صحنه یکی نشود */
.bya-site-header[data-tone="dark"] .bya-header-actions .bya-btn-primary .elementor-button {
	background-color: var(--bya-stage-ink);
	background-image: none;
	color: var(--bya-stage);
	box-shadow: none;
}

.bya-site-header[data-tone="dark"] .bya-header-actions .bya-btn-primary .elementor-button:hover,
.bya-site-header[data-tone="dark"] .bya-header-actions .bya-btn-primary .elementor-button:focus-visible {
	background-color: #fff;
	color: var(--bya-pine-deep);
}

/* ---------------------------------------------------------------- پابرگ */

.bya-site-footer {
	background-color: var(--bya-stage-deep);
	color: var(--bya-stage-ink-2);
}

/* پابرگ جمع‌وجور: فاصله‌ی کم، نشان کوچک، یک جمله، ستون‌های کوتاه */
.bya-site-footer .e-con.bya-footer {
	--padding-top: clamp(2.75rem, 2rem + 2.6vw, 4rem);
	--padding-bottom: 20px;
	border-block-start: 1px solid var(--bya-stage-line);
}

.bya-footer-heading .elementor-heading-title {
	color: var(--bya-stage-ink);
	font-size: var(--bya-text-small);
	font-weight: 600;
}

.bya-footer-about,
.bya-footer-about p {
	max-inline-size: 22rem;
	color: var(--bya-stage-ink-2);
	font-size: var(--bya-text-small);
	line-height: 1.9;
}

.bya-footer-heading .elementor-heading-title::before {
	display: none;
}

.bya-footer-statement .elementor-heading-title {
	color: var(--bya-stage-ink);
	font-size: clamp(1.375rem, 1.1rem + 1.1vw, 2rem);
	line-height: 1.5;
}

.bya-footer-bottom {
	padding-block-start: 20px;

	border-block-start: 1px solid var(--bya-stage-line);
	font-size: var(--bya-text-micro);
	color: color-mix(in oklab, var(--bya-stage-ink-2) 85%, transparent);
}

.bya-footer-bottom p {
	margin: 0;
}

.bya-footer-legal .bya-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

/* ---------------------------------------------------------------- حرکت */

/*
 * «آشکار شدن با پیمایش»: هر کانتینر یا ابزارکی که کلاس bya-reveal دارد، وقتی به دید آمد آرام بالا
 * می‌آید. کلاس bya-motion را اسکریپت کوچک سرآیند فقط وقتی روی <html> می‌گذارد که JS اجرا شده و
 * کاربر حرکت کم نخواسته است؛ پس بی JS یا با حرکت کم، همه‌چیز از اول دیده می‌شود.
 * bya-reveal-stagger فرزندان مستقیم را با فاصله‌ی کوتاه یکی‌یکی می‌آورد.
 */
.bya-motion .bya-reveal:not(.is-revealed),
.bya-motion .bya-reveal-stagger:not(.is-revealed) > * {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
}

.bya-motion .bya-reveal,
.bya-motion .bya-reveal-stagger > * {
	transition:
		opacity var(--bya-duration) var(--bya-ease),
		transform var(--bya-duration) var(--bya-ease-out);
}

.bya-motion .bya-reveal-stagger.is-revealed > :nth-child(2) {
	transition-delay: 70ms;
}

.bya-motion .bya-reveal-stagger.is-revealed > :nth-child(3) {
	transition-delay: 140ms;
}

.bya-motion .bya-reveal-stagger.is-revealed > :nth-child(4) {
	transition-delay: 210ms;
}

.bya-motion .bya-reveal-stagger.is-revealed > :nth-child(n + 5) {
	transition-delay: 280ms;
}

/* ویرایشگر Elementor همه‌چیز را بی‌انیمیشن نشان می‌دهد تا ویرایش سخت نشود */
.elementor-editor-active .bya-reveal,
.elementor-editor-active .bya-reveal-stagger > * {
	opacity: 1 !important;
	transform: none !important;
}

/* ---------------------------------------------------------------- صفحه‌های بی‌Elementor (فاز بعد) */

.bya-fallback-content {
	max-inline-size: 44rem;
	margin-inline: auto;
	padding: var(--bya-section) var(--bya-gutter);
}

.bya-fallback-content h1 {
	font-size: var(--bya-text-h2);
	margin-block-end: var(--bya-stack);
}

.bya-fallback-list {
	display: grid;
	gap: var(--bya-stack);
	padding: 0;
	list-style: none;
}

/* ---------------------------------------------------------------- ترکیب صفحه
 * کلاس‌هایی که فقط چیدمان یک الگو را می‌دهند. هر کدام روی یک کانتینر Elementor است و نامش در پنل
 * پیشرفته ← کلاس‌های CSS دیده می‌شود.
 */

/*
 * صحنه‌ی اول: سربرگ روی آن شناور است، پس فاصله‌ی بالا بلندی سربرگ را هم دارد. تصویر صحنه به اندازه‌ی
 * --bya-overlap از لبه‌ی پایین بخش بیرون می‌زند و روی بخش روشن بعدی (bya-after-hero) می‌نشیند؛ مرز تیره و
 * روشن از میان خود محصول می‌گذرد، نه یک خط صاف میان دو بلوک.
 */
:root {
	--bya-overlap: clamp(64px, 11vw, 210px);
}

.e-con.bya-hero {
	--padding-top: calc(var(--bya-header-height) + clamp(2rem, 0.75rem + 4vw, 4rem));
	--padding-bottom: 0px;
	--gap: clamp(32px, 3.6vw, 52px);
	--row-gap: clamp(32px, 3.6vw, 52px);
	z-index: 2;
	overflow: visible;
}

.e-con.bya-hero-copy {
	--width: min(100%, 56rem);
	--gap: 22px;
	--row-gap: 22px;
	margin-inline: auto;
	align-items: center;
	text-align: center;
}

.bya-hero-copy .bya-lead {
	max-inline-size: 42rem;
	margin-inline: auto;
}

.e-con.bya-hero-actions {
	--justify-content: center;
	padding-block-start: 6px;
}

.e-con.bya-after-hero {
	--padding-top: calc(var(--bya-overlap) + clamp(3rem, 2rem + 3vw, 5rem));
	--padding-bottom: clamp(1.5rem, 1rem + 2vw, 3rem);
	z-index: 1;
}

/* «یک روز کاری»: پایین مسیر ثابت خودش فضای نفس دارد؛ فاصله‌ی پایین بخش کوتاه‌تر است */
.e-con.bya-journey-section {
	--padding-bottom: clamp(3rem, 2rem + 3vw, 5rem);
}

/* «نمونه»: تصویر روی سینی کاجی کم‌رنگ با نور نرم بالای آن، مثل نمونه‌ای زیر چراغ میز سنجش */
.e-con.bya-specimen {
	--padding-top: clamp(22px, 3.4vw, 40px);
	--padding-bottom: clamp(22px, 3.4vw, 40px);
	--padding-left: clamp(18px, 3.4vw, 40px);
	--padding-right: clamp(18px, 3.4vw, 40px);
	justify-content: center;
	border-radius: var(--bya-radius-l);
	background-color: var(--bya-mint-pale);
	background-image:
		radial-gradient(75% 60% at 50% 38%, color-mix(in oklab, var(--bya-surface) 80%, transparent), transparent 75%),
		radial-gradient(60% 45% at 100% 100%, color-mix(in oklab, var(--bya-sage) 90%, transparent), transparent 70%);
	box-shadow: inset 0 0 0 1px var(--bya-sage-line);
}


.elementor .e-con.bya-specimen > .elementor-widget.elementor-widget-image {
	/* ۱۰۵۶ پیکسل پرونده = ۵۲۸ پیکسل تیز روی صفحه‌ی دوبرابر */
	max-inline-size: 33rem;
	margin-inline: auto;
}

/*
 * چهار جنس («چرا»): کارت‌های جمع‌وجور، آیکن کنار متن؛ واحد هر جنس (برچسب) ته ردیف عنوان، کم‌رنگ.
 * کلاس bya-assets روی ابزارک «فهرست و کارت‌ها» با چیدمان کارت.
 */
.bya-assets .bya-index--cards {
	gap: 12px;
}

.bya-assets .bya-index--cards .bya-index__item {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--bya-radius);
}

.bya-assets .bya-index .bya-ico {
	--bya-ico-size: 40px;
	border-radius: 12px;
}

.bya-assets .bya-index .bya-ico .bya-icon {
	inline-size: 19px;
	block-size: 19px;
}

.bya-assets .bya-index .bya-index__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 10px;
}

.bya-assets .bya-index .bya-index__title {
	grid-row: 1;
	grid-column: 1;
	margin: 0;
	font-size: 1rem;
}

.bya-assets .bya-index .bya-index__tag {
	grid-row: 1;
	grid-column: 2;
	margin: 0 !important;
	padding: 1px 9px;
	border-radius: var(--bya-radius-pill);
	background-color: color-mix(in oklab, var(--bya-gold-soft) 75%, transparent);
	color: var(--bya-gold-deep);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.8;
}

.bya-assets .bya-index .bya-index__text {
	grid-column: 1 / -1;
	margin-block-start: 4px !important;
	font-size: 0.875rem;
	line-height: 1.8;
}

@media (max-width: 767px) {
	.bya-assets .bya-index--cards.bya-index--cols-2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.bya-assets .bya-index--cards.bya-index--cols-2 .bya-index__item {
		padding: 14px 16px;
	}
}

/* قاعده‌ی کوتاه زیر چهار جنس: کادر نعنایی با آیکن تراز، هم‌اندازه‌ی کارت‌های بالا */
.bya-callout .bya-index .bya-index__item {
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--bya-radius);
	background-color: var(--bya-mint-pale);
	box-shadow: inset 0 0 0 1px var(--bya-sage-line);
}

.bya-callout .bya-index .bya-ico {
	--bya-ico-size: 40px;
	border-radius: 12px;
}

.bya-callout .bya-index .bya-ico .bya-icon {
	inline-size: 19px;
	block-size: 19px;
}

.bya-callout .bya-index .bya-index__title {
	margin-block-end: 2px;
	font-size: 1rem;
}

.bya-callout .bya-index .bya-index__text {
	font-size: 0.875rem;
	line-height: 1.8;
}

/* چهار نکته‌ی «روی هر دستگاه»: یک ردیف زیر متن و دستگاه‌ها، جدا با خط مویی، آیکن بالای هر نکته */
.elementor .bya-devices-points {
	padding-block-start: clamp(28px, 3vw, 44px);
	border-block-start: 1px solid var(--bya-sage-line);
}

.bya-devices-points .bya-index--list .bya-index__item--icon {
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

/* مخاطبان: نوشتار-محور، چهار ستون با خط مویی، عنوان درشت؛ نه کارت (اصول کارت سفید دارند، امکانات شبکه) */
.bya-audience .bya-index--columns .bya-index__item {
	gap: 20px;
	border-inline-start-color: color-mix(in oklab, var(--bya-border-strong) 80%, transparent);
}

.bya-audience .bya-index__title {
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
	line-height: 1.5;
}

/* برچسب‌های اطمینان زیر دکمه‌های صحنه، اصول و دعوت پایانی: وسط‌چین */
.bya-hero-assure .bya-index--chips,
.bya-trust-seals .bya-index--chips,
.bya-cta-assure .bya-index--chips {
	justify-content: center;
}

.bya-hero-assure .bya-index--chips {
	padding-block-start: 10px;
}

/* ردیف دوستونه‌ی بخش با فاصله‌ی بزرگ و ستون‌های نابرابر */
.e-con.bya-split {
	--flex-wrap: wrap;
	--justify-content: space-between;
	--align-items: center;
	--gap: clamp(40px, 6vw, 96px);
	--column-gap: clamp(40px, 6vw, 96px);
	--row-gap: clamp(40px, 6vw, 64px);
}

/* پرسش‌ها: سرآیند کنار فهرست در دسکتاپ ثابت می‌ماند */
@media (min-width: 1025px) {
	.e-con.bya-faq-aside {
		position: sticky;
		inset-block-start: calc(var(--bya-header-height) + 40px);
	}
}

/* تبلت و گوشی: اول سرآیند، بعد خود پرسش‌ها، و کادر راهنما و پشتیبانی آخر */
@media (max-width: 1024px) {
	.e-con.bya-faq-aside {
		display: contents;
	}

	.elementor .bya-faq-aside > .elementor-widget.bya-faq-help {
		order: 2;
		flex: 0 0 100%;
		margin-block-start: 0;
	}
}


/* دعوت پایانی */
.e-con.bya-cta {
	--padding-top: clamp(5.5rem, 3rem + 9vw, 10rem);
	--padding-bottom: clamp(5.5rem, 3rem + 9vw, 10rem);
	text-align: center;
}

.e-con.bya-cta-inner {
	--width: min(100%, 50rem);
	margin-inline: auto;
}

.bya-cta .bya-measure {
	margin-inline: auto;
}

.bya-cta .elementor-heading-title {
	font-size: clamp(1.875rem, 1.4rem + 2vw, 3rem);
	line-height: 1.32;
}

@media (max-width: 1024px) {
	.e-con.bya-split > .e-con {
		--width: 100%;
	}
}

@media (max-width: 767px) {
	.e-con.bya-hero-copy {
		--gap: 18px;
		--row-gap: 18px;
	}

	.bya-hero-actions .elementor-widget-button,
	.bya-cta-actions .elementor-widget-button {
		flex: 1 1 100%;
	}

	.bya-hero-actions .elementor-button,
	.bya-cta-actions .elementor-button {
		inline-size: 100%;
	}
}

/* ---------------------------------------------------------------- برگه‌های داخلی
 * سرآیند روشن هر برگه (تماس، درباره، پرسش‌ها، و قالب‌های مقاله و جست‌وجو): مسیر صفحه، برچسب، H1 و متن.
 * تیره نیست؛ کاجی ژرف فقط برای لحظه‌های مهم است.
 */
.e-con.bya-page-head-section {
	--padding-top: calc(clamp(2.25rem, 1.5rem + 3vw, 4rem));
	--padding-bottom: clamp(2.5rem, 1.6rem + 3.4vw, 4.5rem);
	--gap: clamp(28px, 3vw, 44px);
	--row-gap: clamp(28px, 3vw, 44px);
	border-block-end: 1px solid color-mix(in oklab, var(--bya-sage-line) 70%, transparent);
}

.e-con.bya-page-head {
	--width: min(100%, 46rem);
	--gap: 12px;
	--row-gap: 12px;
}

.bya-page-title .elementor-heading-title,
h1.bya-page-title {
	font-size: clamp(1.875rem, 1.4rem + 2vw, 3rem);
	line-height: 1.38;
}

/* مسیر صفحه: خانه › … › همین صفحه */
.bya-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--bya-ink-3);
	font-size: var(--bya-text-micro);
	line-height: 1.7;
}

.bya-crumbs li {
	display: inline-flex;
	align-items: center;
}

.bya-crumbs li + li::before {
	content: "‹";
	margin-inline: 8px;
	color: color-mix(in oklab, var(--bya-ink-3) 60%, transparent);
}

.bya-crumbs li a {
	color: var(--bya-ink-3);
	text-decoration: none;
}

.bya-crumbs li a:hover {
	color: var(--bya-pine);
	text-decoration: underline;
}

.bya-crumbs [aria-current="page"] {
	color: var(--bya-ink-2);
	font-weight: 500;
}

/* عکس محیطی (مجوز Pexels؛ بی نام عکاس) */
.e-con.bya-photo {
	--gap: 8px;
}

.bya-photo img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	border-radius: var(--bya-radius-l);
	box-shadow: 0 0 0 1px color-mix(in oklab, var(--bya-ink) 8%, transparent), var(--bya-shadow-m);
}

.e-con.bya-photo--tall {
	--width: min(100%, 26rem);
}

.e-con.bya-photo--wide {
	--width: min(100%, 48%);
}

@media (max-width: 1024px) {
	.e-con.bya-photo--tall {
		--width: min(100%, 30rem);
		margin-inline: auto;
	}

	.e-con.bya-photo--wide {
		--width: 100%;
	}

	.bya-photo--tall img {
		aspect-ratio: 4 / 3;
		object-fit: cover;
		object-position: center 45%;
	}
}

/* کارت فرم: سطح سفید با سایه‌ی کم، روی زمینه‌ی عاجی یا نعنایی */
.e-con.bya-form-card {
	--padding-top: clamp(22px, 3vw, 36px);
	--padding-bottom: clamp(22px, 3vw, 36px);
	--padding-left: clamp(18px, 3vw, 36px);
	--padding-right: clamp(18px, 3vw, 36px);
	border-radius: var(--bya-radius-l);
	background-color: var(--bya-surface);
	box-shadow:
		0 0 0 1px color-mix(in oklab, var(--bya-border) 90%, transparent),
		var(--bya-shadow-m);
}

@media (min-width: 1025px) {
	.e-con.bya-form-aside {
		position: sticky;
		inset-block-start: calc(var(--bya-header-height) + 32px);
	}
}

.bya-contact-tips .bya-index {
	gap: 20px;
}

.bya-contact-tips .bya-index .bya-ico {
	--bya-ico-size: 40px;
	border-radius: 12px;
}

.bya-contact-tips .bya-index .bya-ico .bya-icon {
	inline-size: 19px;
	block-size: 19px;
}

.bya-contact-tips .bya-index .bya-index__title {
	margin-block-end: 2px;
	font-size: 1rem;
}

.bya-contact-tips .bya-index .bya-index__text {
	font-size: var(--bya-text-small);
	line-height: 1.85;
}

/* نوار کوتاه با متن و دکمه (کرم) */
.e-con.bya-strip {
	--padding-top: clamp(20px, 2.4vw, 28px);
	--padding-bottom: clamp(20px, 2.4vw, 28px);
	--padding-left: clamp(20px, 3vw, 36px);
	--padding-right: clamp(20px, 3vw, 36px);
	border-radius: var(--bya-radius-l);
	background-color: color-mix(in oklab, var(--bya-surface) 55%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--bya-border-strong) 70%, transparent);
}

/* «همه‌ی …» زیر فهرست بخش */
.elementor-widget.bya-section-more {
	align-self: flex-start;
}

.bya-section-more .elementor-button {
	font-size: var(--bya-text-small);
}

/* تیم: دو کارت بزرگ با برچسب شمار */
.bya-team .bya-index--cards {
	max-inline-size: 60rem;
	margin-inline: auto;
}

.bya-team .bya-index .bya-index__tag {
	display: inline-flex;
	margin-block-end: 8px !important;
	padding: 1px 10px;
	border-radius: var(--bya-radius-pill);
	background-color: color-mix(in oklab, var(--bya-gold-soft) 80%, transparent);
	color: var(--bya-gold-deep);
	font-size: 0.75rem;
}

.bya-team .bya-index .bya-index__title {
	font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
}

/* جای جست‌وجو در سربرگ */
.bya-header-bar .elementor-widget.bya-header-search {
	flex: none;
	margin-inline-start: -8px;
}

/* تبلت و گوشی: سرآیند، بعد خود فرم، و راهنماها و راه‌های تماس پس از آن */
@media (max-width: 1024px) {
	.e-con.bya-form-aside {
		display: contents;
	}

	.elementor .bya-form-aside > .elementor-element {
		flex: 0 0 100%;
		max-inline-size: 100%;
	}

	.elementor .bya-form-aside > .bya-contact-tips,
	.elementor .bya-form-aside > .bya-contact-inline {
		order: 2;
	}

	.e-con.bya-form-card {
		order: 1;
	}
}

/*
 * نوشته‌ی لاتین در متن فارسی (نام کاربری عکاس، نام مجوز): قلم FaNum رقم لاتین را فارسی می‌کشد و «E4024»
 * را «E۴۰۲۴» می‌کرد؛ این‌جا رقم و حرف لاتین با قلم سیستم، همان‌طور که نوشته شده.
 */
.bya-latin {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	unicode-bidi: isolate;
}
