/* ==========================================================================
   Appel — استایل پایه (base.css)
   عمداً حداقلی: ریست سراسری نداریم تا با Elementor/Hello تداخل نشود.
   ========================================================================== */

body.appel-site {
	--appel-base-loaded: 1; /* نشانگر برای تست اعمال‌شدن این فایل */
	font-family: var(--appel-font-sans);
	line-height: var(--appel-leading-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/* ناحیه‌ای که طراحی Appel در آن اعمال می‌شود */
.appel-scope,
.appel-scope *,
.appel-scope *::before,
.appel-scope *::after {
	box-sizing: border-box;
}

.appel-scope {
	font-family: var(--appel-font-sans);
	color: var(--appel-color-ink);
	line-height: var(--appel-leading-body);
}

/* محتوای لاتین (مدل، کد محصول، نسخه) داخل متن فارسی */
.appel-latin {
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
}

/* ارقام: فارسی برای قیمت/عدد، لاتین برای نام مدل */
.appel-num-fa {
	font-family: var(--appel-font-fanum);
}

.appel-num-latin {
	font-family: var(--appel-font-sans);
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
}

/* فوکوس قابل مشاهده برای دسترس‌پذیری */
.appel-scope :focus-visible {
	outline: 3px solid var(--appel-color-focus);
	outline-offset: 3px;
}

.appel-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/*
 * افکت ورود (Reveal) — فقط وقتی JS فعال است پنهان می‌شود،
 * تا بدون JavaScript محتوا همیشه قابل دسترس بماند.
 */
.appel-js .appel-reveal {
	opacity: 0;
	transform: translate3d(calc(var(--appel-dir) * 32px), 0, 0);
	transition:
		opacity var(--appel-duration) var(--appel-ease),
		transform var(--appel-duration) var(--appel-ease);
}

.appel-js .appel-reveal.is-visible,
.appel-elementor-preview .appel-reveal {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.appel-js .appel-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
