/**
 * "İşbirliği Yaptığımız Markalar" şeridi — kaynak: markaliste-twin-kit-1.0
 * `components/brands.css` (geometri ve döngü tekniği BİREBİR).
 *
 * Masaüstünde (≥900px) solda kompakt, köşesi yuvarlatılmış başlık yüzeyi,
 * sağda logo şeridi; mobilde üst üste. Logoların arkasında kart/çember/çerçeve
 * yoktur. Şerit kesintisiz bir marquee'dir: `transform: translateX()` ile
 * tam BİR KÜMENİN genişliği kadar kayar; küme sayısı marka sayısına göre
 * `inc` tarafında hesaplanır (bkz. template-parts/home-brands.php), kopyalar
 * birebir aynı olduğundan döngü birleşiminde sıçrama olmaz.
 *
 * Karar (AKBULAK-03): şerit ASLA durdurulmaz — duraklatma düğmesi, `:hover`
 * veya `:focus-within` ile durdurma kuralı yoktur. Kopya kümeler
 * `aria-hidden` + `tabindex="-1"` taşır (erişilebilirlik ağacından ve Tab
 * sırasından çıkar) AMA fare/dokunma ile tıklanabilir kalır. `prefers-reduced-motion` altında da aynı hızda akar (R1 kararı).
 *
 * Logolar yeniden çizilmez/renklendirilmez; ölçülendirme yalnız
 * `max-width`/`max-height` iledir, `width`/`height` daima `auto` kalır.
 */

.brandbase-brands {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(
			ellipse 120% 60% at 50% -12%,
			color-mix(in srgb, var(--color-ice-100) 45%, transparent) 0%,
			transparent 58%
		),
		var(--color-porcelain);
	padding-top: clamp(1.25rem, 3vw, 2rem);
	padding-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

.brandbase-brands__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(1.25rem, 3vw, 2rem);
}

/* ---- Başlık: header/footer ile aynı geometrik dili (eğrisel SVG yüzey +
   koyu marka gradyanı) taşıyan asimetrik, kompakt yüzey. ---- */

.brandbase-brands__intro {
	max-width: min(24rem, 100%);
}

.brandbase-brands__heading-surface {
	position: relative;
	display: inline-block;
	margin: 0 0 var(--space-3);
	padding: 0.65rem 2.5rem 0.65rem 1.125rem;
}

.brandbase-brands__heading-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.brandbase-brands__heading {
	position: relative;
	z-index: 1;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.55em;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(1.125rem, 1.7vw, 1.375rem);
	letter-spacing: 0.005em;
	color: var(--color-white);
}

.brandbase-brands__heading-dot {
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--color-accent-on-dark);
}

.brandbase-brands__statement {
	margin: 0;
	font-family: var(--font-display);
}

.brandbase-brands__statement-primary {
	display: block;
	font-weight: 600;
	font-size: clamp(1.625rem, 2.6vw, 2.125rem);
	line-height: 1.14;
	color: var(--color-ink);
}

.brandbase-brands__statement-secondary {
	display: block;
	margin-top: 0.2em;
	font-weight: 400;
	font-style: italic;
	font-size: clamp(1.1875rem, 1.7vw, 1.4375rem);
	line-height: 1.2;
	color: var(--color-green-ink);
}

/* Yeşil rol: ifadenin altında kısa çizgi (açık zeminde #627763; sıcak beyazda 4,56:1, çizgi/dekor eşiği 3:1). */
.brandbase-brands__statement::after {
	content: "";
	display: block;
	width: clamp(56px, 6vw, 84px);
	height: 2px;
	margin-top: var(--space-3);
	background: linear-gradient(90deg, var(--color-accent-on-light), color-mix(in srgb, var(--color-accent-on-light) 25%, transparent));
}

/* ---- Marquee: sabit hızda kesintisiz sola akan şerit ---- */

.brandbase-brands__marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.brandbase-brands__track {
	display: flex;
	width: max-content;
	animation: brandbase-marquee-scroll var(--brandbase-marquee-duration, 18s) linear infinite;
}

/* Kayma miktarı TAM OLARAK bir kümenin genişliğidir (`-(100/kopya)%`);
   `inc` tarafı değeri track'in kendi inline özel özelliğine yazar. */
@keyframes brandbase-marquee-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(var(--brandbase-marquee-shift, -50%));
	}
}

.brandbase-brands__set {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: clamp(2.5rem, 6vw, 4.5rem);
	padding-right: clamp(2.5rem, 6vw, 4.5rem);
}

/* Her düğüm kendi optik genişliğini iki özel özellikle taşır (panelden gelir,
   bkz. brandbase_brands → "Ekrandaki ölçü"); aşağıdaki değerler yalnız güvenli
   tabandır. Ölçülendirme YALNIZ `max-width`/`max-height` iledir; `width` ve
   `height` DAİMA `auto` kalır — esnetme matematiksel olarak imkânsızdır.
   `filter: drop-shadow()` KULLANILMAZ (krem zeminde yapay hale üretir ve
   marka kullanım kurallarına aykırıdır). */
.brandbase-brands__node {
	--marka-en-masaustu: 200px;
	--marka-en-mobil: 135px;
	--marka-en: var(--marka-en-masaustu);

	display: flex;
	align-items: center;
	justify-content: center;
	width: 232px;
	height: 116px;
	flex-shrink: 0;
	text-decoration: none;
}

.brandbase-brands__node img {
	max-width: var(--marka-en);
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform var(--duration-fast) var(--ease-out);
}

/* Logosu çözülemeyen marka kırık görsel değil, adıyla gösterilir. */
.brandbase-brands__node-name {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	color: var(--color-navy-900);
	text-align: center;
	line-height: 1.15;
}

.brandbase-brands__node:hover img,
.brandbase-brands__node:focus-visible img {
	transform: scale(1.06);
}

.brandbase-brands__node:focus-visible {
	outline: 2px solid var(--color-blue-800);
	outline-offset: 6px;
	border-radius: 10px;
}

/* ---- prefers-reduced-motion (karar AKBULAK-03-R1): şerit hareket tercihinde
   de AYNI doğrusal hızla sürekli akar; gizleme/statik sarma yoktur.
   `base/global.css` içindeki genel azaltma kuralı (`animation-duration:
   0.001ms !important`, `iteration-count: 1 !important`) YALNIZ bu bileşen
   için, daha özgül bir !important kuralıyla geçersiz kılınır; diğer
   bileşenlerin hareket tercihi aynen kalır. Tarayıcının/işletim sisteminin
   kendi kısıtlamaları aşılmaz. ---- */

@media (prefers-reduced-motion: reduce) {
	.brandbase-brands .brandbase-brands__track {
		animation-duration: var(--brandbase-marquee-duration, 18s) !important;
		animation-iteration-count: infinite !important;
	}
}

/* ---- ≥900px: metin solda / şerit sağda, tek dar kompozisyon ---- */

@media (min-width: 900px) {
	.brandbase-brands__inner {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: clamp(2rem, 4vw, 3rem);
	}

	.brandbase-brands__intro {
		flex: 0 1 300px;
	}

	.brandbase-brands__marquee {
		flex: 1 1 380px;
		min-width: 0;
	}
}

@media (max-width: 639px) {
	.brandbase-brands {
		padding-top: 1.75rem;
	}

	.brandbase-brands__inner {
		gap: 1.25rem;
	}

	/* Mobilde aynı optik denge, ölçek küçülür. */
	.brandbase-brands__node {
		--marka-en: var(--marka-en-mobil);

		width: 156px;
		height: 74px;
	}

	.brandbase-brands__set {
		gap: 1.75rem;
		padding-right: 1.75rem;
	}

	.brandbase-brands__statement-primary {
		font-size: clamp(1.375rem, 6vw, 1.625rem);
	}

	.brandbase-brands__statement-secondary {
		font-size: clamp(1.0625rem, 4.4vw, 1.1875rem);
	}
}

/* ---- "Tüm İş Ortaklarımız" bağlantısı (AKBULAK-09): başlık alanında küçük, yeşil işaretli metin bağlantısı.
   Şeridin ölçüsüne, hızına ve döngüsüne dokunmaz (yalnız `__intro` içindedir). ---- */

.brandbase-brands__all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	margin-top: var(--space-2);
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.01em;
	color: var(--color-green-ink);
	text-decoration: none;
}

.brandbase-brands__all span {
	padding-bottom: 2px;
	border-bottom: 1.5px solid var(--color-accent-on-light);
}

.brandbase-brands__all-icon {
	flex: none;
	transition: transform var(--duration-fast) var(--ease-out);
}

.brandbase-brands__all:hover,
.brandbase-brands__all:focus-visible {
	color: var(--color-blue-800);
}

.brandbase-brands__all:hover .brandbase-brands__all-icon,
.brandbase-brands__all:focus-visible .brandbase-brands__all-icon {
	transform: translateX(3px);
}

.brandbase-brands__all:focus-visible {
	outline: 2px solid var(--color-blue-800);
	outline-offset: 4px;
}
