/*
Theme Name: Liftelas
Theme URI: https://liftelas.com
Description: Liftelas kurumsal alt teması (Hello Elementor child). Asansör bakım, onarım, montaj ve revizyon hizmetleri için kurumsal tasarım katmanı. Scaffolded by Studio Code.
Author: TADO Media
Author URI: https://tadomedia.com
Template: hello-elementor
Version: 1.0.1
Text Domain: liftelas
*/

/* ==========================================================================
   1. Marka değişkenleri
   ========================================================================== */
:root {
	--lf-dark: #16181c;
	--lf-dark-2: #1e2126;
	--lf-dark-3: #23272e;
	--lf-light: #f5f5f3;
	--lf-orange: #04A253;
	--lf-orange-dark: #03793D;
	--lf-red: #DD2B2B;
	--lf-red-dark: #B32020;
	--lf-text: #4a4f58;
	--lf-line-light: rgba(255, 255, 255, 0.12);
	--lf-line-dark: rgba(22, 24, 28, 0.12);
	--lf-shadow-sm: 0 2px 8px rgba(22, 24, 28, 0.06);
	--lf-shadow-md: 0 18px 40px -18px rgba(22, 24, 28, 0.28);
	--lf-shadow-lg: 0 40px 80px -32px rgba(22, 24, 28, 0.45);
	--lf-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}

/* ==========================================================================
   2. Tipografi temeli
   ========================================================================== */
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

/* Mikro etiket: turuncu, aralıklı büyük harf + öndeki kısa çizgi */
.lf-label .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	color: var(--lf-orange);
	font-family: Archivo, sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	line-height: 1;
}

.lf-label .elementor-heading-title::before {
	content: "";
	flex: 0 0 auto;
	width: 34px;
	height: 2px;
	background: var(--lf-orange);
}

.lf-label.lf-on-dark .elementor-heading-title {
	color: var(--lf-orange);
}

/* Başlık altı ince vurgu çizgisi */
.lf-title-rule .elementor-heading-title {
	position: relative;
	display: block;
	padding-bottom: 24px;
}

.lf-title-rule .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 3px;
	background: var(--lf-orange);
}

.lf-title-rule.lf-center .elementor-heading-title::after {
	left: 50%;
	transform: translateX(-50%);
}

/* Kaydırmayla belirme — CSS son durumu tanımlar, JS başlangıcı ekler */
.lf-reveal {
	opacity: 1;
	transform: none;
}

html.lf-reveal-ready .lf-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 0.75s var(--lf-ease) var(--lf-delay, 0ms),
		transform 0.75s var(--lf-ease) var(--lf-delay, 0ms);
}

html.lf-reveal-ready .lf-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   3. Bileşenler
   ========================================================================== */

.lf-btn .elementor-button {
	border-radius: 0;
	position: relative;
	transition:
		background-color 0.3s var(--lf-ease),
		color 0.3s var(--lf-ease),
		border-color 0.3s var(--lf-ease),
		transform 0.3s var(--lf-ease),
		box-shadow 0.3s var(--lf-ease);
}

.lf-btn .elementor-button:hover,
.lf-btn .elementor-button:focus-visible {
	transform: translateY(-2px);
}

.lf-btn-orange .elementor-button:hover {
	box-shadow: 0 16px 30px -14px rgba(4, 162, 83, 0.8);
}

.lf-btn-dark .elementor-button:hover {
	box-shadow: 0 16px 30px -14px rgba(22, 24, 28, 0.65);
}

.lf-btn-ghost .elementor-button {
	background: var(--lf-red);
	border: 1px solid var(--lf-red);
	color: #fff;
}

.lf-btn-ghost .elementor-button:hover {
	background: var(--lf-red-dark);
	color: #fff;
	border-color: var(--lf-red-dark);
	box-shadow: 0 16px 30px -14px rgba(221, 43, 43, 0.55);
}

.lf-btn .elementor-button-icon {
	transition: transform 0.3s var(--lf-ease);
}

.lf-btn .elementor-button:hover .elementor-button-icon {
	transform: translateX(4px);
}

/* Hizmet kartı: turuncu üst çizgi, derinlik, hover'da yükselme + görsel zoom */
.lf-card {
	position: relative;
	background: #fff;
	box-shadow: var(--lf-shadow-sm);
	transition: transform 0.4s var(--lf-ease), box-shadow 0.4s var(--lf-ease);
	overflow: hidden;
}

.lf-card::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 3px;
	background: var(--lf-orange);
	transform: scaleX(0.22);
	transform-origin: left center;
	transition: transform 0.45s var(--lf-ease);
	z-index: 3;
}

.lf-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--lf-shadow-md);
}

.lf-card:hover::before {
	transform: scaleX(1);
}

.lf-card .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
	transition: transform 0.7s var(--lf-ease);
}

.lf-card:hover .elementor-widget-image img {
	transform: scale(1.07);
}

.lf-card .elementor-widget-image {
	overflow: hidden;
	line-height: 0;
}

/* Büyük hizmet kartı — daha yüksek görsel alanı */
.lf-card-lg .elementor-widget-image img {
	height: 260px;
}

.lf-card-lg h2.elementor-heading-title {
	letter-spacing: -0.8px;
}

@media (max-width: 767px) {
	.lf-card-lg .elementor-widget-image img {
		height: 200px;
	}
}

/* Süreç adımları — içi boş büyük numara */
.lf-step {
	position: relative;
	overflow: hidden;
}

.lf-step-num .elementor-heading-title {
	font-family: Archivo, sans-serif;
	font-size: 54px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -2px;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--lf-orange);
	transition: color 0.45s var(--lf-ease);
}

.lf-step:hover .lf-step-num .elementor-heading-title {
	color: rgba(242, 118, 46, 0.18);
}

/* Kart içi numaralı indeks */
.lf-card-index .elementor-heading-title {
	font-family: Archivo, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.6px;
	color: var(--lf-orange);
}

/* Hakkımızda görsel paneli: turuncu kayık çerçeve + derinlik */
.lf-abt-frame {
	position: relative;
}

.lf-abt-frame::before {
	content: "";
	position: absolute;
	inset: 26px -26px -26px 26px;
	border: 2px solid var(--lf-orange);
	z-index: 0;
	pointer-events: none;
}

.lf-abt-frame .elementor-widget-image {
	position: relative;
	z-index: 1;
	line-height: 0;
}

.lf-abt-frame .elementor-widget-image img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: var(--lf-shadow-lg);
}

@media (max-width: 767px) {
	.lf-abt-frame::before {
		inset: 16px -16px -16px 16px;
	}
}

/* Koyu zemin üzerindeki cam kart */
.lf-card-dark {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--lf-line-light);
	box-shadow: none;
	transition: background-color 0.4s var(--lf-ease), border-color 0.4s var(--lf-ease), transform 0.4s var(--lf-ease);
}

.lf-card-dark:hover {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(242, 118, 46, 0.55);
	transform: translateY(-6px);
}

/* Elementor Slides — ok ve nokta navigasyonunu markaya uyarla */
.lf-slider .elementor-swiper-button {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(22, 24, 28, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
	font-size: 17px;
	transition: background-color 0.3s var(--lf-ease), border-color 0.3s var(--lf-ease), color 0.3s var(--lf-ease);
}

.lf-slider .elementor-swiper-button:hover {
	background: var(--lf-orange);
	border-color: var(--lf-orange);
	color: #fff;
}

.lf-slider .elementor-swiper-button-prev {
	left: 24px;
}

.lf-slider .elementor-swiper-button-next {
	right: 24px;
}

.lf-slider .swiper-pagination-bullet {
	width: 28px;
	height: 3px;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.4);
	opacity: 1;
	transition: background-color 0.3s var(--lf-ease), width 0.3s var(--lf-ease);
}

.lf-slider .swiper-pagination-bullet-active {
	width: 46px;
	background: var(--lf-orange);
}

.lf-slider .swiper-pagination {
	bottom: 26px !important;
}

.lf-slider .elementor-slide-heading {
	letter-spacing: -1.2px;
}

.lf-slider .elementor-slide-button {
	border-radius: 0;
	transition: transform 0.3s var(--lf-ease), background-color 0.3s var(--lf-ease), color 0.3s var(--lf-ease);
}

.lf-slider .elementor-slide-button:hover {
	transform: translateY(-2px);
}

@media (max-width: 767px) {
	.lf-slider .elementor-swiper-button {
		width: 40px;
		height: 40px;
		font-size: 14px;
	}

	.lf-slider .elementor-swiper-button-prev {
		left: 10px;
	}

	.lf-slider .elementor-swiper-button-next {
		right: 10px;
	}
}

/* Sayılarla biz — sayaç kutuları */
.lf-stat {
	position: relative;
	padding: 38px 30px 34px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--lf-line-light);
	transition: background-color 0.4s var(--lf-ease), border-color 0.4s var(--lf-ease), transform 0.4s var(--lf-ease);
}

.lf-stat::after {
	content: "";
	position: absolute;
	left: 30px;
	bottom: 0;
	width: 44px;
	height: 3px;
	background: var(--lf-orange);
	transition: width 0.45s var(--lf-ease);
}

.lf-stat:hover {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(242, 118, 46, 0.5);
	transform: translateY(-6px);
}

.lf-stat:hover::after {
	width: calc(100% - 60px);
}

.lf-stat .elementor-counter-number-wrapper {
	font-family: Archivo, sans-serif;
	font-weight: 700;
	letter-spacing: -2px;
	line-height: 1;
	color: #fff;
}

.lf-stat .elementor-counter-number-suffix {
	color: var(--lf-orange);
}

.lf-stat .elementor-counter-title {
	margin-top: 14px;
	font-family: Archivo, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: #a7adb8;
}

/* Elementor Pro Form — kurumsal, keskin köşeli alanlar */
.lf-form .elementor-field-group > label {
	font-family: Archivo, sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin-bottom: 9px;
}

.lf-form .elementor-field-textual,
.lf-form select.elementor-field-textual {
	font-family: Manrope, sans-serif;
}

.lf-form .elementor-field-textual::placeholder {
	font-family: Manrope, sans-serif;
}

.lf-form .elementor-field-textual {
	border-radius: 0;
	border: 1px solid var(--lf-line-dark);
	background: #fff;
	padding: 15px 17px;
	font-size: 15.5px;
	transition: border-color 0.25s var(--lf-ease), box-shadow 0.25s var(--lf-ease);
}

.lf-form .elementor-field-textual:focus {
	border-color: var(--lf-orange);
	box-shadow: 0 0 0 3px rgba(242, 118, 46, 0.16);
	outline: none;
}

.lf-form .elementor-field-type-upload input[type="file"] {
	width: 100%;
	padding: 14px 16px;
	border: 1px dashed rgba(22, 24, 28, 0.28);
	background: #fff;
	font-size: 14px;
	cursor: pointer;
}

.lf-form .elementor-field-type-upload input[type="file"]:hover {
	border-color: var(--lf-orange);
}

.lf-form .elementor-button {
	border-radius: 0;
	transition: background-color 0.3s var(--lf-ease), transform 0.3s var(--lf-ease), box-shadow 0.3s var(--lf-ease);
}

.lf-form .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px -14px rgba(242, 118, 46, 0.8);
}

.lf-form .elementor-field-group .elementor-field-subgroup label {
	text-transform: none;
	letter-spacing: 0;
}

/* Koyu zemin üzerinde form */
.lf-form-dark .elementor-field-group > label {
	color: #a7adb8;
}

.lf-form-dark .elementor-field-textual {
	background: rgba(255, 255, 255, 0.05);
	border-color: var(--lf-line-light);
	color: #fff;
}

.lf-form-dark .elementor-field-textual::placeholder {
	color: #7b828e;
}

/* İletişim bilgi kutuları */
.lf-contact-box .elementor-icon-box-title {
	margin-bottom: 4px;
}

.lf-contact-box .elementor-icon-box-description a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s var(--lf-ease);
}

.lf-contact-box .elementor-icon-box-description a:hover {
	color: var(--lf-orange);
}

.lf-contact-box {
	padding-bottom: 22px;
	border-bottom: 1px solid var(--lf-line-dark);
}

.lf-contact-box:last-of-type {
	border-bottom: 0;
}

/* Sayfa başlık bandı — altta ince turuncu marka çizgisi */
.lf-pagehero {
	border-bottom: 3px solid var(--lf-orange);
}

/* Form kartı — hover'da yükselmez, turuncu çizgi tam genişlikte durur */
.lf-formcard::before {
	transform: scaleX(1);
}

.lf-formcard {
	box-shadow: var(--lf-shadow-md);
}

.lf-formcard:hover {
	transform: none;
	box-shadow: var(--lf-shadow-md);
}

/* Harita — kurumsal gri tonlama */
.lf-map {
	background: var(--lf-dark-2);
	border-top: 3px solid var(--lf-orange);
}

.lf-map iframe {
	filter: grayscale(0.92) contrast(1.06);
	transition: filter 0.6s var(--lf-ease);
}

.lf-map:hover iframe {
	filter: grayscale(0) contrast(1);
}

/* Bilgi kutusu — placeholder uyarıları */
.lf-note {
	border-left: 3px solid var(--lf-orange);
	background: rgba(242, 118, 46, 0.07);
	padding: 16px 20px;
	font-size: 14px;
}

.lf-note p {
	margin: 0;
}

.lf-note-dark {
	border-left-color: var(--lf-orange);
	background: rgba(255, 255, 255, 0.05);
}

.lf-note-dark strong {
	color: var(--lf-orange);
}

/* Çok paragraflı metin blokları */
.lf-prose p + p {
	margin-top: 1.15em;
}

/* Kart içi başlıklar dar kolonlarda taşmasın */
.lf-card h3.elementor-heading-title {
	font-size: 22px;
	letter-spacing: -0.4px;
}

.lf-wordmark {
	flex: 0 0 auto;
}

.lf-wordmark .elementor-heading-title {
	display: inline-block;
	white-space: nowrap;
}

.lf-wordmark .elementor-heading-title::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 5px;
	background: var(--lf-orange);
	vertical-align: baseline;
}

.lf-wordmark a {
	color: inherit;
	text-decoration: none;
}

.lf-topbar-contact a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s var(--lf-ease);
}

.lf-topbar-contact a:hover {
	color: var(--lf-orange);
}

.lf-header-bar {
	transition: background-color 0.35s var(--lf-ease), box-shadow 0.35s var(--lf-ease);
}

.lf-header-bar.elementor-sticky--effects {
	background-color: rgba(22, 24, 28, 0.93) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.9);
}

.lf-header-bar.elementor-sticky--effects > .e-con-inner {
	padding-top: 11px;
	padding-bottom: 11px;
	transition: padding 0.35s var(--lf-ease);
}

/* Mobil menü açma düğmesi */
.lf-nav .elementor-menu-toggle {
	border-radius: 0;
}

.lf-flabel .elementor-heading-title {
	font-size: 12px;
	letter-spacing: 2.4px;
}

.lf-flist .elementor-icon-list-item {
	transition: transform 0.25s var(--lf-ease);
}

.lf-flist .elementor-icon-list-item:hover {
	transform: translateX(4px);
}

.lf-flist .elementor-icon-list-item a {
	text-decoration: none;
}

.lf-ph {
	display: block;
	margin-top: 5px;
	font-size: 11.5px;
	letter-spacing: 0.2px;
	opacity: 0.75;
}

.lf-footer a {
	text-decoration: none;
}

/* ==========================================================================
   4. Erişilebilirlik — hareket azaltma tercihi
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
