/**
 * Bicer Nakliyat (krmsltema) — tasarıma özgü stiller.
 * Tailwind utility'lerini tamamlayan animasyon / slider / menü kuralları.
 * (Görsel stil kaynağı: DOC/HTML/index.html <style> bloğu — birebir.)
 */

/* Sade ve akıcı slider animasyonları */
.slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease-in-out, visibility 1s;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.slide.active {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}
.slide-content {
	transform: translateY(20px);
	opacity: 0;
	transition: all 0.8s ease-out 0.4s;
}
.slide.active .slide-content {
	transform: translateY(0);
	opacity: 1;
}
.bg-overlay {
	background-color: rgba(18, 19, 23, 0.65);
}

/* --------------------------------------------------------------
 * Hero — tam ekran sinematik
 * Masaüstünde yazı SAĞDA, foto SOLDA → gradient sağ tarafı koyu tutar
 * (yazı okunur kalır, sol taraftaki foto öne çıkar). Mobilde yazı tam
 * genişlik solda olduğundan aşağıdaki media query solda-koyuya çevirir.
 * Aktif slaytta arka plan yavaşça yakınlaşır (Ken Burns).
 * ------------------------------------------------------------ */
.kt-hero-gradient {
	background: linear-gradient(
		270deg,
		rgba(9, 9, 11, 0.92) 0%,
		rgba(9, 9, 11, 0.8) 35%,
		rgba(9, 9, 11, 0.5) 68%,
		rgba(9, 9, 11, 0.25) 100%
	);
}
@media (max-width: 1023px) {
	.kt-hero-gradient {
		background: linear-gradient( 90deg, rgba(9, 9, 11, 0.88) 0%, rgba(9, 9, 11, 0.6) 100% );
	}
}
.kt-hero-content {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
.kt-hero-bg {
	transform: scale(1.04);
	will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
	@keyframes ktKenBurns {
		from { transform: scale(1.04); }
		to   { transform: scale(1.16); }
	}
	/* Aktif slayt göründüğünde zoom başlar; slayt değişiminde yeniden tetiklenir. */
	.hero-slider .slide.active .kt-hero-bg {
		animation: ktKenBurns 7.5s ease-out forwards;
	}
}

/* --------------------------------------------------------------
 * Sayfa açılış girişleri (logo + hero ilk slayt).
 * CSS keyframe ilk paint'te otomatik oynar (transition'ın aksine).
 * `backwards` fill: animasyondan önce `from` durumu görünür (flash yok),
 * bittikten sonra elemanın normal kuralına döner → slider'ın `.active`
 * geçiş transition'ıyla ÇAKIŞMAZ. No-JS güvenli, salt CSS.
 * ------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
	@keyframes ktDropIn {
		from { opacity: 0; transform: translateY(-16px); }
		to   { opacity: 1; transform: translateY(0); }
	}
	@keyframes ktHeroRise {
		from { opacity: 0; transform: translateY(28px); }
		to   { opacity: 1; transform: translateY(0); }
	}
	@keyframes ktHeroFade {
		from { opacity: 0; }
		to   { opacity: 1; }
	}

	.kt-logo-anim {
		animation: ktDropIn .7s cubic-bezier(.22, .61, .36, 1) backwards;
	}
	.hero-slider .slide.kt-hero-enter {
		animation: ktHeroFade 1.1s ease-out backwards;
	}
	.hero-slider .slide.kt-hero-enter .slide-content {
		animation: ktHeroRise .9s cubic-bezier(.22, .61, .36, 1) .35s backwards;
	}
}

/* Keskin hatlı kurumsal hover efektleri */
.service-card {
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
/* Üstte büyüyen bakır çizgi */
.service-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: #c1121f;
	transition: width 0.4s ease;
}
.service-card:hover::before {
	width: 100%;
}
.service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(18, 19, 23, 0.13);
	border-color: transparent;
}
.kt-svc-icon {
	transition: background-color 0.3s ease, transform 0.3s ease;
}
.service-card:hover .kt-svc-icon {
	transform: translateY(-2px) rotate(-4deg);
}
.service-card:hover .kt-svc-more i {
	transform: translateX(5px);
}
/* Kategori kartı öne çıkan görseli — kutu sabit, görsel hafif yakınlaşır */
.kt-svc-thumb img {
	transition: transform 0.45s ease;
}
.service-card:hover .kt-svc-thumb img {
	transform: scale(1.07);
}

/* --------------------------------------------------------------
 * Faaliyet Alanları slider (kategori modu)
 * Yatay scroll-snap + dokunmatik kaydırma; masaüstünde 5 kart yan yana,
 * fazlası kaydırılır. Kart genişliği: (100% - (n-1)*gap) / n.
 * ------------------------------------------------------------ */
.kt-svc-track {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 2px;
}
.kt-svc-track::-webkit-scrollbar {
	display: none;
}
.kt-svc-slide {
	flex: 0 0 82%;
	scroll-snap-align: start;
	height: 380px;
}
@media (min-width: 640px)  { .kt-svc-slide { flex-basis: calc(50% - 0.625rem); } }
@media (min-width: 768px)  { .kt-svc-slide { flex-basis: calc(33.333% - 0.834rem); } }
@media (min-width: 1024px) { .kt-svc-slide { flex-basis: calc(25% - 0.94rem); } }
@media (min-width: 1280px) { .kt-svc-slide { flex-basis: calc(20% - 1rem); } }

.kt-svc-cover {
	transition: transform 0.55s ease;
}
.kt-svc-slide:hover .kt-svc-cover {
	transform: scale(1.08);
}
.kt-svc-slide:hover .kt-svc-cta i {
	transform: translateX(4px);
}

/* Slider ok butonları */
.kt-svc-nav {
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	background: #16181c;
	color: #fff;
	border-radius: 2px;
	box-shadow: 0 6px 18px rgba(18, 19, 23, 0.25);
	transition: background-color 0.25s ease;
}
.kt-svc-nav:hover {
	background: #c1121f;
}

/* Blog — kart görsel hover zoom + CTA oku */
.kt-blog-img {
	transition: transform 0.5s ease;
}
.kt-blog-card:hover .kt-blog-img {
	transform: scale(1.06);
}
.kt-blog-card:hover .kt-blog-more i {
	transform: translateX(5px);
}

/* İlanlar — yatay kutu görsel hover zoom + CTA oku */
.kt-listing-img {
	transition: transform 0.5s ease;
}
.kt-listing:hover .kt-listing-img {
	transform: scale(1.06);
}
.kt-listing:hover .kt-listing-cta i {
	transform: translateX(5px);
}

/* İstatistik bölümü — hafif derinlik (bakır radial parıltı) */
.kt-stats-glow {
	background:
		radial-gradient( circle at 18% 30%, rgba(193, 18, 31, 0.16), transparent 42% ),
		radial-gradient( circle at 85% 75%, rgba(193, 18, 31, 0.5), transparent 50% );
	pointer-events: none;
}

/* Mobil menü */
#mobile-menu {
	transition: max-height 0.3s ease-in-out;
	max-height: 0;
	overflow: hidden;
}
#mobile-menu.open {
	max-height: 900px;
}

/* Masaüstü dropdown */
.dropdown-trigger {
	position: relative;
}
.dropdown-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 230px;
	background: #fff;
	border-top: 3px solid #c1121f;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.13);
	z-index: 100;
}
/* Üst öğe ile dropdown arasındaki boşlukta hover'ı koru */
.dropdown-trigger::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 14px;
}
.dropdown-trigger:hover .dropdown-menu,
.dropdown-trigger:focus-within .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* Aktif menü öğesi (anasayfa/aktif sayfa) — bakır vurgu */
.kt-desktop-nav .current-menu-item > a,
.kt-desktop-nav .current_page_item > a,
.kt-desktop-nav .current-menu-ancestor > a {
	color: #c1121f;
}

/* Mobil alt menü */
.mobile-submenu {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
.mobile-submenu.open {
	max-height: 500px;
}
.kt-mchevron {
	transition: transform 0.3s ease;
}
.kt-mchevron.rotated {
	transform: rotate(180deg);
}

/* WP menü ul reset (header) */
.kt-desktop-nav,
.kt-mobile-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Footer kurumsal menü (Sütun 2) — bakır madde işaretli liste */
.kt-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.kt-footer-menu li { margin-bottom: 0.75rem; }
.kt-footer-menu a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #9ca3af;
	transition: color 0.2s ease;
}
.kt-footer-menu a::before {
	content: "";
	width: 6px;
	height: 6px;
	background: #c1121f;
	flex: 0 0 auto;
}
.kt-footer-menu a:hover { color: #e11d2e; }

/* Sayfalama (arşiv/arama) */
.kt-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	margin: 0 3px;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #16181c;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	border-radius: 2px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.kt-pagination .page-numbers:hover,
.kt-pagination .page-numbers.current {
	background: #c1121f;
	border-color: #c1121f;
	color: #fff;
}

/* İç sayfa içerik tipografisi */
.kt-entry-content {
	line-height: 1.8;
}
.kt-entry-content p {
	margin: 0 0 1.25rem;
}
.kt-entry-content h2,
.kt-entry-content h3,
.kt-entry-content h4 {
	font-family: "Montserrat", sans-serif;
	color: #16181c;
	font-weight: 700;
	margin: 2rem 0 1rem;
}
.kt-entry-content h2 { font-size: 1.6rem; }
.kt-entry-content h3 { font-size: 1.3rem; }
.kt-entry-content a {
	color: #c1121f;
	text-decoration: underline;
}
.kt-entry-content ul,
.kt-entry-content ol {
	margin: 0 0 1.25rem 1.5rem;
}
.kt-entry-content ul { list-style: disc; }
.kt-entry-content ol { list-style: decimal; }
.kt-entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 2px;
}
.kt-entry-content blockquote {
	border-left: 4px solid #c1121f;
	background: #f3f4f6;
	padding: 1rem 1.5rem;
	margin: 0 0 1.25rem;
	font-style: italic;
}

/* ============================================================
 * Klasik WP galerisi ([gallery]) — düzenli grid
 * WP'nin satır-içi yüzde/float genişliklerini grid ile ezeriz.
 * ============================================================ */
.kt-entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 0 0 1.5rem;
}
.kt-entry-content .gallery-columns-1 { grid-template-columns: 1fr; }
.kt-entry-content .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.kt-entry-content .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.kt-entry-content .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.kt-entry-content .gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.kt-entry-content .gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.kt-entry-content .gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.kt-entry-content .gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.kt-entry-content .gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }
.kt-entry-content .gallery-item {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	text-align: center;
}
.kt-entry-content .gallery-icon {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
}
.kt-entry-content .gallery-icon a {
	display: block;
	line-height: 0;
}
.kt-entry-content .gallery-icon img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 !important;
	border: none !important;
	border-radius: 4px;
	cursor: zoom-in;
	transition: transform .35s ease, box-shadow .35s ease;
}
.kt-entry-content .gallery-icon a:hover img {
	transform: scale(1.04);
	box-shadow: 0 10px 24px rgba(18, 19, 23, .25);
}
.kt-entry-content .gallery-caption {
	display: block;
	margin: .4rem 0 0;
	font-size: .8rem;
	color: #6b7280;
}
@media (max-width: 640px) {
	.kt-entry-content .gallery { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
}

/* İçerikte dosyaya bağlı tekil görseller de tıklanabilir görünsün */
.kt-entry-content a[data-kt-lightbox] img { cursor: zoom-in; }

/* ============================================================
 * Lightbox (galeri / görsel büyütme)
 * ============================================================ */
.kt-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(18, 19, 23, .94);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease;
}
.kt-lightbox.open { opacity: 1; visibility: visible; }
.kt-lightbox__stage {
	max-width: 92vw;
	max-height: 86vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
}
.kt-lightbox__img {
	max-width: 92vw;
	max-height: 80vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .55);
	transform: scale(.96);
	transition: transform .25s ease, opacity .2s ease;
	background: #16181C;
}
.kt-lightbox.open .kt-lightbox__img { transform: scale(1); }
.kt-lightbox__img.loading { opacity: .3; }
.kt-lightbox__cap {
	color: #e5e7eb;
	font-size: .9rem;
	text-align: center;
	max-width: 90vw;
}
.kt-lightbox__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 1.25rem;
	cursor: pointer;
	transition: background .2s ease;
}
.kt-lightbox__btn:hover { background: #C1121F; }
.kt-lightbox__btn--prev { left: 18px; }
.kt-lightbox__btn--next { right: 18px; }
.kt-lightbox__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 1.2rem;
	cursor: pointer;
	transition: background .2s ease;
}
.kt-lightbox__close:hover { background: #C1121F; }
.kt-lightbox__count {
	position: absolute;
	top: 24px;
	left: 24px;
	color: #cbd5e1;
	font-size: .85rem;
	letter-spacing: .03em;
}
.kt-lightbox__btn[hidden] { display: none; }
body.kt-lb-lock { overflow: hidden; }

/* --------------------------------------------------------------
 * Yatay taşma koruması (mobilde overflow-x yok)
 * Reveal efektleri elemanı yana ötelediği için boyalı pikseller
 * viewport dışına taşabilir; `clip` yatay scrollbar'ı engeller ve
 * `position: sticky` header'ı `hidden`'ın aksine bozmaz.
 * ------------------------------------------------------------ */
html,
body {
	max-width: 100%;
	overflow-x: hidden; /* clip desteklemeyen tarayıcılar için yedek */
}

@supports (overflow-x: clip) {
	html,
	body {
		overflow-x: clip;
	}
}

/* --------------------------------------------------------------
 * Scroll reveal (AOS benzeri) — sağdan/soldan/aşağıdan giriş.
 * Her giriş-çıkışta tekrar oynatılır (JS: kt-in sınıfı toggle).
 * ------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
	[data-reveal] {
		opacity: 0;
		transform: translate3d(var(--kt-rx, 0), var(--kt-ry, 0), 0);
		transition:
			opacity .7s cubic-bezier(.22, .61, .36, 1),
			transform .7s cubic-bezier(.22, .61, .36, 1);
		transition-delay: var(--kt-rd, 0ms);
		will-change: opacity, transform;
	}

	[data-reveal="left"]  { --kt-rx: -52px; --kt-ry: 0; }
	[data-reveal="right"] { --kt-rx: 52px;  --kt-ry: 0; }
	[data-reveal="up"]    { --kt-rx: 0;     --kt-ry: 44px; }
	[data-reveal="down"]  { --kt-rx: 0;     --kt-ry: -44px; }

	[data-reveal].kt-in {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* Hareket azaltma tercihi: efekt yok, içerik daima görünür. */
@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1; transform: none; }
}
