/* VKB Bethesda — temel katman.
   MIMARI KARAR: metin renkleri DOGRUDAN degil, kalitimli ozel ozellikler uzerinden verilir.
   Koyu bir bolum yalnizca --vkb-fg* degerlerini degistirir; ayni taban kural artik acik metin
   basar. Boylece "koyu zemin + koyu harf" ozgulluk savasi bir daha yasanamaz. */

body.vkb-site {
	--vkb-fg-strong: var(--vkb-ink);
	--vkb-fg: var(--vkb-body);
	--vkb-fg-muted: var(--vkb-body);
	--vkb-hairline: var(--vkb-line);

	background: var(--vkb-paper);
	color: var(--vkb-fg);
	font-family: var(--vkb-font-ui);
	font-size: var(--vkb-text);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	padding-top: var(--vkb-header-h);
}

/* --- Ucuncu taraf takip pikselleri -------------------------------------
   Metricool (ve benzeri) izleme pikselini body'nin ILK cocugu olarak, duz
   `inline` bir <img> seklinde basiyor. Inline oldugu icin akista bir SATIR
   KUTUSU aciyor ve butun sayfayi asagi itiyor: 8 Eyl'de olculdu, hero 0
   yerine 29px'ten basliyordu. Header sabit + seffaf oldugu icin ustte kagit
   rengi bir serit goruntusu olusuyordu ("header ustunde bosluk").

   `display: none` yerine akistan CIKARILIYOR: piksel yine yukleniyor, yani
   izleme calismaya devam ediyor, ama yer kaplamiyor. Yeni bir izleyici
   eklenirse buraya bir satir daha eklemek yeterli. */
body > img[src*="tracker.metricool.com"],
body > img[width="1"][height="1"] {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	inline-size: 1px;
	block-size: 1px;
	opacity: 0;
	pointer-events: none;
}

/* Koyu yuzeyler: yalnizca token'lari degistirir. */
body.vkb-site .vkb-on-dark-surface {
	--vkb-fg-strong: var(--vkb-on-dark);
	--vkb-fg: var(--vkb-on-dark-muted);
	--vkb-fg-muted: var(--vkb-on-dark-muted);
	--vkb-hairline: var(--vkb-line-dark);
	color: var(--vkb-fg);
}

/* Anasayfada header hero uzerine seffaf biner -> govde ust dolgusu yok. */
body.vkb-site.vkb-overlay-header {
	padding-top: 0;
}

body.vkb-site h1,
body.vkb-site h2,
body.vkb-site h3,
body.vkb-site h4 {
	color: var(--vkb-fg-strong);
	font-family: var(--vkb-font-display);
	font-weight: 600;
	letter-spacing: -.022em;
	line-height: 1.06;
	margin: 0;
	text-wrap: balance;
}

body.vkb-site h1 {
	font-size: var(--vkb-h1);
	line-height: .99;
}

body.vkb-site h2 {
	font-size: var(--vkb-h2);
}

body.vkb-site h3 {
	font-size: var(--vkb-h3);
	letter-spacing: -.01em;
}

body.vkb-site p {
	margin: 0;
	color: inherit;
}

body.vkb-site ::selection {
	background: var(--vkb-lime);
	color: var(--vkb-ink);
}

body.vkb-site a {
	color: inherit;
	text-decoration: none;
}

body.vkb-site :focus-visible {
	outline: 2px solid var(--vkb-lime);
	outline-offset: 3px;
	border-radius: 2px;
}

.vkb-visually-hidden {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* --- Ortak parcalar --- */
.vkb-shell {
	inline-size: 100%;
	max-inline-size: var(--vkb-shell);
	margin-inline: auto;
	padding-inline: var(--vkb-gutter);
}

.vkb-section {
	padding-block: var(--vkb-section-y);
	position: relative;
}

/* Ankraj linkleri sabit header'in altinda kalmasin (brief kabul kontrolu). */
body.vkb-site [id^="vkb-"] {
	scroll-margin-block-start: calc(var(--vkb-header-h) + 28px);
}

body.vkb-site {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	body.vkb-site {
		scroll-behavior: auto;
	}
}

.vkb-eyebrow {
	font-family: var(--vkb-font-accent);
	font-size: var(--vkb-eyebrow);
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--vkb-fg-muted);
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin: 0;
}

.vkb-eyebrow::before {
	content: "";
	inline-size: 28px;
	block-size: 1px;
	background: var(--vkb-lime);
	flex: none;
}

.vkb-lead {
	font-size: 1.125rem;
	line-height: 1.68;
	color: var(--vkb-fg);
	max-inline-size: 56ch;
}

.vkb-head {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	max-inline-size: 62ch;
}

.vkb-head--split {
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 3rem;
	max-inline-size: none;
}

@media (max-width: 900px) {
	.vkb-head--split {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.75rem;
	}
}

/* --- Butonlar: tum durumlar pinli --- */
body.vkb-site .vkb-btn,
body.vkb-site .vkb-btn:link,
body.vkb-site .vkb-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	font-family: var(--vkb-font-accent);
	font-size: .9375rem;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.2;
	padding: 1rem 1.75rem;
	border-radius: var(--vkb-radius);
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--vkb-dur) var(--vkb-ease),
		color var(--vkb-dur) var(--vkb-ease),
		border-color var(--vkb-dur) var(--vkb-ease),
		transform .18s var(--vkb-ease);
}

body.vkb-site .vkb-btn:active {
	transform: translateY(1px);
}

body.vkb-site .vkb-btn--lime,
body.vkb-site .vkb-btn--lime:link,
body.vkb-site .vkb-btn--lime:visited {
	background: var(--vkb-lime);
	color: var(--vkb-ink);
	border-color: var(--vkb-lime);
}

body.vkb-site .vkb-btn--lime:hover,
body.vkb-site .vkb-btn--lime:focus {
	background: var(--vkb-lime-soft);
	border-color: var(--vkb-lime-soft);
	color: var(--vkb-ink);
}

body.vkb-site .vkb-btn--ink,
body.vkb-site .vkb-btn--ink:link,
body.vkb-site .vkb-btn--ink:visited {
	background: var(--vkb-navy);
	color: var(--vkb-on-dark);
	border-color: var(--vkb-navy);
}

body.vkb-site .vkb-btn--ink:hover,
body.vkb-site .vkb-btn--ink:focus {
	background: var(--vkb-navy-deep);
	border-color: var(--vkb-navy-deep);
	color: var(--vkb-on-dark);
}

body.vkb-site .vkb-btn--ghost,
body.vkb-site .vkb-btn--ghost:link,
body.vkb-site .vkb-btn--ghost:visited {
	background: transparent;
	color: var(--vkb-fg-strong);
	border-color: color-mix(in srgb, var(--vkb-fg-strong) 26%, transparent);
}

body.vkb-site .vkb-btn--ghost:hover,
body.vkb-site .vkb-btn--ghost:focus {
	border-color: var(--vkb-fg-strong);
	background: var(--vkb-fg-strong);
	color: var(--vkb-paper);
}

body.vkb-site .vkb-on-dark-surface .vkb-btn--ghost:hover,
body.vkb-site .vkb-on-dark-surface .vkb-btn--ghost:focus {
	color: var(--vkb-navy);
}

/* Metin baglantisi + lime alt cizgi */
body.vkb-site .vkb-link,
body.vkb-site .vkb-link:link,
body.vkb-site .vkb-link:visited {
	font-family: var(--vkb-font-accent);
	font-size: .9375rem;
	font-weight: 600;
	color: var(--vkb-fg-strong);
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding-block-end: 4px;
	border-block-end: 1px solid var(--vkb-lime);
	transition: gap var(--vkb-dur) var(--vkb-ease), border-color var(--vkb-dur) var(--vkb-ease);
}

body.vkb-site .vkb-link:hover,
body.vkb-site .vkb-link:focus {
	gap: .9375rem;
	border-block-end-color: currentColor;
	color: var(--vkb-fg-strong);
}

.vkb-link svg {
	inline-size: 14px;
	block-size: 14px;
	flex: none;
}

/* --- KAPAK GORSELLERI ---
   Hello Elementor + Elementor `img { height:auto }` basar; bu yuzden kapak gorselleri
   ayri bir sinifla, ayni ozgullukte ve SONRA yuklenen dosyada pinlenir. */
/* Elementor'un kendi `.elementor img{height:auto}` kurali (0,1,1) yerinde kalir;
   asagidaki kapak kurali (0,2,1) onu yener. `:not()` KULLANMA — argumaninin
   ozgullugunu ekler ve bilesen kurallarini yenilmez yapar. */
body.vkb-site .elementor img {
	max-inline-size: 100%;
}

body.vkb-site img.vkb-cover {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
}

/* --- Giris animasyonu ---
   JS hazir olmadan icerik ASLA gizlenmez: gizleme kurali .vkb-js kapisina baglidir
   ve bu sinif <head> icindeki tek satirlik betikle boyanmadan once eklenir. */
.vkb-js .vkb-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .8s var(--vkb-ease), transform .8s var(--vkb-ease);
	transition-delay: var(--vkb-reveal-delay, 0ms);
}

.vkb-js .vkb-reveal.is-in {
	opacity: 1;
	transform: none;
}

body.elementor-editor-active .vkb-reveal {
	opacity: 1 !important;
	transform: none !important;
}

/* --- Elementor duzeltmeleri --- */
body.vkb-site .vkb-block {
	inline-size: 100%;
}

body.vkb-site .vkb-page .e-con,
body.vkb-site .vkb-page .e-con-inner {
	--padding-inline-start: 0px;
	--padding-inline-end: 0px;
	--padding-block-start: 0px;
	--padding-block-end: 0px;
	max-inline-size: none;
}

body.vkb-site .site-main,
body.vkb-site .page-content {
	margin: 0;
	padding: 0;
	max-inline-size: none;
}

@media (prefers-reduced-motion: reduce) {

	body.vkb-site *,
	body.vkb-site *::before,
	body.vkb-site *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}

	.vkb-js .vkb-reveal {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* =========================================================
   IZGARA TASMA GUVENLIGI
   CSS Grid'de `1fr` aslinda `minmax(auto, 1fr)`dir; `auto` minimum, cocugun
   min-content genisligidir. Uzun basliklar/kartlar dar ekranda kolonu kendi
   min-content'ine dogru sisirip yatay tasma yaratir. Cozum: izgara cocuklarina
   acikca min-inline-size: 0 vermek.
   ========================================================= */
body.vkb-site .vkb-faq__inner > *,
body.vkb-site .vkb-process__inner > *,
body.vkb-site .vkb-why__inner > *,
body.vkb-site .vkb-hero__inner > *,
body.vkb-site .vkb-vr__inner > *,
body.vkb-site .vkb-cta__inner > *,
body.vkb-site .vkb-awards__inner > *,
body.vkb-site .vkb-ba__grid > *,
body.vkb-site .vkb-stats__grid > *,
body.vkb-site .vkb-locations__grid > *,
body.vkb-site .vkb-footer__top > * {
	min-inline-size: 0;
}

/* Uzun kelimeler (adres, e-posta, baglanti) dar ekranda kutuyu tasirmasin. */
body.vkb-site .vkb-faq__q,
body.vkb-site .vkb-faq__a p,
body.vkb-site .vkb-locations__addr,
body.vkb-site .vkb-footer__contact li {
	overflow-wrap: anywhere;
}
