/* ==========================================================================
   LaraWeb ortak tasarım katmanı
   Şablon CSS'lerinden (blue-theme, menu, responsive) SONRA yüklenir.
   ========================================================================== */

:root {
	--lw-abyss: #060d22;      /* en koyu zemin: hero, footer */
	--lw-deep: #0c1a3d;       /* koyu bölümler */
	--lw-line-dark: rgba(148, 178, 230, 0.16);
	--lw-cyan: #5cd0f0;       /* logodaki "LA" tonu; koyu zeminde vurgu */
	--lw-blue: #1d5fd0;       /* açık zeminde vurgu, bağlantı */
	--lw-brand: #0b3d91;      /* kurumsal mavi: butonlar */
	--lw-indigo: #2c3a92;     /* logodaki "EB" tonu */
	--lw-paper: #f3f6fb;      /* açık bölümler */
	--lw-white: #ffffff;
	--lw-ink: #0c1630;        /* açık zeminde metin */
	--lw-ink-soft: #4a5875;
	--lw-mist: #9fb0d0;       /* koyu zeminde ikincil metin */
	--lw-line: #dde4f0;

	--lw-font-display: 'Unbounded', 'Onest', system-ui, sans-serif;
	--lw-font-body: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;

	--lw-radius-sm: 8px;
	--lw-radius: 14px;
	--lw-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--lw-header-h: 84px;
}

/* --------------------------------------------------------------------------
   Tipografi
   -------------------------------------------------------------------------- */

html body,
html body #page,
html body .page {
	font-family: var(--lw-font-body);
	color: var(--lw-ink-soft);
}

html body h1,
html body h2,
html body h3,
html body h4,
html body #page h1,
html body #page h2,
html body #page h3,
html body #page h4 {
	font-family: var(--lw-font-display);
	color: var(--lw-ink);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

/* şablonun "beyaz metin" kapsayıcıları (koyu bantlar) */
html body #page .color--white h1,
html body #page .color--white h2,
html body #page .color--white h3,
html body #page .color--white h4,
html body #page .color--white h5,
html body #page .color--white h6 {
	color: var(--lw-white);
}

html body h5,
html body h6,
html body #page h5,
html body #page h6 {
	font-family: var(--lw-font-body);
	color: var(--lw-ink);
	font-weight: 600;
	letter-spacing: 0;
}

html body p,
html body li,
html body input,
html body textarea,
html body select,
html body button {
	font-family: var(--lw-font-body);
}

html body a {
	color: var(--lw-blue);
}

::selection {
	background: var(--lw-cyan);
	color: var(--lw-abyss);
}

:focus-visible {
	outline: 2px solid var(--lw-cyan);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Butonlar (yeni işaretleme: .lw-btn) + şablon butonlarının yumuşatılması
   -------------------------------------------------------------------------- */

.lw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 999px;
	font-family: var(--lw-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: background-color 0.35s var(--lw-ease), color 0.35s var(--lw-ease),
		border-color 0.35s var(--lw-ease), transform 0.35s var(--lw-ease);
	white-space: nowrap;
}

html body a.lw-btn:hover { text-decoration: none; }

.lw-btn--primary,
html body a.lw-btn--primary {
	background: var(--lw-brand);
	color: var(--lw-white);
}

.lw-btn--primary:hover,
html body a.lw-btn--primary:hover {
	background: var(--lw-blue);
	color: var(--lw-white);
}

/* koyu zeminde birincil buton: camgöbeği */
.lw-btn--glow,
html body a.lw-btn--glow {
	background: var(--lw-cyan);
	color: var(--lw-abyss);
}

.lw-btn--glow:hover,
html body a.lw-btn--glow:hover {
	background: var(--lw-white);
	color: var(--lw-abyss);
}

.lw-btn--ghost,
html body a.lw-btn--ghost {
	background: transparent;
	color: var(--lw-white);
	border-color: rgba(255, 255, 255, 0.35);
}

.lw-btn--ghost:hover,
html body a.lw-btn--ghost:hover {
	border-color: var(--lw-white);
	color: var(--lw-white);
}

.lw-btn--line,
html body a.lw-btn--line {
	background: transparent;
	color: var(--lw-ink);
	border-color: var(--lw-line);
}

.lw-btn--line:hover,
html body a.lw-btn--line:hover {
	border-color: var(--lw-ink);
	color: var(--lw-ink);
}

html body .btn {
	font-family: var(--lw-font-body);
	font-weight: 600;
	border-radius: 999px;
}

/* --------------------------------------------------------------------------
   Üst menü
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
	html body #header .wsmainfull {
		height: var(--lw-header-h);
		padding: 0;
		background: transparent;
		box-shadow: none;
		transition: background-color 0.4s var(--lw-ease), box-shadow 0.4s var(--lw-ease),
			backdrop-filter 0.4s var(--lw-ease);
	}

	html body #header .wsmainfull .wsmainwp {
		max-width: 960px;
		width: 100%;
		margin: 0 auto;
		padding: 0 12px;
		display: flex;
		align-items: center;
		height: 100%;
	}

	html body #header .wsmainfull.scroll {
		background: rgba(255, 255, 255, 0.82);
		-webkit-backdrop-filter: blur(16px) saturate(1.4);
		backdrop-filter: blur(16px) saturate(1.4);
		box-shadow: 0 1px 0 var(--lw-line);
	}

	html body #header .desktoplogo {
		padding: 0;
		display: flex;
		align-items: center;
		height: 100%;
	}

	html body #header .desktoplogo img {
		max-height: 32px;
	}

	/* açık zeminli sayfalarda her zaman koyu logo */
	html body #header .desktoplogo .logo-black { display: block; }
	html body #header .desktoplogo .logo-white { display: none; }

	html body #header .wsmenu {
		margin-left: auto;
		float: none;
	}

	html body #header .wsmenu > .wsmenu-list {
		display: flex;
		align-items: center;
		float: none;
	}

	html body #header .wsmenu > .wsmenu-list > li {
		float: none;
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-link {
		position: relative;
		font-family: var(--lw-font-body);
		font-size: 0.975rem;
		font-weight: 500;
		line-height: 1;
		color: var(--lw-ink);
		padding: 12px 16px;
		margin: 0;
		background: transparent;
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-link::after {
		content: "";
		position: absolute;
		left: 16px;
		right: 16px;
		bottom: 4px;
		height: 1.5px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 0.45s var(--lw-ease);
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-link:hover::after,
	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-link.is-current::after {
		transform: scaleX(1);
		transform-origin: left;
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-cta {
		margin-left: 10px;
		min-height: 46px;
		padding: 0 24px;
		font-size: 0.95rem;
	}

	html body #header .wsmenu > .wsmenu-list > li.lang-li .lang-switch {
		height: auto;
		padding: 0 6px 0 14px;
		color: var(--lw-ink);
		font-size: 0.85rem;
	}
}

@media (min-width: 1200px) {
	html body #header .wsmainfull .wsmainwp { max-width: 1140px; }
}

@media (min-width: 1400px) {
	html body #header .wsmainfull .wsmainwp { max-width: 1320px; }
}

/* Mobil üst çubuk */
@media (max-width: 991px) {
	/* şablon mobilde body'yi kaydırma kutusu yapıyor; normal sayfa kaydırmasını geri getir
	   (kaydırma olayları, iOS adres çubuğu ve bağlantı kaydırması düzgün çalışsın) */
	html {
		overflow: visible;
		height: auto;
	}

	body {
		height: auto;
		overflow-x: hidden;
		overflow-y: visible;
	}

	body.wsactive {
		overflow: hidden;
	}

	html body .wsmobileheader {
		background: rgba(255, 255, 255, 0.92);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
		box-shadow: 0 1px 0 var(--lw-line);
	}

	html body .wsmobileheader .smllogo img {
		max-height: 28px;
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-link {
		font-family: var(--lw-font-body);
		font-weight: 500;
		font-size: 1.05rem;
		color: var(--lw-ink);
	}

	html body #header .wsmenu > .wsmenu-list > li > a.lw-nav-cta {
		margin: 16px 22px;
		display: flex;
		width: auto;
		color: var(--lw-white);
	}
}

/* --------------------------------------------------------------------------
   Şablonun genel yükleme ekranı (ana sayfa dışındaki sayfalar)
   -------------------------------------------------------------------------- */

html body #loading {
	background: var(--lw-paper);
}

html body #loading #loading-center .loader {
	width: 44px;
	height: 44px;
	border: 2px solid var(--lw-line);
	border-top-color: var(--lw-brand);
	border-radius: 50%;
	animation: lw-spin 0.8s linear infinite;
}

@keyframes lw-spin {
	to { transform: rotate(360deg); }
}

/* --------------------------------------------------------------------------
   Footer (yeni işaretleme: .lw-footer)
   -------------------------------------------------------------------------- */

.lw-footer {
	position: relative;
	background: var(--lw-abyss);
	color: var(--lw-mist);
	padding: 96px 0 36px;
	overflow: hidden;
}

.lw-footer::before {
	content: "";
	position: absolute;
	inset: -40% -10% auto auto;
	width: 60vw;
	height: 60vw;
	background: radial-gradient(closest-side, rgba(92, 208, 240, 0.10), transparent 70%);
	pointer-events: none;
}

.lw-footer__top {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 48px;
	position: relative;
}

.lw-footer__brand img {
	height: 34px;
	width: auto;
	margin-bottom: 22px;
}

html body #page .lw-footer__brand p {
	max-width: 32ch;
	color: var(--lw-mist);
	font-size: 0.975rem;
	line-height: 1.65;
	margin: 0 0 24px;
}

html body #page .lw-footer a.lw-footer__mail {
	font-family: var(--lw-font-display);
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--lw-white);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	padding-bottom: 4px;
	transition: border-color 0.3s var(--lw-ease), color 0.3s var(--lw-ease);
}

html body #page .lw-footer a.lw-footer__mail:hover {
	color: var(--lw-cyan);
	border-color: var(--lw-cyan);
}

html body #page .lw-footer h6 {
	font-family: var(--lw-font-body);
	color: var(--lw-white);
	font-size: 0.95rem;
	font-weight: 600;
	margin: 6px 0 18px;
}

.lw-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lw-footer li {
	margin: 0 0 12px;
}

html body #page .lw-footer li a {
	color: var(--lw-mist);
	font-size: 0.95rem;
	text-decoration: none;
	transition: color 0.3s var(--lw-ease);
}

html body #page .lw-footer li a:hover {
	color: var(--lw-white);
}

.lw-footer__bottom {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 72px;
	padding-top: 28px;
	border-top: 1px solid var(--lw-line-dark);
	font-size: 0.875rem;
}

html body #page .lw-footer__bottom p {
	margin: 0;
	color: var(--lw-mist);
	font-size: 0.875rem;
}

@media (max-width: 991px) {
	.lw-footer__top {
		grid-template-columns: 1fr 1fr;
	}

	.lw-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 575px) {
	.lw-footer {
		padding-top: 72px;
	}

	.lw-footer__top {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

/* --------------------------------------------------------------------------
   İmleç takibi (js/laraweb.js ekler; yalnızca fare kullanan cihazlar)
   -------------------------------------------------------------------------- */

.lw-cursor,
.lw-cursor-dot {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	pointer-events: none;
	border-radius: 50%;
	mix-blend-mode: difference;
	opacity: 0;
	transition: opacity 0.3s ease;
	will-change: transform;
}

.lw-cursor {
	width: 38px;
	height: 38px;
	margin: -19px 0 0 -19px;
	border: 1.5px solid #fff;
	transition: opacity 0.3s ease, width 0.35s var(--lw-ease), height 0.35s var(--lw-ease),
		margin 0.35s var(--lw-ease), background-color 0.35s var(--lw-ease), border-color 0.35s var(--lw-ease);
}

.lw-cursor-dot {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	background: #fff;
}

.lw-cursor-on .lw-cursor,
.lw-cursor-on .lw-cursor-dot {
	opacity: 1;
}

.lw-cursor.is-hover {
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	background: rgba(255, 255, 255, 0.95);
	border-color: transparent;
}

.lw-cursor.is-down {
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
}

/* --------------------------------------------------------------------------
   Hareket azaltma tercihi
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.lw-cursor,
	.lw-cursor-dot {
		display: none;
	}

	html body *,
	html body *::before,
	html body *::after {
		scroll-behavior: auto !important;
	}
}

/* --------------------------------------------------------------------------
   Şablondan kalan mor/pembe zeminler ve renkler → marka renkleri
   -------------------------------------------------------------------------- */

html body .bg--01,
html body .bg--03,
html body .bg--05 {
	background-image:
		radial-gradient(60% 90% at 88% 10%, rgba(92, 208, 240, 0.22), transparent 70%),
		linear-gradient(135deg, var(--lw-deep) 0%, var(--lw-brand) 100%);
}

html body .bg--02,
html body .bg--04 {
	background-image: linear-gradient(180deg, var(--lw-paper) 0%, #eaf0f9 100%);
}

html body .color--violet-400,
html body .color--purple-400,
html body .color--pink-400 {
	color: var(--lw-blue) !important;
}

html body .bg--pink,
html body .bg--pink-400,
html body .bg--yellow-400 {
	background-color: var(--lw-brand) !important;
}
