/**
 * قسم الشركاء في ثيم تنمية العرضية (template-parts/home/home-partners.php): «شريط شركاء الخير».
 * رأس في الوسط، ثم شريط بعرض الصفحة على خلفية فاتحة بين خطين رفيعين، فيه صف واحد من الشعارات يتحرك بلا نهاية
 * (تحريك نصف المسار --tn-marquee-time، والنصف الثاني نسخة مخفية)، بتلاشٍ على الطرفين.
 * الحركة تتوقف عند المرور أو التركيز، ومع تقليل الحركة تصير الشعارات شبكة ملتفة في الوسط.
 */

.tn-partners__marquee {
	padding: 22px 0;
	border-block: 1px solid var(--tn-line);
	background:
		linear-gradient(90deg, transparent, rgba(var(--theme-secondary-rgb), 0.06) 30%, rgba(var(--theme-secondary-rgb), 0.06) 70%, transparent),
		var(--tn-sand);
}

.tn-partners__row {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

/* المسار: القائمة ثم نسختها، والتحريك بمقدار نصفه (عرض قائمة واحدة) فيعود إلى البداية بلا قفزة */
.tn-partners__track {
	display: flex;
	width: max-content;
	animation: tn-partners-ltr var(--tn-marquee-time, 40s) linear infinite;
}

[dir="rtl"] .tn-partners__track {
	animation-name: tn-partners-rtl;
}

@keyframes tn-partners-rtl {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(50%);
	}
}

@keyframes tn-partners-ltr {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

/* التوقف عند المرور أو التركيز */
.tn-partners__marquee:hover .tn-partners__track,
.tn-partners__marquee:focus-within .tn-partners__track {
	animation-play-state: paused;
}

.tn-partners__list {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ==========================================================================
   الشعار
   ========================================================================== */

.tn-partners__item {
	flex-shrink: 0;
	padding: 0 12px;
}

.tn-partners__logo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 176px;
	height: 84px;
	padding: 12px 18px;
	border-radius: var(--tn-radius);
	color: var(--tn-ink);
	text-decoration: none;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.tn-partners__logo {
	display: block;
	max-width: 100%;
	max-height: 58px;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 0.6;
	filter: grayscale(1);
	transition: opacity 0.3s ease, filter 0.3s ease;
}

.tn-partners__name {
	color: var(--theme-text-light);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	transition: color 0.3s ease;
}

.tn-partners__logo-box:hover,
.tn-partners__logo-box:focus-visible {
	background: #ffffff;
	box-shadow: var(--tn-shadow);
}

.tn-partners__logo-box:hover .tn-partners__logo,
.tn-partners__logo-box:focus-visible .tn-partners__logo {
	opacity: 1;
	filter: none;
}

.tn-partners__logo-box:hover .tn-partners__name,
.tn-partners__logo-box:focus-visible .tn-partners__name {
	color: var(--theme-primary);
}

.tn-partners__logo-box:focus-visible {
	outline: 3px solid var(--theme-secondary);
	outline-offset: -3px;
}

/* ==========================================================================
   الاستجابة
   ========================================================================== */

@media (max-width: 640px) {
	.tn-partners__marquee {
		padding: 14px 0;
	}

	.tn-partners__item {
		padding: 0 6px;
	}

	.tn-partners__logo-box {
		width: 132px;
		height: 68px;
		padding: 10px 12px;
	}

	.tn-partners__logo {
		max-height: 46px;
	}

	.tn-partners__row {
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
		mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	}
}

/* تقليل الحركة: لا تحريك ولا نسخ، والشعارات شبكة ملتفة في الوسط */
@media (prefers-reduced-motion: reduce) {
	.tn-partners__row {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.tn-partners .tn-partners__row .tn-partners__track {
		width: auto;
		justify-content: center;
		animation: none;
	}

	.tn-partners__list {
		flex-wrap: wrap;
		flex-shrink: 1;
		justify-content: center;
		gap: 8px 0;
	}

	.tn-partners__list--copy,
	.tn-partners__item[aria-hidden="true"] {
		display: none;
	}

	.tn-partners__logo-box,
	.tn-partners__logo,
	.tn-partners__name {
		transition: none;
	}
}
