/*
 * Admirise – TestGerman köprü stilleri.
 * tg-site.css = prototip (Tailwind v3) CSS'i, .tg altında kapsanmış. Bu dosya WordPress/Elementor/The7 ile
 * aradaki farkları kapatır. tg-site.css'ten SONRA yüklenir.
 */

/* Prototipte body'deki kurallar .tg'ye taşındı; her widget sarmalayıcısında zemin ve overflow istemiyoruz
   (overflow-x: hidden, içindeki position: sticky'yi bozar). Sayfa zemini ve yatay kırpma gövdede. */
.tg {
	background: transparent;
	overflow-x: visible;
	/* Prototipte html{line-height:1.5} + body{line-height:inherit}; kapsamlamada ikisi de .tg'ye düştü ve
	   .tg gövdenin (The7) satır yüksekliğini miras alıyordu → leading-* olmayan sarmalayıcılar +1px. */
	line-height: 1.5;
}
body.tg-page {
	margin: 0;
	background: #fff8ec;
	color: #2b2724;
	overflow-x: clip;
}

/* TestGerman sayfalarında Elementor kapsayıcıları boşluksuz: düzeni widget markup'ı (prototip) belirler. */
.tg-page .elementor .e-con.tg-row,
.tg-page .elementor .e-con.tg-row > .e-con-inner {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--gap: 0;
	--row-gap: 0;
	--column-gap: 0;
	--content-width: 100%;
	--width: 100%;
	padding: 0;
	gap: 0;
	max-width: none;
}
.tg-page .elementor .elementor-widget:not(:last-child) {
	margin-block-end: 0;
}

/* Ortak header/footer şablonları (includes/chrome.php): sarmalayıcılar kutu üretmez, böylece yapışkan header'ın
   kapsayıcısı şablonun kısa sarmalayıcısı değil gövde olur (sticky sayfa boyunca çalışır). */
.tg-chrome,
.tg-chrome > .elementor {
	display: contents;
}
.tg-main {
	display: block;
}

/* Yapışkan header: kendi üst seviye kapsayıcısı yapışır (Elementor içinde sticky ancak böyle çalışır). */
.tg-page .e-con.tg-sticky {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar.tg-page .e-con.tg-sticky {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar.tg-page .e-con.tg-sticky {
		top: 46px;
	}
}

/* Yapışkan sayfa içi menü (Skills: Reading/Listening…): header'ın hemen altına yapışır.
   Header boyu 69px (<768) / 83px; admin çubuğu 46px (≤782) / 32px. Widget tek başına kendi üst seviye
   kapsayıcısında olmalı (sınıf: "tg-row tg-sticky-nav"); kural yoksa tg-skills-nav.js aynı işi satır içi yapar. */
.tg-page .e-con.tg-sticky-nav {
	position: sticky;
	top: 69px;
	z-index: 40;
}
@media (min-width: 768px) {
	.tg-page .e-con.tg-sticky-nav {
		top: 83px;
	}
}
.admin-bar.tg-page .e-con.tg-sticky-nav {
	top: 115px;
}
@media (min-width: 768px) and (max-width: 782px) {
	.admin-bar.tg-page .e-con.tg-sticky-nav {
		top: 129px;
	}
}
@media (min-width: 783px) {
	.admin-bar.tg-page .e-con.tg-sticky-nav {
		top: 115px;
	}
}

/* Takip pikselleri (ör. Metricool <img>, Elementor "head" kod alanına konmuş): tarayıcı <img>'i <body> başına taşır,
   satır kutusu sayfanın üstünde ~25px boşluk açar. Akıştan çıkar. */
body.tg-page > img,
body.tg-page > noscript > img,
body.tg-legacy > img,
body.tg-legacy > noscript > img {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* Görünme animasyonu (tg-reveal.js; prototipteki framer-motion Reveal: y 24px, .6s, ease .22,1,.36,1).
   transform yerine ayrı translate/scale özellikleri: elemanın kendi Tailwind transform'larını (rotate vb.) ezmez. */
html.tg-js [data-tg-reveal] {
	opacity: 0;
	translate: 0 var(--tg-y, 24px);
	scale: var(--tg-scale, none);
	transition: opacity var(--tg-dur, .6s) cubic-bezier(.22, 1, .36, 1) var(--tg-delay, 0s), translate var(--tg-dur, .6s) cubic-bezier(.22, 1, .36, 1) var(--tg-delay, 0s), scale var(--tg-dur, .6s) cubic-bezier(.22, 1, .36, 1) var(--tg-delay, 0s);
}
html.tg-js [data-tg-reveal].tg-in {
	opacity: 1;
	translate: none;
	scale: none;
}
html.tg-js [data-tg-zoom] {
	scale: 1.08;
	transition: scale 1.4s cubic-bezier(.22, 1, .36, 1);
}
html.tg-js [data-tg-zoom].tg-in {
	scale: none;
}
.elementor-editor-active [data-tg-reveal],
.elementor-editor-preview [data-tg-reveal],
.elementor-editor-active [data-tg-zoom] {
	opacity: 1 !important;
	translate: none !important;
	scale: none !important;
}

/* Sitenin yüzen butonları (tg-floats.js): WhatsApp sağ altta 16px, çerez "Manage consent" sekmesi sol altta (WhatsApp'la
   çakışmasın); mobil yapışkan CTA açıkken ikisi de onun üstüne kalkar; mobilde hero görünürken gizlenir (Ozan 23.10, #6). */
.tg-page #ht-ctc-chat {
	right: 16px !important;
	bottom: calc(16px + var(--tg-float-lift, 0px)) !important;
	transition: opacity .2s ease, visibility .2s ease, bottom .25s ease;
}
.tg-page .cmplz-manage-consent {
	left: 40px !important;
	right: auto !important;
	margin-bottom: var(--tg-float-lift, 0px);
	transition: margin-bottom .25s ease;
}
html.tg-float-hide .tg-page #ht-ctc-chat,
html.tg-float-hide .tg-page .cmplz-manage-consent {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Çapa (#pricing, #faq, #demo …) yapışkan header'ın altına insin: 69px (<768) / 83px. */
.tg-page .elementor-widget[id],
.tg-page section[id],
.tg-page div[id].tg-anchor {
	scroll-margin-top: 69px;
}
@media (min-width: 768px) {
	.tg-page .elementor-widget[id],
	.tg-page section[id] {
		scroll-margin-top: 83px;
	}
}

/* The7 main.min.css: .hidden{display:none!important} + .hidden{visibility:hidden;opacity:0}. Eski tasarımdaki sayfalarda tema
   CSS'i yüklü kalır (body.tg-legacy); header/footer'daki "hidden md:flex" kalıpları kaybolmasın (tg-site.css'ten üretildi). */
/* The7'de opacity/visibility de !important: bastırmak için !important şart (yalnız tema CSS'i yüklü eski sayfalarda). */
body.tg-legacy .tg .hidden {
	visibility: visible !important;
	opacity: 1 !important;
}
@media (min-width:640px) {
	body.tg-legacy .tg .hidden.sm\:block { display: block !important; }
	body.tg-legacy .tg .hidden.sm\:inline-flex { display: inline-flex !important; }
}
@media (min-width:768px) {
	body.tg-legacy .tg .hidden.md\:block { display: block !important; }
	body.tg-legacy .tg .hidden.md\:flex { display: flex !important; }
	body.tg-legacy .tg .hidden.md\:grid { display: grid !important; }
	body.tg-legacy .tg .hidden.md\:inline { display: inline !important; }
}
@media (min-width:1024px) {
	body.tg-legacy .tg .hidden.lg\:block { display: block !important; }
	body.tg-legacy .tg .hidden.lg\:flex { display: flex !important; }
	body.tg-legacy .tg .hidden.lg\:grid { display: grid !important; }
}
@media (min-width:1280px) {
	body.tg-legacy .tg .hidden.xl\:block { display: block !important; }
}

/* Eski tasarımdaki sayfalar (includes/legacy.php): içerik aynı kalır, eski header/footer gizlenir, ortak şablonlar basılır. */
body.tg-legacy .elementor-location-header,
body.tg-legacy .elementor-location-footer,
body.tg-legacy #footer,
body.tg-legacy .scroll-top {
	display: none !important;
}
body.tg-legacy .tg-chrome .elementor .e-con.tg-row,
body.tg-legacy .tg-chrome .elementor .e-con.tg-row > .e-con-inner {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--gap: 0;
	--row-gap: 0;
	--column-gap: 0;
	--content-width: 100%;
	--width: 100%;
	padding: 0;
	gap: 0;
	max-width: none;
}
body.tg-legacy .tg-chrome .elementor .elementor-widget:not(:last-child) {
	margin-block-end: 0;
}
body.tg-legacy .tg-chrome .e-con.tg-sticky {
	position: sticky;
	top: 0;
	z-index: 50;
}
body.tg-legacy.admin-bar .tg-chrome .e-con.tg-sticky {
	top: 32px;
}
@media (max-width: 782px) {
	body.tg-legacy.admin-bar .tg-chrome .e-con.tg-sticky {
		top: 46px;
	}
}
body.tg-legacy .tg-chrome .tg {
	font-size: 16px;
}
