/* =========================================================
   الحركات — خفيفة، مبنية على Intersection Observer
   التحكم المركزي من: المظهر ← تخصيص ← الحركات (Animations)
   المتغيرات: --bq-anim-dur / --bq-anim-dist / --bq-delay
   ========================================================= */

/* الحالة الابتدائية تُطبّق فقط بعد تأكيد عمل الجافاسكربت
   (الكلاس .bq-anim يُضاف من سكربت صغير في الـ head)
   حتى لا يختفي المحتوى إن تعطّل JS. */

html.bq-anim [data-bq-anim] {
	opacity: 0;
	transition:
		opacity var(--bq-anim-dur) var(--bq-ease-out) var(--bq-delay, 0ms),
		transform var(--bq-anim-dur) var(--bq-ease-out) var(--bq-delay, 0ms),
		clip-path var(--bq-anim-dur) var(--bq-ease-out) var(--bq-delay, 0ms);
	will-change: opacity, transform;
}

html.bq-anim [data-bq-anim="fade-up"]     { transform: translateY(var(--bq-anim-dist)); }
html.bq-anim [data-bq-anim="fade-down"]   { transform: translateY(calc(var(--bq-anim-dist) * -1)); }
html.bq-anim [data-bq-anim="slide-start"] { transform: translateX(var(--bq-anim-dist)); }
html.bq-anim [data-bq-anim="slide-end"]   { transform: translateX(calc(var(--bq-anim-dist) * -1)); }
html.bq-anim [data-bq-anim="scale"]       { transform: scale(.94); }
html.bq-anim [data-bq-anim="reveal"]      { clip-path: inset(0 0 14% 0); transform: translateY(14px); }

/* الحالة النهائية */
html.bq-anim [data-bq-anim].is-in {
	opacity: 1;
	transform: none;
	clip-path: inset(0 0 0 0);
	will-change: auto;
}

/* حركة عدّاد الأرقام */
.bq-counter { font-variant-numeric: tabular-nums; }

/* رفع خفيف عند المرور */
.bq-lift { transition: transform var(--bq-t), box-shadow var(--bq-t); }
.bq-lift:hover { transform: translateY(-4px); box-shadow: var(--bq-shadow); }

/* احترام تفضيل تقليل الحركة — يعطّل كل شيء */
@media (prefers-reduced-motion: reduce) {
	html.bq-anim [data-bq-anim],
	html.bq-anim [data-bq-anim].is-in {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
	}
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

/* إيقاف الحركات على الهاتف عند اختيار ذلك من لوحة التحكم */
@media (max-width: 767px) {
	html[data-anim-mobile="off"].bq-anim [data-bq-anim],
	html[data-anim-mobile="off"].bq-anim [data-bq-anim].is-in {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
	}
}

/* إيقاف كامل من لوحة التحكم */
html[data-anim="off"].bq-anim [data-bq-anim] {
	opacity: 1 !important;
	transform: none !important;
	clip-path: none !important;
}
