/*
 * Teslim Yalıtım — site geneli görsel sistem
 * Elementor yapısını koruyarak tipografi, boşluk ve responsive kurallarını tutarlılaştırır.
 */

:root {
	--ty-ink: #0b1a33;
	--ty-navy: #102544;
	--ty-blue: #1659a7;
	--ty-orange: #d89a31;
	--ty-muted: #5c6676;
	--ty-soft: #f4f7fb;
	--ty-line: #dfe7f1;
	--ty-white: #fff;
	--ty-radius-sm: 14px;
	--ty-radius: 22px;
	--ty-radius-lg: 30px;
	--ty-shadow-sm: 0 10px 30px rgba(11, 26, 51, .08);
	--ty-shadow: 0 20px 55px rgba(11, 26, 51, .12);
	--ty-section: clamp(64px, 7vw, 104px);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--ty-ink);
	background: var(--ty-white);
	font-family: Manrope, Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

body p {
	color: var(--ty-muted);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	color: var(--ty-ink);
	font-family: Manrope, Roboto, Arial, sans-serif;
	letter-spacing: -.025em;
	text-transform: none;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible {
	outline: 3px solid rgba(22, 89, 167, .35);
	outline-offset: 3px;
}

body .container,
body .small-container {
	width: min(100%, 1200px);
}

/* Header */
.header-top-area {
	min-height: 36px;
	background: var(--ty-navy) !important;
}

.header-top-info ul li,
.header-top-info ul li a {
	color: rgba(255, 255, 255, .9) !important;
	font-size: 12px;
	font-weight: 650;
}

.site-header .nav-area {
	min-height: 76px;
	border-bottom: 1px solid rgba(11, 26, 51, .08);
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 8px 28px rgba(11, 26, 51, .06);
	backdrop-filter: blur(14px);
}

.site-header .site-logo img,
.site-header img.custom-logo {
	max-width: 220px !important;
	max-height: 48px !important;
}

.main-menu ul li:not(:first-child) {
	margin-left: 28px !important;
}

.main-menu ul li > a {
	position: relative;
	color: var(--ty-ink) !important;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: -.01em;
}

.main-menu ul li > a::after {
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	height: 2px;
	border-radius: 99px;
	background: var(--ty-orange);
	content: "";
	transform: scaleX(0);
	transition: transform .25s ease;
}

.main-menu ul li:hover > a::after,
.main-menu ul li.current-menu-item > a::after,
.main-menu ul li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.main-menu ul.sub-menu li a::after {
	display: none;
}

/* Butonlar */
.site-btn,
.primary-btn-1,
.primary-btn-2,
.primary-btn-5 {
	min-height: 48px;
	border-radius: 999px;
	font-weight: 800;
	transition: transform .2s ease, box-shadow .2s ease;
}

.site-btn:hover,
.primary-btn-1:hover,
.primary-btn-2:hover,
.primary-btn-5:hover {
	transform: translateY(-2px);
}

/* Breadcrumb / iç sayfa hero */
.breadcrumb-area {
	position: relative;
	min-height: 250px;
	padding: 92px 0 64px !important;
	background-position: center !important;
	background-size: cover !important;
}

.breadcrumb-area::before {
	background: linear-gradient(90deg, rgba(7, 20, 39, .9), rgba(16, 37, 68, .62)) !important;
	opacity: 1 !important;
}

.breadcrumb-text .breadcrumb-title,
.breadcrumb-text h1 {
	color: #fff !important;
	font-size: clamp(34px, 5vw, 54px) !important;
	font-weight: 800;
	line-height: 1.08 !important;
}

.breadcrumb-nav li,
.breadcrumb-nav li a {
	color: rgba(255, 255, 255, .82) !important;
	font-size: 14px;
	font-weight: 650;
}

.breadcrumb-nav li:last-child {
	color: #fff !important;
}

/* Bölüm başlıkları */
.section-title,
.title-box .section-title {
	color: var(--ty-ink);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.04em;
}

.section-sub-title,
.title-box .section-sub-title {
	color: var(--ty-blue);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.section-space {
	padding-block: var(--ty-section);
}

/* Hizmet kartları */
.single-service-box,
.service-tab-section .service-box {
	overflow: hidden;
	border: 1px solid var(--ty-line);
	border-radius: var(--ty-radius);
	background: #fff;
	box-shadow: var(--ty-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.single-service-box:hover,
.service-tab-section .service-box:hover {
	transform: translateY(-5px);
	box-shadow: var(--ty-shadow);
}

.single-service-box .service-thumb img,
.service-tab-section .service-box img {
	transition: transform .55s ease;
}

.single-service-box:hover .service-thumb img,
.service-tab-section .service-box:hover img {
	transform: scale(1.04);
}

/* Süreç / neden biz */
.single-choose-box,
.single-process-box {
	height: 100%;
	padding: 30px 26px !important;
	border: 1px solid var(--ty-line);
	border-radius: var(--ty-radius) !important;
	background: #fff;
	box-shadow: var(--ty-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.single-choose-box:hover,
.single-process-box:hover {
	transform: translateY(-4px);
	box-shadow: var(--ty-shadow);
}

/* FAQ */
.faq-section .card {
	overflow: hidden;
	margin-bottom: 12px;
	border: 1px solid var(--ty-line) !important;
	border-radius: 16px !important;
	background: #fff;
	box-shadow: none;
}

.faq-section .card-header button {
	min-height: 56px;
	padding: 16px 52px 16px 20px;
	color: var(--ty-ink) !important;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.35;
}

.faq-section .card-body {
	padding: 0 20px 20px;
	color: var(--ty-muted);
	font-size: 15px;
	line-height: 1.75;
}

/* Blog kartları */
.postbox,
.ty-blog-card {
	overflow: hidden;
	border: 1px solid var(--ty-line);
	border-radius: var(--ty-radius);
	background: #fff;
	box-shadow: var(--ty-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.postbox:hover,
.ty-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ty-shadow);
}

.postbox-thumb,
.ty-blog-card__image {
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.postbox-thumb img,
.ty-blog-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s ease;
}

.postbox:hover .postbox-thumb img,
.ty-blog-card:hover .ty-blog-card__image img {
	transform: scale(1.04);
}

/* İletişim formu */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
	min-height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--ty-line) !important;
	border-radius: 14px !important;
	background: #fff;
	color: var(--ty-ink);
	font-size: 15px;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.wpcf7-form textarea {
	min-height: 140px;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	border-color: var(--ty-blue) !important;
	box-shadow: 0 0 0 4px rgba(22, 89, 167, .12);
}

.wpcf7-form input[type="submit"] {
	min-height: 50px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ty-blue);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

/* Footer */
.footer-main {
	background: var(--ty-navy) !important;
}

.footer-widget .widget-title,
.footer-widget h4 {
	color: #fff !important;
	font-size: 18px;
	font-weight: 800;
}

.footer-widget,
.footer-widget p,
.footer-widget li,
.footer-widget a {
	color: rgba(255, 255, 255, .78) !important;
}

.footer-top-box {
	padding: 28px !important;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--ty-radius);
	background: rgba(255, 255, 255, .04);
}

/* Özel widget'lar — mevcut home.css ile uyum */
.ty-work-gallery__shell,
.tyc-showcase {
	border-radius: var(--ty-radius-lg);
}

.ty-work-gallery__btn,
.ty-blog-flow .primary-btn-1 {
	border-radius: 999px;
	font-weight: 800;
}

/* Tablet */
@media (max-width: 1199px) {
	.main-menu ul li:not(:first-child) {
		margin-left: 18px !important;
	}

	.tyc-showcase__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.breadcrumb-area {
		min-height: 220px;
		padding: 78px 0 48px !important;
	}

	.section-space {
		padding-block: clamp(52px, 8vw, 72px);
	}

	.ty-work-gallery__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
}

/* Mobil */
@media (max-width: 767px) {
	:root {
		--ty-radius: 18px;
		--ty-radius-lg: 22px;
		--ty-section: 56px;
	}

	body {
		font-size: 16px;
	}

	.site-header .nav-area {
		min-height: 58px;
	}

	.site-header .site-logo img,
	.site-header img.custom-logo {
		max-width: min(174px, 57vw) !important;
		max-height: 38px !important;
	}

	.mean-container .mean-nav {
		top: 58px !important;
	}

	.mean-container .mean-nav ul li a {
		min-height: 48px;
		padding: 13px 18px !important;
		font-size: 15px !important;
	}

	.breadcrumb-area {
		min-height: 190px !important;
		padding: 64px 0 30px !important;
	}

	.breadcrumb-text .breadcrumb-title,
	.breadcrumb-text h1 {
		font-size: clamp(28px, 9vw, 36px) !important;
	}

	.ty-hero-full {
		min-height: 460px;
	}

	.ty-hero-flow__caption {
		font-size: clamp(24px, 7vw, 34px);
	}

	.ty-hero-whatsapp {
		right: 16px;
		bottom: 72px;
		padding: 12px 16px;
		font-size: 13px;
	}

	.tyc-showcase {
		width: min(100% - 24px, 1280px);
		padding: 22px 16px;
	}

	.tyc-showcase__head {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.tyc-showcase__grid {
		grid-template-columns: 1fr;
	}

	.ty-blog-flow__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.ty-blog-flow__head .primary-btn-1 {
		width: 100%;
		justify-content: center;
	}

	.wpcf7-form .from-group-wrapper {
		display: block !important;
	}

	.wpcf7-form input[type="submit"] {
		width: 100%;
	}

	.footer-top-box {
		display: block !important;
		padding: 22px !important;
		text-align: left;
	}

	.footer-top-box .footer-box-icon {
		margin: 0 0 16px !important;
	}
}

@media (max-width: 390px) {
	.ty-work-gallery__actions {
		width: 100%;
		justify-content: flex-start;
	}
}
