/*
 * Teslim İnşaat — site geneli görsel sistem
 * Edifice teması ve Elementor bileşenlerini yeniden inşa etmeden tutarlılaştırır.
 */

:root {
	--ti-ink: #151515;
	--ti-gold: #d89a31;
	--ti-gold-deep: #b87d1d;
	--ti-cream: #f7f3ec;
	--ti-line: #e8dfd3;
	--ti-muted: #655f57;
	--ti-white: #fff;
	--ti-radius-sm: 14px;
	--ti-radius: 22px;
	--ti-radius-lg: 30px;
	--ti-shadow-sm: 0 10px 30px rgba(32, 25, 18, .08);
	--ti-shadow: 0 20px 55px rgba(32, 25, 18, .12);
	--ti-section: clamp(64px, 7vw, 104px);
}

html {
	scroll-behavior: smooth;
}

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

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

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	color: var(--ti-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(216, 154, 49, .4);
	outline-offset: 3px;
}

/* Header — Edifice / TRX */
.top_panel {
	border-bottom: 1px solid rgba(21, 21, 21, .08);
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 8px 28px rgba(21, 21, 21, .05);
	backdrop-filter: blur(14px);
}

.top_panel .sc_layouts_menu_nav > li > a {
	font-size: 14px;
	font-weight: 750;
	letter-spacing: -.01em;
}

.top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
.top_panel .sc_layouts_menu_nav > li.current-menu-ancestor > a,
.top_panel .sc_layouts_menu_nav > li > a:hover {
	color: var(--ti-gold) !important;
}

.sc_layouts_logo img {
	max-height: 48px !important;
	width: auto !important;
}

/* Ana sayfa — gereksiz boşlukları azalt */
.home .elementor-element .elementor-spacer-inner {
	max-height: 48px;
}

.home .elementor-widget-divider {
	opacity: .35;
}

/* TRX başlık widget'ları */
.trx_addons_title_with_link .sc_item_title,
.sc_item_title,
.trx_addons_title_with_link .sc_item_subtitle,
.sc_item_subtitle {
	text-transform: none !important;
}

.sc_item_subtitle {
	color: var(--ti-gold) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .12em !important;
}

.sc_item_title {
	color: var(--ti-ink) !important;
	font-size: clamp(30px, 4vw, 44px) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
	letter-spacing: -.04em !important;
}

/* TRX blogger / hizmet kartları */
.sc_blogger_item,
.sc_services_item {
	overflow: hidden;
	border: 1px solid var(--ti-line);
	border-radius: var(--ti-radius);
	background: #fff;
	box-shadow: var(--ti-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.sc_blogger_item:hover,
.sc_services_item:hover {
	transform: translateY(-4px);
	box-shadow: var(--ti-shadow);
}

.sc_blogger_item .post_featured,
.sc_services_item .post_featured {
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.sc_blogger_item .post_featured img,
.sc_services_item .post_featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s ease;
}

.sc_blogger_item:hover .post_featured img,
.sc_services_item:hover .post_featured img {
	transform: scale(1.04);
}

.sc_blogger_item_title,
.sc_services_item_title {
	font-size: 20px !important;
	line-height: 1.35 !important;
}

/* TRX ikon kutuları */
.sc_icons_item {
	padding: 24px 22px;
	border: 1px solid var(--ti-line);
	border-radius: var(--ti-radius);
	background: #fff;
	box-shadow: var(--ti-shadow-sm);
}

.sc_icons_item_title {
	font-size: 18px !important;
	font-weight: 800 !important;
}

/* Butonlar */
.sc_button,
.trx_addons_button,
.sc_button_simple {
	border-radius: 999px !important;
	font-weight: 800 !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

.sc_button:hover,
.trx_addons_button:hover {
	transform: translateY(-2px);
}

.sc_button_default,
.sc_button.color_style_dark {
	background: var(--ti-gold) !important;
	color: var(--ti-ink) !important;
}

/* İ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(--ti-line) !important;
	border-radius: 14px !important;
	background: #fff;
	color: var(--ti-ink);
	font-size: 15px;
}

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

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-color: var(--ti-gold) !important;
	box-shadow: 0 0 0 4px rgba(216, 154, 49, .15);
}

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

/* Footer */
.footer_wrap {
	background: #171717 !important;
}

.footer_wrap .widget_title,
.footer_wrap h5,
.footer_wrap .sc_item_title,
.footer_wrap .sc_item_title_text,
.footer_wrap .elementor-heading-title {
	color: #fff !important;
	font-weight: 800;
}

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

.footer_wrap .sc_layouts_logo img {
	filter: brightness(1.05);
}

/* Compact projects / galeri (mu-plugin) */
.tcp-showcase,
.ti-gallery-item {
	border-radius: var(--ti-radius);
}

/* tsm-* sayfaları — mevcut modern site CSS ile uyum */
.tsm-site {
	font-family: Manrope, Roboto, sans-serif;
}

.tsm-section {
	padding-block: var(--ti-section);
}

/* Tablet */
@media (max-width: 1279px) {
	body.blog .posts_container,
	body.category .posts_container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991px) {
	.sc_item_title {
		font-size: clamp(28px, 5vw, 36px) !important;
	}
}

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

	body {
		font-size: 16px;
	}

	.sc_layouts_logo img {
		max-height: 38px !important;
	}

	body.blog .posts_container,
	body.category .posts_container,
	body.tag .posts_container {
		grid-template-columns: 1fr !important;
		width: min(100% - 24px, 1240px) !important;
	}

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

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

	.tsm-service-grid {
		grid-template-columns: 1fr;
	}

	.tsm-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tsm-btn {
		width: 100%;
		justify-content: center;
	}

	.tsm-hero h1 {
		font-size: clamp(34px, 9vw, 48px) !important;
	}
}

@media (max-width: 479px) {
	.tsm-trust__grid {
		grid-template-columns: 1fr;
	}
}
