/**
 * Sprint 3A — Mobile Stabilization & UX Polish
 *
 * Sadece güvenlik/tutarlılık kuralları burada. Hero/Footer/Kart gibi
 * Bricks tarafından üretilen (rastgele ID'li) elementlere özel düzeltmeler
 * bu dosyada DEĞİL, ilgili elementin kendi _cssCustom alanında tutulur —
 * böylece içerik yeniden oluşturulduğunda (script re-run) senkron kalır.
 * Bu dosyadaki kurallar element-tipi bazlı (stabil) sınıfları hedefler.
 */

/* ----- Öncelik 8: Güvenli CSS temelleri ----- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

/* Sprint X: "yapışkan footer" (sticky footer) — içeriği viewport'tan kısa
 * sayfalarda (ör. İletişim) footer'ın altında boş beyaz alan kalmasın diye,
 * footer her zaman sayfanın en altına (en az viewport yüksekliği kadar)
 * itiliyor. Uzun sayfalarda normal scroll davranışını etkilemez. */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#brx-content {
	flex: 1 0 auto;
}

img {
	max-width: 100%;
	height: auto;
}

svg {
	max-width: 100%;
	height: auto;
}

/* ----- Öncelik 6: Responsive typography (mobile-first) ----- */
body {
	font-size: 16px;
}

h1.brxe-heading {
	font-size: 40px;
	line-height: 1.15;
}

h2.brxe-heading {
	font-size: 32px;
	line-height: 1.2;
}

/* 430px viewport hedefi */
@media (min-width: 415px) {
	h1.brxe-heading {
		font-size: 44px;
	}
}

/* 768px viewport hedefi */
@media (min-width: 768px) {
	h1.brxe-heading {
		font-size: 52px;
	}
}

/* Masaüstü — Sprint 2'de belirlenen değere geri döner (bozulmaz) */
@media (min-width: 992px) {
	h1.brxe-heading {
		font-size: 56px;
	}
}

/* ----- Öncelik 7: Dokunma hedefleri (min 44x44px) ----- */
.brxe-button {
	min-height: 44px;
}

.brxe-nav-menu a {
	min-height: 44px;
	display: flex;
	align-items: center;
}

/* ----- Öncelik 2: Header actions -> mobil menü içine taşınan öğeler ----- */
.reten-mobile-only {
	display: none;
}

@media (max-width: 991px) {
	.reten-mobile-only {
		display: block;
	}

	.reten-mobile-only a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 8px 16px;
	}
}
