/* ----------------------------------------------------------------

	Custom CSS



	Add all your Custom Styled CSS here for New Styles or

	Overwriting Default Theme Styles for Better Handling Updates

-----------------------------------------------------------------*/

/* Cookie Notice Banner Styles
============================================= */
.cookie-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.98);
	border-top: 1px solid #e5e5e5;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
	z-index: 9999;
	transform: translateY(100%);
	transition: transform 0.4s ease-in-out;
	display: block;
}

.cookie-notice.show {
	transform: translateY(0);
}

.cookie-notice-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.cookie-notice-text {
	flex: 1;
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	min-width: 300px;
}

.cookie-notice-link {
	color: #dc3545;
	text-decoration: underline;
	font-weight: 500;
}

.cookie-notice-link:hover {
	color: #c82333;
}

.cookie-notice-btn {
	background-color: #dc3545;
	color: #fff;
	border: none;
	padding: 10px 30px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	white-space: nowrap;
	min-width: 120px;
}

.cookie-notice-btn:hover {
	background-color: #c82333;
}

/* Mobil uyumluluk */
@media (max-width: 768px) {
	.cookie-notice-container {
		flex-direction: column;
		padding: 15px 20px;
		text-align: center;
	}
	
	.cookie-notice-text {
		min-width: auto;
		font-size: 13px;
	}
	
	.cookie-notice-btn {
		width: 100%;
	}
}

/* gotoTop butonunun cookie banner'ın üzerinde görünmesi için */
#gotoTop {
	z-index: 10000 !important;
}

/* ----------------------------------------------------------------
	Header Responsive Styles - Mobil Uyumluluk
-----------------------------------------------------------------*/

/* Desktop Header Fix - 992px ve üzeri için zorla desktop görünümü */
@media (min-width: 992px) {
	/* Desktop'ta hamburger menüyü gizle */
	.primary-menu-trigger {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}
	
	/* Desktop'ta normal menüyü göster - header-row içinde */
	.header-row .primary-menu {
		display: block !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		flex: 1 1 auto !important;
		order: 2 !important;
	}
	
	/* Desktop'ta menü container'ı düzgün göster */
	.header-row .primary-menu .menu-container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}
	
	/* Desktop'ta menü item'ları yatay göster */
	.header-row .primary-menu .menu-item {
		display: inline-block !important;
		border-bottom: none !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
	}
	
	/* Desktop'ta menü linklerini düzgün göster */
	.header-row .primary-menu .menu-link {
		display: block !important;
		padding: 0 20px !important;
		font-size: 1.125rem !important;
		min-height: auto !important;
		line-height: normal !important;
		text-decoration: none !important;
		color: inherit !important;
	}
	
	/* Body'de is-expanded-menu class'ı olmasa bile desktop görünümü */
	body:not(.is-expanded-menu) .header-row .primary-menu {
		display: block !important;
	}
	
	body:not(.is-expanded-menu) .header-row .primary-menu-trigger {
		display: none !important;
	}
	
	/* Header row içinde sıralama: Logo, Menu, Actions */
	.header-row #logo {
		order: 1 !important;
	}
	
	.header-row .primary-menu {
		order: 2 !important;
		margin-left: auto !important;
		margin-right: 20px !important;
	}
	
	.header-row .header-actions {
		order: 3 !important;
	}
}

/* Logo Responsive */
.logo-responsive {
	max-width: 180px;
	height: auto;
	width: 100%;
}

/* Tablet ve küçük ekranlar için logo */
@media (max-width: 991px) {
	.logo-responsive {
		max-width: 140px;
	}
	
	.header-logo {
		flex: 0 0 auto;
		width: auto !important;
		margin-right: auto !important;
	}
}

/* Mobil cihazlar için logo */
@media (max-width: 576px) {
	.logo-responsive {
		max-width: 120px;
	}
}

/* Header Actions (Butonlar ve Dil Seçici) */
.header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}

/* Login/Register Butonu Responsive */
.header-login-btn {
	white-space: nowrap;
	padding: 8px 20px !important;
	font-size: 1rem !important;
	--cnvs-btn-fontsize: 1rem !important;
}

/* Mobil cihazlarda Giriş Yap/Kayıt Ol butonunu gizle */
@media (max-width: 991px) {
	.header-login-btn {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		margin: 0 !important;
	}
}

/* Dil Seçici Responsive */
.language-select-mobile {
	min-width: 110px !important;
	font-size: 0.9rem;
	padding: 6px 10px;
}

@media (max-width: 576px) {
	.language-select-mobile {
		min-width: 90px !important;
		font-size: 0.85rem;
		padding: 5px 8px;
	}
}

/* Header Row düzeni */
.header-row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
}

/* Desktop'ta header row düzeni */
@media (min-width: 992px) {
	.header-row {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
	}
	
	/* Desktop'ta primary menu'yu header-row içinde göster */
	.header-row .primary-menu {
		display: block !important;
		flex: 1 1 auto !important;
		margin-left: auto !important;
		margin-right: 20px !important;
	}
	
	/* Desktop'ta header actions'ı sağa hizala */
	.header-actions {
		flex: 0 0 auto !important;
		margin-left: auto !important;
	}
}

@media (max-width: 991px) {
	.header-row {
		gap: 8px;
	}
	
	.header-actions {
		flex: 0 1 auto;
		width: auto !important;
		margin-left: auto !important;
		margin-right: 10px;
	}
}

@media (max-width: 576px) {
	.header-row {
		gap: 5px;
		padding: 8px 0;
	}
	
	.header-actions {
		gap: 6px;
	}
}

/* Hamburger menü pozisyonu */
.primary-menu-trigger {
	display: flex;
	align-items: center;
	margin-left: 10px;
}

@media (max-width: 576px) {
	.primary-menu-trigger {
		margin-left: 5px;
	}
}

/* Hamburger butonunu daha dokunabilir yap */
.cnvs-hamburger {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

/* Primary Menu (Mobil menü) iyileştirmeleri */
@media (max-width: 991px) {
	.primary-menu {
		padding: 20px;
	}
	
	.primary-menu .menu-link {
		font-size: 1.1rem;
		padding: 12px 0;
		min-height: 44px;
		display: flex;
		align-items: center;
	}
	
	.primary-menu .menu-item {
		border-bottom: 1px solid rgba(0,0,0,0.08);
	}
}

/* Touch-friendly butonlar - tüm dokunabilir öğeler minimum 44x44px olmalı */
@media (max-width: 991px) {
	.button,
	select,
	button {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* Header container padding ayarı */
@media (max-width: 768px) {
	#header-wrap .container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media (max-width: 576px) {
	#header-wrap .container {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* ----------------------------------------------------------------
	Responsive Typography - Font Boyutları Mobil Uyumluluk
-----------------------------------------------------------------*/

/* Root değişkenleri - Tablet için */
@media (max-width: 991px) {
	:root {
		--cnvs-font-size-h1: 2.25rem;     /* 36px (Desktop: 44px) */
		--cnvs-font-size-h2: 1.75rem;     /* 28px (Desktop: 32px) */
		--cnvs-font-size-h3: 1.5rem;      /* 24px (Desktop: 28px) */
		--cnvs-font-size-h4: 1.25rem;     /* 20px (Desktop: 24px) */
		--cnvs-font-size-h5: 1rem;        /* 16px (Desktop: 16px) */
		--cnvs-font-size-h6: 0.875rem;    /* 14px (Desktop: 14px) */
		--bs-body-font-size: 1rem;        /* 16px (Desktop: 18px) */
	}
}

/* Root değişkenleri - Mobil için */
@media (max-width: 576px) {
	:root {
		--cnvs-font-size-h1: 1.875rem;    /* 30px */
		--cnvs-font-size-h2: 1.5rem;      /* 24px */
		--cnvs-font-size-h3: 1.25rem;     /* 20px */
		--cnvs-font-size-h4: 1.125rem;    /* 18px */
		--cnvs-font-size-h5: 1rem;        /* 16px */
		--cnvs-font-size-h6: 0.875rem;    /* 14px */
		--bs-body-font-size: 0.9375rem;   /* 15px */
	}
}

/* Display başlıklar (çok büyük başlıklar) için responsive ayarlar */
.display-1 {
	font-size: 5rem;
	line-height: 1.1;
}

.display-2 {
	font-size: 4.5rem;
	line-height: 1.1;
}

.display-3 {
	font-size: 4rem;
	line-height: 1.15;
}

.display-4 {
	font-size: 3.5rem;
	line-height: 1.2;
}

.display-5 {
	font-size: 3rem;
	line-height: 1.2;
}

.display-6 {
	font-size: 2.5rem;
	line-height: 1.2;
}

/* Tablet için Display başlıklar */
@media (max-width: 991px) {
	.display-1 {
		font-size: 3.5rem;
	}
	
	.display-2 {
		font-size: 3rem;
	}
	
	.display-3 {
		font-size: 2.75rem;
	}
	
	.display-4 {
		font-size: 2.5rem;
	}
	
	.display-5 {
		font-size: 2.25rem;
	}
	
	.display-6 {
		font-size: 2rem;
	}
}

/* Mobil için Display başlıklar */
@media (max-width: 576px) {
	.display-1 {
		font-size: 2.5rem;
	}
	
	.display-2 {
		font-size: 2.25rem;
	}
	
	.display-3 {
		font-size: 2rem;
	}
	
	.display-4 {
		font-size: 1.875rem;
	}
	
	.display-5 {
		font-size: 1.75rem;
	}
	
	.display-6 {
		font-size: 1.5rem;
	}
}

/* Lead text (giriş paragrafları) responsive */
.lead {
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.6;
}

@media (max-width: 991px) {
	.lead {
		font-size: 1.125rem;
	}
}

@media (max-width: 576px) {
	.lead {
		font-size: 1rem;
	}
}

/* Paragraf line-height'ı mobil için optimize et */
@media (max-width: 576px) {
	p {
		line-height: 1.65;
	}
}

/* Küçük text boyutları */
.small, small {
	font-size: 0.875rem;
}

@media (max-width: 576px) {
	.small, small {
		font-size: 0.8125rem; /* 13px */
	}
}

/* Buton metinleri için responsive ayarlar */
.button, .btn {
	font-size: 1rem;
}

.button-large {
	font-size: 1.125rem;
}

@media (max-width: 991px) {
	.button-large {
		font-size: 1rem;
	}
}

@media (max-width: 576px) {
	.button, .btn {
		font-size: 0.9375rem; /* 15px */
	}
	
	.button-large {
		font-size: 0.9375rem;
	}
}

/* Hero section başlık optimizasyonu */
#slider h1, 
#slider .display-4 {
	font-size: clamp(1.875rem, 5vw, 3.5rem);
	line-height: 1.2;
}

#slider .lead {
	font-size: clamp(1rem, 2.5vw, 1.25rem);
	line-height: 1.6;
}

/* Pricing section başlıklar */
#section-pricing h3 {
	font-size: clamp(1.5rem, 3vw, 2.5rem);
}

/* FAQ section başlıklar */
#section-faqs h3 {
	font-size: clamp(1.75rem, 4vw, 3rem);
}

/* Card başlıklar için responsive */
.card-title, .entry-title h3 {
	font-size: clamp(1.125rem, 2vw, 1.5rem);
}

/* Toggle/Accordion başlıklar */
.toggle-title {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.5;
}

/* Pricing box font ayarları */
.pricing-box h3 {
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.pricing-price {
	font-size: clamp(2rem, 4vw, 3rem);
}

/* Footer başlıklar */
#footer h4 {
	font-size: clamp(0.875rem, 2vw, 1rem);
}

/* Menü link boyutları */
@media (max-width: 991px) {
	.primary-menu .menu-link {
		font-size: 1.125rem !important;
	}
}

@media (max-width: 576px) {
	.primary-menu .menu-link {
		font-size: 1rem !important;
	}
}

/* Okunabilirlik için minimum font boyutu */
@media (max-width: 576px) {
	body {
		font-size: 15px;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}
}

/* Tablet landscape için özel ayarlar */
@media (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.display-4 {
		font-size: 2.75rem;
	}
	
	h1 {
		font-size: 2rem;
	}
}

/* ----------------------------------------------------------------
	Footer Responsive Styles - Mobil Uyumluluk
-----------------------------------------------------------------*/

/* Footer genel ayarlar */
.footer-responsive {
	padding-top: 40px;
	padding-bottom: 20px;
}

@media (max-width: 991px) {
	.footer-responsive {
		padding-top: 30px;
	}
}

@media (max-width: 576px) {
	.footer-responsive {
		padding-top: 25px;
	}
}

/* Footer grid düzeni */
.footer-grid {
	row-gap: 2.5rem !important;
}

@media (max-width: 991px) {
	.footer-grid {
		row-gap: 2rem !important;
	}
}

@media (max-width: 576px) {
	.footer-grid {
		row-gap: 1.5rem !important;
	}
}

/* Footer kolonları - Tablet */
@media (max-width: 991px) and (min-width: 768px) {
	.footer-column {
		flex: 0 0 auto;
		width: 50% !important; /* 2 kolon yan yana */
	}
}

/* Footer kolonları - Mobil */
@media (max-width: 767px) {
	.footer-column {
		flex: 0 0 auto;
		width: 100% !important; /* Tek kolon (tam genişlik) */
		text-align: center; /* Mobilde ortalanmış */
	}
}

/* Footer başlıklar */
.footer-heading {
	font-size: 1rem;
	margin-bottom: 1rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

@media (max-width: 576px) {
	.footer-heading {
		font-size: 0.95rem;
		margin-bottom: 0.875rem !important;
	}
}

/* Footer linkler */
.footer-links {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

.footer-links li {
	margin-bottom: 12px;
}

@media (max-width: 576px) {
	.footer-links li {
		margin-bottom: 10px;
	}
}

.footer-link {
	color: var(--bs-body-color);
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.6;
	transition: color 0.3s ease, padding-left 0.3s ease;
	display: inline-block;
	position: relative;
}

.footer-link:hover {
	color: var(--cnvs-themecolor);
	padding-left: 5px;
}

@media (max-width: 576px) {
	.footer-link {
		font-size: 0.9rem;
		min-height: 44px; /* Touch-friendly */
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* Footer contact list */
.footer-contact-list {
	padding-left: 0;
	margin-bottom: 0;
}

.footer-contact-item {
	display: flex;
	align-items: center;
	font-size: 0.9375rem;
	line-height: 1.6;
}

@media (max-width: 767px) {
	.footer-contact-item {
		justify-content: center; /* Mobilde ortala */
	}
}

@media (max-width: 576px) {
	.footer-contact-item {
		font-size: 0.9rem;
		min-height: 44px; /* Touch-friendly */
	}
}

/* Footer email link */
.footer-email {
	display: flex;
	align-items: center;
	color: var(--bs-body-color);
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-email:hover {
	color: var(--cnvs-themecolor);
}

/* Footer ikonlar */
.footer-icon {
	font-size: 1.125rem;
	flex-shrink: 0;
}

@media (max-width: 576px) {
	.footer-icon {
		font-size: 1.25rem; /* Mobilde biraz daha büyük */
	}
}

/* Footer widgets wrap */
.footer-widgets-wrap {
	padding-bottom: 30px;
}

@media (max-width: 991px) {
	.footer-widgets-wrap {
		padding-bottom: 25px;
	}
}

@media (max-width: 576px) {
	.footer-widgets-wrap {
		padding-bottom: 20px;
	}
}

/* Copyright section */
.footer-copyright {
	padding-top: 20px;
	padding-bottom: 20px;
}

@media (max-width: 576px) {
	.footer-copyright {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

.copyright-text {
	font-size: 0.875rem;
	color: var(--bs-secondary-color);
	line-height: 1.6;
}

@media (max-width: 576px) {
	.copyright-text {
		font-size: 0.8125rem;
		display: block;
		padding: 0 15px;
	}
}

/* Footer padding optimizasyonu */
@media (max-width: 768px) {
	#footer .container {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 576px) {
	#footer .container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* Widget margin/padding optimizasyonu */
.footer-responsive .widget {
	margin-bottom: 0;
}

/* Footer link hover efekti - sadece desktop'ta */
@media (min-width: 992px) {
	.footer-link::after {
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 0;
		height: 2px;
		background-color: var(--cnvs-themecolor);
		transition: width 0.3s ease;
	}
	
	.footer-link:hover::after {
		width: 100%;
	}
	
	.footer-link:hover {
		padding-left: 0; /* Desktop'ta padding kaldır */
	}
}

/* Küçük ekranlarda footer başlıkları arası çizgi */
@media (max-width: 767px) {
	.footer-column:not(:last-child) {
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		padding-bottom: 1.5rem;
	}
}

/* Footer accessibility - focus states */
.footer-link:focus,
.footer-email:focus {
	outline: 2px solid var(--cnvs-themecolor);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Dark mode support için hazırlık */
@media (prefers-color-scheme: dark) {
	.footer-responsive {
		background-color: var(--bs-dark, #212529);
	}
	
	.footer-link,
	.footer-email,
	.copyright-text {
		color: rgba(255, 255, 255, 0.8);
	}
	
	.footer-link:hover,
	.footer-email:hover {
		color: rgba(255, 255, 255, 1);
	}
}


