/* =============================================================================
   EM Studio teması — ana stil dosyası
   Bölümler: 01 Fontlar · 02 Token · 03 Taban · 04 Yardımcılar · 05 Başlık
   06 Mobil menü · 07 Hero · 08 Özellikler · 09 CTA · 10 Hizmet ızgarası
   11 Bölüm başlığı · 12 Fiyat · 13 SSS · 14 Galeri · 15 SEO metni
   16 Form · 17 Blog · 18 Portfolyo · 19 Footer · 20 Yüzen ögeler · 21 Duyarlı
   ========================================================================== */

/* 01 — FONTLAR (yerel, harici istek yok) ---------------------------------- */
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('../fonts/figtree-var-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('../fonts/figtree-var-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 02 — TOKEN --------------------------------------------------------------- */
:root {
	/* renkler — canlı siteden ölçüldü */
	--ems-ink: #04052e;          /* hero başlık / üst başlık */
	--ems-indigo: #22007c;       /* CTA başlık ve metin */
	--ems-blue: #0d00a4;         /* info buton yazısı */
	--ems-lime: #aaff44;         /* birincil vurgu */
	--ems-lime-dark: #97ec31;
	--ems-title: #242424;
	--ems-text: #767676;
	--ems-nav: #333333;
	--ems-white: #ffffff;
	--ems-black: #000000;
	--ems-bg-soft: #f6f7f8;      /* üst bar / başlık zemini */
	--ems-bg-tint: #f1f3f8;      /* SEO metni bölümü */
	--ems-line: rgba(0, 0, 0, .08);
	--ems-line-soft: rgba(255, 255, 255, .12);

	/* özellik kartı ikon renkleri */
	--ems-ico-1: #6085cf;
	--ems-ico-2: #ffb717;
	--ems-ico-3: #cf6096;
	--ems-ico-4: #71be15;

	/* tipografi */
	--ems-font: 'Figtree', Arial, Helvetica, sans-serif;

	/* ölçü */
	--ems-container: 1600px;
	--ems-gutter: 15px;
	--ems-radius: 4px;
	--ems-radius-lg: 20px;
	--ems-header-h: 86px;
	--ems-topbar-h: 41px;
}

/* 03 — TABAN --------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ems-white);
	color: var(--ems-text);
	font-family: var(--ems-font);
	font-size: 15px;
	line-height: 1.6;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--ems-nav); text-decoration: none; transition: color .2s ease, background-color .2s ease, opacity .2s ease; }
a:hover { color: var(--ems-indigo); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	color: var(--ems-title);
	font-weight: 700;
	line-height: 1.4;
}
h1 { font-size: 46px; line-height: 1.4; }
h2 { font-size: 34px; }
h3 { font-size: 22px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

ul, ol { margin: 0 0 1em; padding-left: 1.2em; }

hr { border: 0; border-top: 1px solid var(--ems-line); margin: 30px 0; }

figure { margin: 0; }

:focus-visible { outline: 2px solid var(--ems-indigo); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: var(--ems-lime); color: var(--ems-ink);
	padding: 10px 18px; font-weight: 700;
}
.skip-link:focus { left: 10px; top: 10px; }

/* 04 — YARDIMCILAR --------------------------------------------------------- */
.ems-container {
	width: 100%;
	max-width: var(--ems-container);
	margin: 0 auto;
	padding: 0 var(--ems-gutter);
}

.ems-section { padding: 50px 0; }
.ems-section--tight { padding: 25px 0; }
.ems-section--tint { background: var(--ems-bg-tint); }

.ems-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 52px;
	border: 0;
	border-radius: var(--ems-radius);
	background: var(--ems-lime);
	color: var(--ems-indigo);
	font-family: inherit;
	font-size: 15px;
	line-height: 2;
	font-weight: 500;
	cursor: pointer;
	text-align: center;
}
.ems-btn:hover { background: var(--ems-lime-dark); color: var(--ems-indigo); }
.ems-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }

.ems-btn--dark { background: var(--ems-indigo); color: var(--ems-white); }
.ems-btn--dark:hover { background: var(--ems-ink); color: var(--ems-white); }

.ems-btn--outline {
	background: transparent;
	color: var(--ems-indigo);
	box-shadow: inset 0 0 0 1px currentColor;
}
.ems-btn--outline:hover { background: var(--ems-indigo); color: var(--ems-white); }

.ems-btn--ghost { background: transparent; color: var(--ems-title); }
.ems-btn--ghost:hover { background: transparent; color: var(--ems-indigo); }

/* çift satırlı büyük buton (Hemen Ara / İletişime Geç) */
.ems-btn-info {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
	min-width: 295px;
	padding: 11px 28px;
	border-radius: var(--ems-radius);
	background: var(--ems-lime);
	color: var(--ems-blue);
	line-height: 1.2;
}
.ems-btn-info:hover { background: var(--ems-lime-dark); color: var(--ems-blue); }
.ems-btn-info .ems-btn-info__text { font-size: 18px; font-weight: 400; display: inline-flex; align-items: center; gap: 8px; }
.ems-btn-info .ems-btn-info__sub { font-size: 16px; font-weight: 700; }
.ems-btn-info svg { width: 18px; height: 18px; }

.ems-btn-info--indigo { background: var(--ems-indigo); color: var(--ems-white); }
.ems-btn-info--indigo:hover { background: var(--ems-ink); color: var(--ems-white); }

/* metinsel bağlantı (Daha Fazla ›) */
.ems-link-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: inherit;
	font-size: 15px;
	line-height: 2;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}
.ems-link-more svg { width: 14px; height: 14px; transition: transform .25s ease; }
.ems-link-more:hover { color: inherit; }
.ems-link-more:hover svg { transform: translateX(4px); }

.ems-eyebrow {
	color: var(--ems-ink);
	font-size: 18px;
	line-height: 1.6;
	font-weight: 400;
	margin: 0 0 4px;
}

/* 05 — BAŞLIK -------------------------------------------------------------- */
.ems-header { position: relative; z-index: 400; }

.ems-topbar {
	background: var(--ems-bg-soft);
	border-bottom: 1px solid var(--ems-line);
	font-size: 12px;
}
.ems-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: var(--ems-topbar-h);
}
.ems-topbar ul {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ems-topbar li + li { margin-left: 20px; padding-left: 20px; border-left: 1px solid var(--ems-line); }
.ems-topbar a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ems-nav);
	font-size: 12px;
	line-height: 1.4;
	text-transform: capitalize;
}
.ems-topbar a:hover { color: rgba(51, 51, 51, .6); }
.ems-topbar svg { width: 15px; height: 15px; }

.ems-headerbar {
	background: var(--ems-bg-soft);
	border-bottom: 1px solid var(--ems-line);
}
.ems-headerbar.is-stuck {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 500;
	box-shadow: 0 2px 16px rgba(0, 0, 0, .08);
	animation: ems-slide-down .3s ease;
}
.admin-bar .ems-headerbar.is-stuck { top: 32px; }
@keyframes ems-slide-down {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}
.ems-headerbar__inner {
	display: flex;
	align-items: center;
	gap: 30px;
	min-height: var(--ems-header-h);
}

.ems-logo { flex: 0 0 auto; display: flex; align-items: center; }
.ems-logo img { width: auto; max-height: 47px; }
.ems-logo__text { font-size: 24px; font-weight: 800; color: var(--ems-ink); letter-spacing: -.02em; }

.ems-header__tools { margin-left: auto; display: flex; align-items: center; gap: 18px; }

.ems-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ems-nav);
	font-size: 14px;
	font-weight: 600;
	text-transform: capitalize;
}
.ems-header__cta:hover { color: var(--ems-indigo); }
.ems-header__cta svg { width: 18px; height: 18px; }

.ems-search-toggle,
.ems-burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ems-nav);
	cursor: pointer;
}
.ems-search-toggle svg, .ems-burger svg { width: 22px; height: 22px; }
.ems-burger { display: none; }

/* ana menü */
.ems-nav > ul {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ems-nav > ul > li { position: relative; }
.ems-nav > ul > li > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 32px 0;
	color: var(--ems-nav);
	font-size: 14px;
	line-height: 1.4;
	font-weight: 600;
	text-transform: capitalize;
}
.ems-nav > ul > li > a:hover,
.ems-nav > ul > li.current-menu-item > a,
.ems-nav > ul > li.current-menu-ancestor > a { color: var(--ems-indigo); }
.ems-nav__icon { display: inline-flex; }
.ems-nav__icon svg { width: 18px; height: 18px; }
.ems-nav__arrow { width: 10px; height: 10px; opacity: .6; }

/* açılır menü */
.ems-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	margin: 0;
	padding: 14px 0;
	list-style: none;
	background: var(--ems-white);
	border-radius: 0 0 var(--ems-radius) var(--ems-radius);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	z-index: 30;
}
.ems-nav li:hover > .sub-menu,
.ems-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ems-nav .sub-menu a {
	display: block;
	padding: 8px 24px;
	color: var(--ems-nav);
	font-size: 14px;
	line-height: 1.5;
}
.ems-nav .sub-menu a:hover { color: var(--ems-indigo); background: var(--ems-bg-soft); }

/* mega menü — tam genişlikte panel, üç sütun */
.ems-headerbar { position: relative; }
.ems-nav > ul > li.has-mega { position: static; }

.ems-mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 30;
	background: var(--ems-white);
	border-top: 1px solid var(--ems-line);
	box-shadow: 0 18px 40px rgba(4, 5, 46, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.ems-nav > ul > li.has-mega:hover > .ems-mega,
.ems-nav > ul > li.has-mega:focus-within > .ems-mega {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ems-mega__inner {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 34px;
	padding: 28px 0 24px;
}

/* Sol tanıtım kartı */
.ems-mega__promo {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 340px;
	padding: 26px;
	border-radius: var(--ems-radius-lg);
	overflow: hidden;
	background: var(--ems-ink);
	color: var(--ems-white);
	isolation: isolate;
}
.ems-mega__promo-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform .6s ease;
}
.ems-mega__promo::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(4, 5, 46, .92) 12%, rgba(4, 5, 46, .55) 55%, rgba(4, 5, 46, .15) 100%);
}
.ems-mega__promo:hover .ems-mega__promo-img { transform: scale(1.05); }
.ems-mega__promo-body { display: block; }
.ems-mega__promo-title {
	display: block;
	color: var(--ems-white);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}
.ems-mega__promo-text {
	display: block;
	margin: 8px 0 16px;
	color: rgba(255, 255, 255, .82);
	font-size: 13.5px;
	line-height: 1.6;
}
.ems-mega__promo-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: var(--ems-radius);
	background: var(--ems-lime);
	color: var(--ems-indigo);
	font-size: 14px;
	font-weight: 600;
}
.ems-mega__promo-btn svg { width: 15px; height: 15px; transition: transform .25s ease; }
.ems-mega__promo:hover .ems-mega__promo-btn svg { transform: translateX(4px); }

/* Hizmet ızgarası */
.ems-mega__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px 18px;
	align-content: start;
}
.ems-mega__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	border-radius: var(--ems-radius);
	position: relative;
}
.ems-mega__item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 12px;
	bottom: 12px;
	width: 3px;
	border-radius: 3px;
	background: var(--ems-lime);
	opacity: 0;
	transition: opacity .18s ease;
}
.ems-mega__item:hover { background: var(--ems-bg-tint); }
.ems-mega__item:hover::before { opacity: 1; }

.ems-mega__thumb {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--ems-bg-tint);
	color: var(--ems-indigo);
}
.ems-mega__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ems-mega__thumb svg { width: 22px; height: 22px; }

.ems-mega__body { min-width: 0; }
.ems-mega__title {
	display: block;
	color: var(--ems-title);
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.35;
}
.ems-mega__item:hover .ems-mega__title { color: var(--ems-indigo); }
.ems-mega__text {
	display: block;
	margin-top: 2px;
	color: var(--ems-text);
	font-size: 12.5px;
	line-height: 1.45;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Alt şerit */
.ems-mega__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 0 18px;
	border-top: 1px solid var(--ems-line);
}
.ems-mega__note { color: var(--ems-text); font-size: 13px; }
.ems-mega__actions { display: flex; align-items: center; gap: 22px; }
.ems-mega__phone,
.ems-mega__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ems-ink);
	font-size: 14px;
	font-weight: 700;
}
.ems-mega__phone svg, .ems-mega__all svg { width: 16px; height: 16px; }
.ems-mega__all { color: var(--ems-indigo); }
.ems-mega__all svg { transition: transform .25s ease; }
.ems-mega__all:hover svg { transform: translateX(4px); }

@media (max-width: 1200px) {
	.ems-mega__inner { grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
	.ems-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* arama katmanı */
.ems-searchbox {
	display: none;
	background: var(--ems-white);
	border-bottom: 1px solid var(--ems-line);
	padding: 22px 0;
}
.ems-searchbox.is-open { display: block; }
.ems-searchbox form { display: flex; gap: 10px; }
.ems-searchbox input[type="search"] {
	flex: 1 1 auto;
	padding: 14px 18px;
	border: 1px solid var(--ems-line);
	border-radius: var(--ems-radius);
	font-family: inherit;
	font-size: 15px;
}

/* 06 — MOBİL MENÜ ---------------------------------------------------------- */
.ems-drawer {
	position: fixed;
	inset: 0 auto 0 0;
	width: min(360px, 88vw);
	background: var(--ems-white);
	transform: translateX(-100%);
	transition: transform .3s ease;
	z-index: 900;
	overflow-y: auto;
	padding: 20px 0 40px;
	box-shadow: 0 0 40px rgba(0, 0, 0, .18);
}
.ems-drawer.is-open { transform: translateX(0); }
.ems-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px 16px;
	border-bottom: 1px solid var(--ems-line);
}
.ems-drawer__close {
	width: 40px; height: 40px;
	border: 0; background: none; cursor: pointer; color: var(--ems-nav);
}
.ems-drawer ul { list-style: none; margin: 0; padding: 0; }
.ems-drawer > ul > li,
.ems-drawer .ems-drawer__nav > li { border-bottom: 1px solid var(--ems-line); }
.ems-drawer a {
	display: block;
	padding: 13px 20px;
	color: var(--ems-nav);
	font-size: 15px;
	font-weight: 600;
}
.ems-drawer .sub-menu { display: none; background: var(--ems-bg-soft); }
.ems-drawer .sub-menu.is-open { display: block; }
.ems-drawer .sub-menu a { padding-left: 34px; font-weight: 400; font-size: 14px; }
.ems-drawer__toggle {
	position: absolute;
	right: 0; top: 0;
	width: 48px; height: 47px;
	border: 0; background: none; cursor: pointer; color: var(--ems-nav);
}
.ems-drawer li { position: relative; }
.ems-drawer__toggle svg { width: 14px; height: 14px; transition: transform .2s ease; margin: 0 auto; }
.ems-drawer__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ems-drawer__foot { padding: 20px; }

.ems-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s;
	z-index: 800;
}
.ems-overlay.is-open { opacity: 1; visibility: visible; }

body.ems-locked { overflow: hidden; }

/* 07 — HERO ---------------------------------------------------------------- */
.ems-hero { padding: 25px 0 0; }
.ems-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 660px) minmax(0, 500px);
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	min-height: 500px;
}
.ems-hero__title {
	margin: 0 0 18px;
	color: var(--ems-ink);
	font-size: 46px;
	line-height: 1.4;
	font-weight: 700;
}
.ems-hero__lead { position: relative; padding-top: 18px; margin-bottom: 26px; color: var(--ems-text); font-size: 16px; line-height: 1.6; }
.ems-hero__lead::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 46px; height: 3px;
	background: var(--ems-lime);
}
.ems-hero__lead strong { color: var(--ems-text); font-weight: 700; }
.ems-hero__actions { display: flex; flex-wrap: wrap; gap: 18px; }

/* kart galerisi — bir büyük görsel, yanında kayan küçük kartlar */
.ems-cards {
	position: relative;
	display: flex;
	gap: 12px;
	height: 500px;
	overflow: hidden;
}
.ems-cards__main { flex: 0 0 500px; height: 500px; }
.ems-cards__main img { width: 100%; height: 100%; object-fit: cover; }
.ems-cards__side { display: flex; flex-direction: column; gap: 12px; }
.ems-cards__side img { width: 200px; height: 200px; object-fit: cover; }

/* 08 — ÖZELLİK SERİSİ ------------------------------------------------------ */
.ems-features { background: var(--ems-white); padding: 25px 0; }
.ems-features__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.ems-feature {
	padding: 0 30px;
	text-align: center;
}
.ems-feature + .ems-feature { border-left: 1px solid var(--ems-line); }
.ems-feature__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px; height: 56px;
	margin-bottom: 20px;
	border-radius: 50%;
	color: var(--ems-white);
	background: var(--ems-ico-1);
}
.ems-feature__icon svg { width: 28px; height: 28px; }
.ems-feature:nth-child(2) .ems-feature__icon { background: var(--ems-ico-2); }
.ems-feature:nth-child(3) .ems-feature__icon { background: var(--ems-ico-3); }
.ems-feature:nth-child(4) .ems-feature__icon { background: var(--ems-ico-4); }
.ems-feature__sub { margin: 0 0 2px; font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--ems-text); }
.ems-feature__title { margin: 0 0 8px; font-size: 22px; line-height: 1.4; font-weight: 700; color: var(--ems-title); }
.ems-feature__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ems-text); }

/* 09 — CTA BANDI ----------------------------------------------------------- */
.ems-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 60px;
	padding-bottom: 60px;
}
.ems-cta__title { margin: 0 0 8px; color: var(--ems-indigo); font-size: 48px; line-height: 1.4; font-weight: 700; }
.ems-cta__text { margin: 0; color: var(--ems-indigo); font-size: 15px; line-height: 1.6; }
.ems-cta__action { flex: 0 0 auto; }

/* koyu zeminli varyant (footer üstü) */
.ems-cta--dark { background: var(--ems-black); }
.ems-cta--dark .ems-cta { padding-top: 70px; padding-bottom: 70px; }
.ems-cta--dark .ems-cta__title { color: var(--ems-white); font-size: 36px; }
.ems-cta--dark .ems-cta__text { color: rgba(255, 255, 255, .8); }

/* 10 — HİZMET IZGARASI ----------------------------------------------------- */
.ems-tiles {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}
.ems-tile {
	position: relative;
	display: block;
	aspect-ratio: 698 / 391;
	overflow: hidden;
	background: #1a1a1a;
	color: var(--ems-white);
}
.ems-tile img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}
.ems-tile::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, .05) 100%);
}
.ems-tile:hover img { transform: scale(1.06); }
.ems-tile__body {
	position: absolute;
	left: 0; bottom: 0;
	z-index: 2;
	padding: 30px;
	max-width: 470px;
}
.ems-tile__body > * { display: block; }
.ems-tile__title { margin: 0 0 6px; color: var(--ems-white); font-size: 22px; line-height: 1.4; font-weight: 700; }
.ems-tile__text { margin: 0 0 10px; color: var(--ems-lime); font-size: 15px; line-height: 1.6; }
.ems-tile .ems-link-more { display: inline-flex; }
.ems-tile .ems-link-more { color: var(--ems-white); }

/* 11 — BÖLÜM BAŞLIĞI ------------------------------------------------------- */
.ems-sectitle { margin-bottom: 30px; }
.ems-sectitle__sub { margin: 0 0 4px; color: var(--ems-title); font-size: 16px; line-height: 1.4; font-weight: 700; }
.ems-sectitle__title { margin: 0; color: var(--ems-title); font-size: 24px; line-height: 1.4; font-weight: 700; }
.ems-sectitle--center { text-align: center; }

.ems-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 50px;
	align-items: center;
}

.ems-blocktitle { margin-bottom: 26px; }
.ems-blocktitle__title { margin: 0 0 6px; color: var(--ems-ink); font-size: 34px; line-height: 1.4; font-weight: 700; }
.ems-blocktitle__after { margin: 0; color: var(--ems-text); font-size: 16px; line-height: 1.6; }
.ems-blocktitle--center { text-align: center; }

/* 12 — FİYAT TABLOSU ------------------------------------------------------- */
.ems-pricing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.ems-price {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 40px 36px;
	background: var(--ems-white);
	border: 1px solid rgba(19, 209, 70, .17);
	border-radius: var(--ems-radius-lg);
	overflow: hidden;
}
.ems-price__ribbon {
	position: absolute;
	top: 0; right: 0;
	padding: 14px 8px;
	background: var(--ems-lime);
	color: var(--ems-indigo);
	font-size: 12px;
	font-weight: 600;
	writing-mode: vertical-rl;
	border-radius: 0 var(--ems-radius-lg) 0 6px;
}
.ems-price__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px; height: 64px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--ems-lime);
	color: var(--ems-indigo);
}
.ems-price__icon svg { width: 30px; height: 30px; }
.ems-price__title { margin: 0 0 4px; color: var(--ems-title); font-size: 34px; line-height: 1.4; font-weight: 700; }
.ems-price__amount { margin: 0 0 18px; color: var(--ems-text); font-size: 15px; line-height: 1.6; }
.ems-price__amount b { color: var(--ems-title); font-size: 20px; font-weight: 700; }
.ems-price__list { margin: 0 0 24px; padding: 0; list-style: none; }
.ems-price__list li {
	position: relative;
	padding: 8px 0 8px 26px;
	border-bottom: 1px solid var(--ems-line);
	font-size: 15px;
	line-height: 1.6;
}
.ems-price__list li::before {
	content: '';
	position: absolute;
	left: 0; top: 15px;
	width: 14px; height: 8px;
	border-left: 2px solid var(--ems-lime);
	border-bottom: 2px solid var(--ems-lime);
	transform: rotate(-45deg);
}
.ems-price__foot { margin-top: auto; }

/* 13 — SSS ---------------------------------------------------------------- */
.ems-faq { border-top: 1px solid var(--ems-line); }
.ems-faq__item { border-bottom: 1px solid var(--ems-line); }
.ems-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 20px 0;
	border: 0;
	background: none;
	color: var(--ems-title);
	font-family: inherit;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}
.ems-faq__q svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 6px; transition: transform .25s ease; }
.ems-faq__q[aria-expanded="true"] svg { transform: rotate(180deg); }
.ems-faq__a { display: none; padding: 0 40px 26px 0; color: var(--ems-text); font-size: 15px; line-height: 1.6; }
.ems-faq__a.is-open { display: block; }

/* 14 — GALERİ / KAYDIRMALI ŞERİT ------------------------------------------ */
.ems-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.ems-gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--ems-radius); }

.ems-slider { position: relative; }
.ems-slider__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-ms-overflow-style: none;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.ems-slider__track::-webkit-scrollbar { display: none; }
.ems-slider__track > * {
	flex: 0 0 calc((100% - 40px) / 3);
	scroll-snap-align: start;
}
.ems-slider__track img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--ems-radius); }
.ems-slider__nav { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.ems-slider__btn {
	width: 40px; height: 40px;
	border: 1px solid var(--ems-line);
	border-radius: 50%;
	background: var(--ems-white);
	color: var(--ems-title);
	cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.ems-slider__btn:hover { background: var(--ems-lime); border-color: var(--ems-lime); color: var(--ems-indigo); }
.ems-slider__btn svg { width: 16px; height: 16px; }

/* 15 — SEO METNİ (katlanır) ------------------------------------------------ */
.ems-seotext { background: var(--ems-bg-tint); padding: 60px 0 40px; }
.ems-seotext__body {
	position: relative;
	max-height: 190px;
	overflow: hidden;
	transition: max-height .4s ease;
}
.ems-seotext__body::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 90px;
	background: linear-gradient(to bottom, rgba(241, 243, 248, 0), var(--ems-bg-tint));
	pointer-events: none;
}
.ems-seotext.is-open .ems-seotext__body { max-height: none; }
.ems-seotext.is-open .ems-seotext__body::after { display: none; }
.ems-seotext__body h2 { font-size: 26px; }
.ems-seotext__body h3 { font-size: 20px; }
.ems-seotext__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 0 0 2px;
	border: 0;
	border-bottom: 2px solid var(--ems-title);
	background: none;
	color: var(--ems-title);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
}

/* 16 — FORM ---------------------------------------------------------------- */
.ems-formwrap { background: var(--ems-white); }
.ems-formfaq {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 50px;
	align-items: start;
}
.ems-formfaq--single { grid-template-columns: minmax(0, 1fr); }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="search"], input[type="number"], input[type="date"], select, textarea {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid var(--ems-line);
	border-radius: var(--ems-radius);
	background: var(--ems-white);
	color: var(--ems-title);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
}
textarea { min-height: 130px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--ems-indigo); outline: none; }
button, input[type="submit"] { font-family: inherit; }

/* 17 — BLOG / ARŞİV -------------------------------------------------------- */
.ems-pagehead { padding: 46px 0 10px; }
.ems-pagehead__title { margin: 0 0 8px; color: var(--ems-ink); font-size: 40px; line-height: 1.3; font-weight: 700; }
.ems-pagehead__desc { margin: 0; color: var(--ems-text); font-size: 16px; }

.ems-breadcrumb { padding: 14px 0; font-size: 13px; color: var(--ems-text); }
.ems-breadcrumb a { color: var(--ems-text); }
.ems-breadcrumb a:hover { color: var(--ems-indigo); }
.ems-breadcrumb span + span::before { content: '/'; margin: 0 8px; opacity: .5; }

.ems-postgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 34px 30px;
}
.ems-postcard { display: flex; flex-direction: column; }
.ems-postcard__thumb {
	display: block;
	overflow: hidden;
	border-radius: var(--ems-radius);
	background: var(--ems-bg-soft);
	aspect-ratio: 720 / 460;
	margin-bottom: 16px;
}
.ems-postcard__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ems-postcard:hover .ems-postcard__thumb img { transform: scale(1.05); }
.ems-postcard__meta { color: var(--ems-text); font-size: 13px; margin-bottom: 6px; }
.ems-postcard__title { margin: 0 0 8px; font-size: 20px; line-height: 1.4; }
.ems-postcard__title a { color: var(--ems-title); }
.ems-postcard__title a:hover { color: var(--ems-indigo); }
.ems-postcard__excerpt { margin: 0 0 12px; font-size: 15px; }

.ems-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 46px; flex-wrap: wrap; }
.ems-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--ems-line);
	border-radius: var(--ems-radius);
	color: var(--ems-title);
	font-size: 14px; font-weight: 600;
}
.ems-pagination .page-numbers.current,
.ems-pagination .page-numbers:hover { background: var(--ems-lime); border-color: var(--ems-lime); color: var(--ems-indigo); }

/* tekil yazı */
.ems-single { padding: 40px 0 60px; }
.ems-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 50px; align-items: start; }
.ems-single__title { margin: 0 0 12px; color: var(--ems-ink); font-size: 40px; line-height: 1.3; }
.ems-single__meta { color: var(--ems-text); font-size: 14px; margin-bottom: 24px; }
.ems-single__thumb { margin-bottom: 30px; border-radius: var(--ems-radius); overflow: hidden; }

.ems-prose { color: var(--ems-text); font-size: 16px; line-height: 1.75; }
.ems-prose h2 { margin: 1.6em 0 .5em; font-size: 28px; color: var(--ems-title); }
.ems-prose h3 { margin: 1.4em 0 .5em; font-size: 22px; color: var(--ems-title); }
.ems-prose h4 { margin: 1.2em 0 .5em; font-size: 18px; color: var(--ems-title); }
.ems-prose a { color: var(--ems-indigo); text-decoration: underline; }
.ems-prose img { border-radius: var(--ems-radius); margin: 1em 0; }
.ems-prose blockquote {
	margin: 1.4em 0;
	padding: 18px 24px;
	border-left: 3px solid var(--ems-lime);
	background: var(--ems-bg-tint);
	color: var(--ems-title);
}
.ems-prose ul, .ems-prose ol { padding-left: 1.4em; }
.ems-prose li { margin-bottom: .4em; }
.ems-prose table { width: 100%; border-collapse: collapse; margin: 1.2em 0; }
.ems-prose th, .ems-prose td { padding: 10px 12px; border: 1px solid var(--ems-line); text-align: left; }

.ems-sidebar { position: sticky; top: 20px; }
.ems-widget { margin-bottom: 30px; padding: 24px; background: var(--ems-bg-tint); border-radius: var(--ems-radius); }
.ems-widget__title { margin: 0 0 14px; font-size: 16px; font-weight: 700; color: var(--ems-title); }
.ems-widget ul { list-style: none; margin: 0; padding: 0; }
.ems-widget li + li { margin-top: 10px; }

/* 18 — PORTFOLYO ----------------------------------------------------------- */
.ems-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.ems-filters a {
	display: inline-flex;
	padding: 9px 20px;
	border: 1px solid var(--ems-line);
	border-radius: 40px;
	color: var(--ems-title);
	font-size: 14px;
	font-weight: 600;
}
.ems-filters a:hover, .ems-filters a.is-active { background: var(--ems-lime); border-color: var(--ems-lime); color: var(--ems-indigo); }

.ems-projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.ems-project { position: relative; display: block; overflow: hidden; border-radius: var(--ems-radius); background: var(--ems-bg-soft); }
.ems-project img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.ems-project:hover img { transform: scale(1.05); }
.ems-project__body {
	position: absolute; inset: auto 0 0 0;
	padding: 22px;
	background: linear-gradient(to top, rgba(0, 0, 0, .78), rgba(0, 0, 0, 0));
	color: var(--ems-white);
}
.ems-project__title { margin: 0; font-size: 18px; font-weight: 700; color: var(--ems-white); }
.ems-project__cat { font-size: 13px; color: var(--ems-lime); }

/* 19 — FOOTER -------------------------------------------------------------- */
.ems-footer { background: var(--ems-black); color: rgba(255, 255, 255, .8); }
.ems-footer a { color: rgba(255, 255, 255, .9); }
.ems-footer a:hover { color: var(--ems-lime); }

.ems-footer__main {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1.25fr 1.25fr;
	gap: 40px;
	padding: 60px 0;
	border-top: 1px solid var(--ems-line-soft);
}
.ems-footer__col + .ems-footer__col { padding-left: 40px; border-left: 1px solid var(--ems-line-soft); }
.ems-footer__logo { margin-bottom: 18px; }
.ems-footer__logo img { max-height: 40px; width: auto; filter: brightness(0) invert(1); }
.ems-footer__about { margin: 0 0 18px; font-size: 15px; line-height: 1.6; max-width: 280px; }
.ems-footer__phone {
	display: inline-block;
	color: var(--ems-white);
	font-size: 34px;
	line-height: 1.3;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ems-lime);
}
.ems-footer__phone:hover { color: var(--ems-lime); }
.ems-footer__phonelabel { margin: 10px 0 20px; font-size: 15px; }
.ems-footer__title { margin: 0 0 20px; color: var(--ems-white); font-size: 16.5px; line-height: 1.4; font-weight: 700; text-transform: uppercase; }
.ems-footer__menu { list-style: none; margin: 0; padding: 0; }
.ems-footer__menu li + li { margin-top: 14px; }
.ems-footer__menu a { font-size: 14px; line-height: 1.6; text-transform: capitalize; }

.ems-social { display: flex; gap: 14px; }
.ems-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	color: var(--ems-white);
}
.ems-social svg { width: 20px; height: 20px; }
.ems-social a:hover { color: var(--ems-lime); }

.ems-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 25px 0;
	border-top: 1px solid var(--ems-line-soft);
	font-size: 14px;
}
.ems-footer__bottom ul { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }

/* 20 — YÜZEN ÖGELER + ÇEREZ TERCİHLERİ ------------------------------------
   Yapı ve davranış fortiweld-theme (elenvi) ile birebir; renkler EM Studio
   tokenlarına eşlendi, Tabler ikon fontu yerine tema inline SVG'leri kullanılır.
   Bileşenler: template-parts/{cookie-banner,whatsapp-widget}.php
   Davranış: assets/js/main.js → initCookie() / initWhatsApp()
-------------------------------------------------------------------------- */

/* ============================================================
   COOKIE CONSENT BANNER
   ============================================================ */
.ems-cookie {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 1120px;
  margin: 0 auto;
  background: var(--ems-white);
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  padding: 22px 26px;
  box-shadow: 0 24px 60px rgba(26, 26, 26, 0.18), 0 0 0 1px rgba(0,0,0,0.02);
  z-index: 1000;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  transform: translateY(150%);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 0;
}
.ems-cookie.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.ems-cookie__content {
  display: flex;
  gap: 16px;
  align-items: start;
}
.ems-cookie__icon {
  width: 46px;
  height: 46px;
  background: var(--ems-bg-tint);
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ems-cookie__icon svg {
  width: 25px; height: 25px;
  color: var(--ems-indigo);
}
.ems-cookie__text {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ems-text);
}
.ems-cookie__text strong {
  color: var(--ems-title);
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  margin-bottom: 4px;
  letter-spacing: -0.2px;
}
.ems-cookie__text a {
  color: var(--ems-indigo);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ems-cookie__text a:hover { color: var(--ems-indigo); }
.ems-cookie__actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  align-items: center;
}
.ems-cookie__actions .ems-btn {
  padding: 10px 16px;
  font-size: 13px;
}

/* Cookie Settings Modal */
.ems-cookiemodal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.ems-cookiemodal.is-open {
  opacity: 1;
  visibility: visible;
}
.ems-cookiemodal__box {
  background: var(--ems-white);
  border-radius: 16px;
  max-width: 580px;
  width: 100%;
  max-height: 88vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: scale(0.94) translateY(20px);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 24px 60px rgba(0,0,0,0.25);
}
.ems-cookiemodal.is-open .ems-cookiemodal__box { transform: scale(1) translateY(0); }
.ems-cookiemodal__head {
  padding: 24px 28px;
  border-bottom: 1px solid var(--ems-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.ems-cookiemodal__head h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--ems-title);
  letter-spacing: -0.5px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ems-cookiemodal__head h3 svg { color: var(--ems-indigo); width: 22px; height: 22px; }
.ems-cookiemodal__close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ems-bg-tint);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ems-title);
  transition: all 0.2s;
  font-family: inherit;
}
.ems-cookiemodal__close:hover { background: var(--ems-title); color: #fff; }
.ems-cookiemodal__close svg { width: 18px; height: 18px; }

.ems-cookiemodal__body {
  padding: 22px 28px;
  overflow-y: auto;
  flex: 1;
}
.ems-cookiemodal__intro {
  font-size: 13.5px;
  color: var(--ems-text);
  line-height: 1.65;
  margin-bottom: 22px;
}

.ems-cookiecat {
  border: 1px solid var(--ems-line);
  border-radius: 11px;
  padding: 18px;
  margin-bottom: 12px;
  transition: border-color 0.2s;
}
.ems-cookiecat:hover { border-color: var(--ems-line); }
.ems-cookiecat__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
}
.ems-cookiecat__title {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ems-title);
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: -0.2px;
  flex-wrap: wrap;
}
.ems-cookiecat__req {
  font-size: 10px;
  font-family: var(--ems-font);
  background: var(--ems-bg-tint);
  color: var(--ems-text);
  padding: 3px 9px;
  border-radius: 4px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  font-weight: 500;
}
.ems-cookiecat__desc {
  font-size: 12.5px;
  color: var(--ems-text);
  line-height: 1.55;
}

/* Toggle Switch */
.ems-switch {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}
.ems-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.ems-switch__slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--ems-line);
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.25s;
}
.ems-switch__slider::before {
  content: '';
  position: absolute;
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: white;
  border-radius: 50%;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.ems-switch input:checked + .ems-switch__slider { background: var(--ems-indigo); }
.ems-switch input:checked + .ems-switch__slider::before { transform: translateX(20px); }
.ems-switch input:disabled + .ems-switch__slider { opacity: 0.6; cursor: not-allowed; }

.ems-cookiemodal__foot {
  padding: 20px 28px;
  border-top: 1px solid var(--ems-line);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-shrink: 0;
  background: var(--ems-bg-soft);
}
.ems-cookiemodal__foot-left { display: flex; gap: 8px; flex-wrap: wrap; }
.ems-cookiemodal__foot .ems-btn { padding: 11px 18px; font-size: 13px; }

/* Floating reopener button */
.ems-cookiebtn {
  position: fixed;
  bottom: 20px;
  left: 20px;
  width: 46px;
  height: 46px;
  background: var(--ems-white);
  border: 1px solid var(--ems-line);
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  box-shadow: 0 6px 18px rgba(26, 26, 26, 0.12);
  transition: all 0.25s;
  font-family: inherit;
}
.ems-cookiebtn.is-visible { display: flex; }
.ems-cookiebtn:hover {
  border-color: var(--ems-indigo);
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(217, 119, 6, 0.18);
}
.ems-cookiebtn svg { width: 22px; height: 22px; color: var(--ems-title); transition: color 0.2s; }
.ems-cookiebtn:hover svg { color: var(--ems-indigo); }

/* Saved indication */
.ems-cookietoast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: var(--ems-title);
  color: #fff;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  z-index: 3000;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.ems-cookietoast.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.ems-cookietoast svg { color: #1d9e75; width: 18px; height: 18px; }

@media (max-width: 720px) {
  .ems-cookie {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 20px;
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .ems-cookie__actions {
    flex-direction: column;
    width: 100%;
  }
  .ems-cookie__actions .ems-btn {
    width: 100%;
    justify-content: center;
  }
  .ems-cookiemodal__foot { flex-direction: column; }
  .ems-cookiemodal__foot .ems-btn { width: 100%; justify-content: center; }
  .ems-cookiemodal__foot-left {
    width: 100%;
    flex-direction: column;
  }
  .ems-cookiebtn { width: 42px; height: 42px; bottom: 14px; left: 14px; }
  .ems-cookietoast { left: 14px; right: 14px; bottom: 14px; }
}

/* ============================================================
   WHATSAPP FLOATING WIDGET
   ============================================================ */

.ems-float__wa {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 58px;
  height: 58px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  z-index: 900;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  font-family: inherit;
}
.ems-float__wa:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.5);
}
.ems-float__wa svg {
  width: 32px; height: 32px;
  color: #fff;
  z-index: 2;
}

/* Pulsing ring */
.ems-float__wa::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25D366;
  z-index: 1;
  animation: wa-pulse 2.4s infinite;
}
@keyframes wa-pulse {
  0% { transform: scale(1); opacity: 0.55; }
  100% { transform: scale(1.6); opacity: 0; }
}
.ems-float__wa.is-expanded::before { animation: none; opacity: 0; }

/* Tooltip on hover */
.ems-float__tip {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--ems-title);
  color: #fff;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s;
  pointer-events: none;
  z-index: 3;
}
.ems-float__tip::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: var(--ems-title);
}
.ems-float__wa:hover .ems-float__tip {
  opacity: 1;
  visibility: visible;
  right: calc(100% + 10px);
}
.ems-float__wa.is-expanded .ems-float__tip { display: none; }

/* Expanded chat card */
.ems-wa {
  position: fixed;
  bottom: 100px;
  right: 24px;
  width: 350px;
  max-width: calc(100vw - 32px);
  background: var(--ems-bg-soft);
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(0,0,0,0.04);
  z-index: 901;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.94);
  transform-origin: bottom right;
  transition: all 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}
.ems-wa.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.ems-wa__head {
  background: linear-gradient(135deg, #128C7E 0%, #25D366 100%);
  color: #fff;
  padding: 18px 16px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.ems-wa__avatar {
  width: 46px;
  height: 46px;
  background: rgba(255,255,255,0.18);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}
.ems-wa__avatar svg { width: 24px; height: 24px; color: #fff; }
.ems-wa__avatar::after {
  content: '';
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 12px;
  height: 12px;
  background: #4ade80;
  border-radius: 50%;
  border: 2px solid #128C7E;
}
.ems-wa__info { flex: 1; min-width: 0; }
.ems-wa__name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.2px;
}
.ems-wa__status {
  font-size: 11.5px;
  opacity: 0.92;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
}
.ems-wa__status::before {
  content: '';
  width: 7px;
  height: 7px;
  background: #4ade80;
  border-radius: 50%;
  animation: wa-status-pulse 2s infinite;
  box-shadow: 0 0 0 0 #4ade80;
}
@keyframes wa-status-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
.ems-wa__close {
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,0.15);
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  font-family: inherit;
  flex-shrink: 0;
}
.ems-wa__close:hover { background: rgba(255,255,255,0.3); }
.ems-wa__close svg { width: 17px; height: 17px; }

/* Chat body with WhatsApp-like background */
.ems-wa__body {
  background: #ECE5DD;
  padding: 20px 16px 12px;
  position: relative;
  max-height: 360px;
  overflow-y: auto;
}

.ems-wa__msg {
  background: #fff;
  padding: 12px 14px;
  border-radius: 0 12px 12px 12px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ems-title);
  box-shadow: 0 1px 1px rgba(0,0,0,0.08);
  max-width: 90%;
  margin-bottom: 14px;
  position: relative;
}
.ems-wa__msg strong {
  color: #128C7E;
  font-weight: 700;
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
  letter-spacing: -0.1px;
}
.ems-wa__time {
  font-size: 10px;
  color: #999;
  text-align: right;
  margin-top: 6px;
  font-family: var(--ems-font);
  letter-spacing: 0.5px;
}

/* Quick reply chips */
.ems-wa__quick {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}
.ems-wa__quick-label {
  font-size: 10.5px;
  color: #777;
  font-family: var(--ems-font);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 500;
}
.ems-wa__reply {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.04);
  padding: 11px 14px;
  text-align: left;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--ems-title);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  font-weight: 500;
}
.ems-wa__reply:hover {
  background: #128C7E;
  color: #fff;
  transform: translateX(2px);
}
.ems-wa__reply svg {
  width: 17px; height: 17px;
  color: #25D366;
  transition: color 0.2s;
  flex-shrink: 0;
}
.ems-wa__reply:hover svg { color: #fff; }

.ems-wa__foot {
  padding: 14px 16px 12px;
  background: var(--ems-bg-soft);
  border-top: 1px solid var(--ems-line);
}
.ems-wa__cta {
  width: 100%;
  background: #25D366;
  color: #fff;
  border: none;
  padding: 13px 16px;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.2s;
  text-decoration: none;
  letter-spacing: -0.1px;
}
.ems-wa__cta:hover { background: #128C7E; }
.ems-wa__cta svg { width: 19px; height: 19px; }
.ems-wa__note {
  text-align: center;
  font-size: 10.5px;
  color: var(--ems-text);
  margin-top: 9px;
  font-family: var(--ems-font);
  letter-spacing: 0.6px;
}

/* When cookie banner is visible, push WhatsApp up */
.ems-cookie.is-visible ~ .ems-float__wa { bottom: 150px; }
.ems-cookie.is-visible ~ .ems-wa { bottom: 226px; }

@media (max-width: 720px) {
  .ems-cookie.is-visible ~ .ems-float__wa { bottom: 280px; }
  .ems-cookie.is-visible ~ .ems-wa { bottom: 356px; }
}

@media (max-width: 480px) {
  .ems-float__wa {
    width: 52px;
    height: 52px;
    bottom: 18px;
    right: 18px;
  }
  .ems-float__wa svg { width: 28px; height: 28px; }
  .ems-wa {
    bottom: 86px;
    right: 14px;
    left: 14px;
    width: auto;
  }
}

/* Telefon düğmesi — Fortiweld'de yok, EM Studio'ya özgü; WhatsApp düğmesiyle
   aynı ölçüde, onun üstünde durur. */
.ems-float__tel {
	position: fixed;
	right: 24px;
	bottom: 104px;
	z-index: 998;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: var(--ems-indigo);
	border-radius: 50%;
	color: var(--ems-white);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
	transition: transform .2s ease, background .2s ease;
}
.ems-float__tel:hover { background: var(--ems-ink); color: var(--ems-white); transform: scale(1.06); }
.ems-float__tel svg { width: 26px; height: 26px; }
.ems-float__tel .ems-float__tip { right: 74px; }
.ems-float__tel:hover .ems-float__tip { opacity: 1; visibility: visible; }
.ems-cookie.is-visible ~ .ems-float__tel { bottom: 236px; }

@media (max-width: 480px) {
	.ems-float__tel { width: 52px; height: 52px; right: 18px; bottom: 88px; }
	.ems-float__tel svg { width: 24px; height: 24px; }
}

/* 21 — DUYARLI ------------------------------------------------------------- */
@media (max-width: 1200px) {
	.ems-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); }
	.ems-cards { height: 420px; }
	.ems-cards__main { flex-basis: 420px; height: 420px; }
	.ems-cards__side img { width: 165px; height: 165px; }
	.ems-cta__title { font-size: 38px; }
	.ems-footer__main { grid-template-columns: 1fr 1fr; gap: 34px; }
	.ems-footer__col + .ems-footer__col { padding-left: 0; border-left: 0; }
}

@media (max-width: 1024px) {
	.ems-nav, .ems-header__cta span { display: none; }
	.ems-burger { display: inline-flex; }
	.ems-hero__inner { grid-template-columns: 1fr; min-height: 0; }
	.ems-cards { height: auto; }
	.ems-cards__main { flex-basis: auto; height: auto; }
	.ems-cards__side { display: none; }
	.ems-features__grid { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
	.ems-feature:nth-child(odd) { border-left: 0; }
	.ems-feature:nth-child(3) { border-left: 0; }
	.ems-pricing { grid-template-columns: 1fr; }
	.ems-intro { grid-template-columns: 1fr; gap: 30px; }
	.ems-formfaq { grid-template-columns: 1fr; gap: 40px; }
	.ems-postgrid, .ems-projects { grid-template-columns: repeat(2, 1fr); }
	.ems-single__layout { grid-template-columns: 1fr; }
	.ems-slider__track > * { flex-basis: calc((100% - 20px) / 2); }
	.ems-topbar { display: none; }
}

@media (max-width: 782px) {
	/* Başlık çubuğu dar ekranda taşmasın. */
	.ems-headerbar__inner { gap: 12px; min-height: 68px; }
	.ems-header__tools { gap: 6px; }
	.ems-logo img { max-height: 34px; }
	.ems-search-toggle, .ems-burger { width: 36px; height: 36px; }
	.ems-header__cta svg { width: 20px; height: 20px; }

	h1 { font-size: 32px; }
	.ems-hero__title { font-size: 32px; }
	.ems-hero__actions { flex-direction: column; }
	.ems-btn-info { width: 100%; min-width: 0; }
	.ems-cta { flex-direction: column; align-items: flex-start; padding: 40px 0; }
	.ems-cta__title { font-size: 30px; }
	.ems-cta--dark .ems-cta__title { font-size: 28px; }
	.ems-tiles { grid-template-columns: 1fr; }
	.ems-features__grid { grid-template-columns: 1fr; }
	.ems-feature { border-left: 0 !important; padding: 0 10px; }
	.ems-gallery { grid-template-columns: repeat(2, 1fr); }
	.ems-postgrid, .ems-projects { grid-template-columns: 1fr; }
	.ems-slider__track > * { flex-basis: 78%; }
	.ems-faq__q { font-size: 18px; }
	.ems-single__title, .ems-pagehead__title { font-size: 28px; }
	.ems-footer__main { grid-template-columns: 1fr; padding: 40px 0; }
	.ems-footer__bottom { flex-direction: column; align-items: flex-start; }
	.ems-footer__bottom ul { flex-wrap: wrap; gap: 16px; }
}

/* 22 — ESKİ BLOK UYUMU ------------------------------------------------------
   Politika ve bazı kurumsal sayfaların içeriği hâlâ Woodmart (wd/*) ve
   Qi Blocks (qi-blocks/*) blok işaretlemesiyle kayıtlı. Blok HTML'i statik
   olarak veritabanında durduğu için eklentiler kaldırıldığında metin kaybolmaz,
   yalnızca biçimi gider. Bu bölüm o işaretlemeye tema tipografisini uygular.
   Not: içerik yeni şablonlara taşındıkça bu bölüm küçültülebilir.
   ------------------------------------------------------------------------ */

.ems-page-content .wp-block-wd-container,
.ems-page-content .wp-block-qi-blocks-columns { display: block; margin: 0 0 26px; }

.ems-page-content .wp-block-wd-container { padding: 0; }

.ems-page-content .wp-block-wd-title,
.ems-page-content .qodef-m-title {
	margin: 1.6em 0 .5em;
	color: var(--ems-title);
	font-size: 28px;
	line-height: 1.4;
	font-weight: 700;
}
.ems-page-content .wp-block-wd-title:first-child,
.ems-page-content .qodef-m-title:first-child { margin-top: 0; }

.ems-page-content h3.wp-block-wd-title,
.ems-page-content h3.qodef-m-title { font-size: 22px; }
.ems-page-content h4.wp-block-wd-title { font-size: 18px; }

.ems-page-content .qodef-m-subtitle {
	margin: 0 0 6px;
	color: var(--ems-text);
	font-size: 16px;
	font-weight: 700;
}

.ems-page-content .wp-block-wd-paragraph,
.ems-page-content .qodef-m-text { margin: 0 0 1em; font-size: 16px; line-height: 1.75; }

.ems-page-content .wp-block-wd-list { margin: 0 0 1em; padding-left: 1.4em; }
.ems-page-content .wp-block-wd-list-item { margin-bottom: .4em; }

.ems-page-content .wp-block-wd-row,
.ems-page-content .qodef-gutenberg-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 30px;
}
.ems-page-content .wp-block-wd-column,
.ems-page-content .qodef-gutenberg-column { min-width: 0; }

.ems-page-content .wp-block-wd-image img,
.ems-page-content .wd-block-image img,
.ems-page-content .wp-block-wd-gallery-item img,
.ems-page-content .qodef-e-image img { width: 100%; height: auto; border-radius: var(--ems-radius); }

.ems-page-content .wp-block-wd-infobox,
.ems-page-content .wp-block-qi-blocks-info-box {
	padding: 26px;
	background: var(--ems-bg-tint);
	border-radius: var(--ems-radius-lg);
}

.ems-page-content .wp-block-wd-icon,
.ems-page-content .qodef-m-icon { display: inline-flex; margin-bottom: 10px; }
.ems-page-content .wp-block-wd-icon img,
.ems-page-content .qodef-m-icon img,
.ems-page-content .qodef-m-icon svg { width: 28px; height: 28px; }

.ems-page-content .wp-block-wd-button,
.ems-page-content .wp-block-qi-blocks-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ems-indigo);
	font-weight: 600;
	border-bottom: 1px solid currentColor;
}

.ems-page-content .qodef-section-background-overlay,
.ems-page-content .qodef-m-fake-card { display: none; }

/* Marquee / dekoratif akan şeritler tek satıra indirilir. */
.ems-page-content .wp-block-wd-marquee-item { display: inline-block; margin-right: 24px; }

/* 23 — REZERVASYON & İLETİŞİM ---------------------------------------------- */
.ems-booking {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: start;
}
.ems-booking__aside { position: sticky; top: 20px; }

.ems-contact-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 20px;
}
.ems-contact-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 26px;
	background: var(--ems-bg-tint);
	border-radius: var(--ems-radius-lg);
	color: var(--ems-title);
}
.ems-contact-card:hover { background: var(--ems-lime); color: var(--ems-indigo); }
.ems-contact-card__icon { display: inline-flex; margin-bottom: 10px; }
.ems-contact-card__icon svg { width: 26px; height: 26px; }
.ems-contact-card__label { font-size: 13px; color: var(--ems-text); }
.ems-contact-card:hover .ems-contact-card__label { color: inherit; }
.ems-contact-card__value { font-size: 18px; font-weight: 700; }

@media (max-width: 1024px) {
	.ems-booking { grid-template-columns: 1fr; }
	.ems-booking__aside { position: static; }
}

/* 24 — ERES FORM & ERES BOOKING MARKA UYUMU -------------------------------
   Eklentiler CSS değişkeni sunuyor; tema renklerini oraya aktarıyoruz. */
:root,
.erf-form,
.eres-form,
.erbk,
.erbk-widget {
	--erf-primary: var(--ems-indigo);
	--erf-primary-700: var(--ems-ink);
	--erf-primary-soft: rgba(34, 0, 124, .08);
	--erf-accent: var(--ems-lime);
	--erf-indigo: var(--ems-indigo);
	--erf-indigo-soft: rgba(34, 0, 124, .08);
	--erf-radius: var(--ems-radius);
	--erf-control-radius: var(--ems-radius);
	--erf-border: var(--ems-line);
	--erf-line: var(--ems-line);
	--erf-muted: var(--ems-text);
	--erf-card: var(--ems-white);
	--erf-bg: var(--ems-white);
}

/* Gönder düğmeleri tema butonuna benzesin. */
.ems-formwrap button[type="submit"],
.ems-formwrap input[type="submit"],
.ems-booking button[type="submit"] {
	background: var(--ems-lime);
	color: var(--ems-indigo);
	border: 0;
	border-radius: var(--ems-radius);
	padding: 14px 40px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.ems-formwrap button[type="submit"]:hover,
.ems-booking button[type="submit"]:hover { background: var(--ems-lime-dark); }

/* Eski galeri / marquee blokları: dikey yığılma yerine ızgara. */
.ems-page-content .wp-block-wd-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	margin: 0 0 30px;
}
.ems-page-content .wp-block-wd-gallery-item { margin: 0; }
.ems-page-content .wp-block-wd-gallery-item img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: var(--ems-radius);
}
.ems-page-content .wp-block-wd-marquee {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	align-items: center;
	margin: 0 0 30px;
}
.ems-page-content .wp-block-wd-marquee-item img { max-height: 46px; width: auto; }
.ems-page-content .wp-block-wd-image img { max-height: 620px; width: 100%; object-fit: cover; }
.ems-page-content .wp-block-wd-section { display: block; margin: 0 0 26px; }

/* 25 — KARİYER İLANLARI ---------------------------------------------------- */
.ems-jobs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 26px;
}
.ems-job {
	display: flex;
	flex-direction: column;
	padding: 32px;
	background: var(--ems-white);
	border: 1px solid var(--ems-line);
	border-radius: var(--ems-radius-lg);
}
.ems-job__title { margin: 0 0 14px; color: var(--ems-title); font-size: 24px; line-height: 1.35; }
.ems-job__meta { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.ems-job__meta li {
	padding: 5px 14px;
	background: var(--ems-bg-tint);
	border-radius: 40px;
	color: var(--ems-title);
	font-size: 13px;
	font-weight: 600;
}
.ems-job__desc { margin-bottom: 22px; font-size: 15px; line-height: 1.7; }
.ems-job .ems-btn { align-self: flex-start; margin-top: auto; }
.ems-job__note { margin: 10px 0 0; font-size: 13px; color: var(--ems-text); }

/* 26 — PORTFOLYO MEGA MENÜSÜ ------------------------------------------------
   Üç bölge: öne çıkan çalışma · kategoriler · son eklenenler. */
.ems-folio-panel {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr) 250px;
	gap: 34px;
	padding: 26px 0 22px;
}

.ems-mega__heading {
	display: block;
	margin-bottom: 14px;
	color: var(--ems-text);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

/* Öne çıkan çalışma */
.ems-folio-feat {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 290px;
	padding: 22px;
	border-radius: var(--ems-radius-lg);
	overflow: hidden;
	background: linear-gradient(135deg, var(--ems-ink), var(--ems-indigo));
	color: var(--ems-white);
	isolation: isolate;
}
.ems-folio-feat img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform .6s ease;
}
.ems-folio-feat::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(4, 5, 46, .92) 15%, rgba(4, 5, 46, .35) 65%, rgba(4, 5, 46, 0) 100%);
}
.ems-folio-feat:hover img { transform: scale(1.05); }
.ems-folio-feat__tag {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 5px 12px;
	border-radius: 40px;
	background: var(--ems-lime);
	color: var(--ems-indigo);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.ems-folio-feat__body { display: block; }
.ems-folio-feat__cat {
	display: block;
	color: var(--ems-lime);
	font-size: 12.5px;
	font-weight: 600;
}
.ems-folio-feat__title {
	display: block;
	margin: 4px 0 12px;
	color: var(--ems-white);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
.ems-folio-feat__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ems-white);
	font-size: 13.5px;
	font-weight: 600;
	border-bottom: 1px solid rgba(255, 255, 255, .5);
	padding-bottom: 2px;
}
.ems-folio-feat__link svg { width: 14px; height: 14px; transition: transform .25s ease; }
.ems-folio-feat:hover .ems-folio-feat__link svg { transform: translateX(4px); }

/* Kategoriler */
.ems-folio-cats__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px 16px;
	align-content: start;
}
.ems-folio-cat {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px 8px 8px;
	border-radius: var(--ems-radius);
}
.ems-folio-cat::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 3px;
	background: var(--ems-lime);
	opacity: 0;
	transition: opacity .18s ease;
}
.ems-folio-cat:hover { background: var(--ems-bg-tint); }
.ems-folio-cat:hover::before { opacity: 1; }
.ems-folio-cat__thumb {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 10px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--ems-ink), var(--ems-indigo));
}
.ems-folio-cat__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ems-folio-cat__name {
	flex: 0 1 auto;
	min-width: 0;
	color: var(--ems-title);
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.35;
}
.ems-folio-cat:hover .ems-folio-cat__name { color: var(--ems-indigo); }
.ems-folio-cat__count {
	flex: 0 0 auto;
	margin-left: 2px;
	min-width: 24px;
	padding: 2px 8px;
	border-radius: 40px;
	background: var(--ems-bg-tint);
	color: var(--ems-text);
	font-size: 11.5px;
	font-weight: 600;
	text-align: center;
}
.ems-folio-cat:hover .ems-folio-cat__count { background: var(--ems-lime); color: var(--ems-indigo); }

/* Son eklenenler */
.ems-folio-recent { border-left: 1px solid var(--ems-line); padding-left: 26px; }
.ems-folio-mini {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
}
.ems-folio-mini + .ems-folio-mini { border-top: 1px solid var(--ems-line); }
.ems-folio-mini__thumb {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ems-bg-tint);
}
.ems-folio-mini__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ems-folio-mini__body { min-width: 0; }
.ems-folio-mini__title {
	display: block;
	color: var(--ems-title);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
}
.ems-folio-mini:hover .ems-folio-mini__title { color: var(--ems-indigo); }
.ems-folio-mini__cat { display: block; margin-top: 2px; color: var(--ems-text); font-size: 12px; }

@media (max-width: 1200px) {
	.ems-folio-panel { grid-template-columns: 240px minmax(0, 1fr); }
	.ems-folio-recent { display: none; }
}

/* 27 — İLETİŞİM SAYFASI ---------------------------------------------------- */
.ems-contact-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: 50px;
	align-items: start;
	margin-top: 50px;
}
.ems-location {
	padding: 24px;
	margin-bottom: 18px;
	background: var(--ems-bg-tint);
	border-radius: var(--ems-radius-lg);
}
.ems-location__title { margin: 0 0 12px; color: var(--ems-title); font-size: 18px; }
.ems-location__row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	font-size: 14.5px;
	line-height: 1.6;
}
.ems-location__row svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; color: var(--ems-indigo); }
.ems-location__row a { color: var(--ems-title); font-weight: 700; }
.ems-location__row a:hover { color: var(--ems-indigo); }
.ems-location__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 14px 0;
	padding: 0;
}
.ems-location__chips li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: var(--ems-white);
	border-radius: 40px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ems-title);
}
.ems-location__chips svg { width: 13px; height: 13px; color: #71be15; }
.ems-location .ems-link-more { color: var(--ems-indigo); font-size: 14px; font-weight: 600; }

.ems-location--social { padding-bottom: 20px; }
.ems-social--dark a { color: var(--ems-title); }
.ems-social--dark a:hover { color: var(--ems-indigo); }

@media (max-width: 1024px) {
	.ems-contact-main { grid-template-columns: 1fr; gap: 34px; }
}

/* ---------------------------------------------------------------------------
   Lightbox (assets/js/main.js — initLightbox)
--------------------------------------------------------------------------- */

.ems-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 40px 64px;
	background: rgba(12, 12, 20, .975);
}
.ems-lightbox.is-open { display: flex; }

/* Açıkken sabit ögeler örtünün ardından sızmasın. */
body.ems-lightbox-open .ems-float__wa,
body.ems-lightbox-open .ems-float__tel,
body.ems-lightbox-open .ems-wa,
body.ems-lightbox-open .ems-cookie,
body.ems-lightbox-open .ems-cookiebtn,
body.ems-lightbox-open .ems-headerbar.is-stuck { display: none; }

.ems-lightbox__stage {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
}
.ems-lightbox__img {
	max-width: 100%;
	max-height: calc(100vh - 140px);
	border-radius: var(--ems-radius);
	object-fit: contain;
}
.ems-lightbox.is-loading .ems-lightbox__img { opacity: .35; }
.ems-lightbox__cap {
	max-width: 70ch;
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.ems-lightbox__close,
.ems-lightbox__nav {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .12);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background .15s ease;
}
.ems-lightbox__close:hover,
.ems-lightbox__nav:hover { background: var(--ems-lime); color: var(--ems-indigo); }
.ems-lightbox__close:focus-visible,
.ems-lightbox__nav:focus-visible { outline: 2px solid var(--ems-lime); outline-offset: 2px; }

.ems-lightbox__close {
	top: 18px;
	right: 18px;
	width: 42px;
	height: 42px;
	font-size: 26px;
	line-height: 1;
}
.ems-lightbox__nav {
	top: 50%;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	font-size: 30px;
	line-height: 1;
}
.ems-lightbox__nav--prev { left: 14px; }
.ems-lightbox__nav--next { right: 14px; }

.ems-lightbox__count {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

/* Büyütülebilir galeri görselleri imleçle belli olsun. */
.ems-legacy-gallery a[data-ems-lightbox],
.ems-gallery a[data-ems-lightbox] { display: block; cursor: zoom-in; }
.ems-legacy-gallery a[data-ems-lightbox] img { transition: transform .3s ease; }
.ems-legacy-gallery__item:hover a[data-ems-lightbox] img { transform: scale(1.03); }

@media (max-width: 700px) {
	.ems-lightbox { padding: 16px; }
	.ems-lightbox__nav { width: 40px; height: 40px; margin-top: -20px; }
	.ems-lightbox__nav--prev { left: 6px; }
	.ems-lightbox__nav--next { right: 6px; }
	.ems-lightbox__img { max-height: calc(100vh - 120px); }
}

/* ---------------------------------------------------------------------------
   Sayfaya özel serbest bölümler (template-parts/sections.php)
--------------------------------------------------------------------------- */

.ems-pagesection .ems-blocktitle__after p { margin: 0 0 10px; }
.ems-pagesection .ems-blocktitle__after p:last-child { margin-bottom: 0; }

.ems-pagecards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 24px;
}

.ems-pagecard {
	padding: 26px 24px;
	background: var(--ems-bg-tint);
	border-radius: var(--ems-radius-lg);
}
.ems-pagecard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 14px;
	background: var(--ems-ico-1, var(--ems-lime));
	border-radius: 50%;
}
.ems-pagecard__icon svg { width: 24px; height: 24px; }
.ems-pagecard:nth-child(2) .ems-pagecard__icon { background: var(--ems-ico-2); }
.ems-pagecard:nth-child(3) .ems-pagecard__icon { background: var(--ems-ico-3); }
.ems-pagecard:nth-child(4) .ems-pagecard__icon { background: var(--ems-ico-4); }
.ems-pagecard__title { margin: 0 0 8px; color: var(--ems-title); font-size: 19px; line-height: 1.4; font-weight: 700; }
.ems-pagecard__text { margin: 0; color: var(--ems-text); font-size: 15px; line-height: 1.6; }

.ems-pagesection--text .ems-blocktitle { margin-bottom: 0; max-width: 900px; }

@media (max-width: 600px) {
	.ems-pagecards { gap: 16px; }
	.ems-pagecard { padding: 22px 20px; }
}

/* ---------------------------------------------------------------------------
   Woodmart blok kalıntıları (inc/legacy-blocks.php ile dönüştürülür).
   Eski içerikteki satır/sütun, galeri, şerit ve kapak blokları için asgari
   düzen. Yeni içerik bu sınıfları kullanmaz.
--------------------------------------------------------------------------- */

.ems-legacy-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	align-items: center;
	margin: 1.8em 0;
}
.ems-legacy-col { min-width: 0; }
.ems-legacy-col > *:first-child { margin-top: 0; }

.ems-legacy-stack { margin: 1.8em 0; }
.ems-legacy-stack > *:first-child { margin-top: 0; }
.ems-legacy-section { margin: 2em 0; }

.ems-legacy-gallery {
	display: grid;
	grid-template-columns: repeat(var(--ems-legacy-cols, 4), 1fr);
	gap: 16px;
	align-items: start;
	margin: 1.8em 0;
}
.ems-legacy-gallery__item { min-width: 0; }
.ems-legacy-gallery__item--wide { grid-column: span 2; }
.ems-legacy-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	border-radius: var(--ems-radius);
}

/* Fotoğraf galerisi: tek oran, kırparak doldur — geniş öge satırı bozmasın. */
.ems-legacy-gallery--photo .ems-legacy-gallery__item {
	overflow: hidden;
	aspect-ratio: var(--ems-legacy-ratio, 3 / 4);
	border-radius: var(--ems-radius);
}
/* Geniş öge iki sütuna ve iki satıra yayılır: oran korunur, kırpılmaz. */
.ems-legacy-gallery--photo .ems-legacy-gallery__item--wide {
	grid-row: span 2;
	aspect-ratio: var(--ems-legacy-ratio, 3 / 4);
}
.ems-legacy-gallery--photo .ems-legacy-gallery__item img {
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

/* Logo şeridi: kırpma yok, dikeyde ortala. */
.ems-legacy-gallery--logo { align-items: center; gap: 24px; }
.ems-legacy-gallery--logo .ems-legacy-gallery__item img {
	max-height: 56px;
	object-fit: contain;
	border-radius: 0;
}

.ems-legacy-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 1.6em 0;
}
.ems-legacy-strip__item { flex: 0 0 auto; width: 110px; }
.ems-legacy-strip__item img {
	display: block;
	width: 110px;
	height: 110px;
	margin: 0;
	object-fit: cover;
	border-radius: 50%;
}

.ems-legacy-cover {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 260px;
	padding: 32px;
	background-color: var(--ems-bg-tint);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: var(--ems-radius-lg);
}
.ems-legacy-cover > *:first-child { margin-top: 0; }
.ems-legacy-cover .ems-legacy-stack { margin: 0; }

.ems-legacy-infobox {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 1.6em 0;
	padding: 24px;
	background: var(--ems-bg-tint);
	border-radius: var(--ems-radius-lg);
}
.ems-legacy-infobox .ems-legacy-stack { margin: 0; }
.ems-legacy-infobox > *:last-child { min-width: 0; }

.ems-legacy-icon { flex: 0 0 auto; width: var(--ems-legacy-icon-w, 72px); }
.ems-legacy-icon img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	border-radius: var(--ems-radius);
}

.ems-legacy-image img { display: block; max-width: 100%; height: auto; }

.ems-prose .ems-btn, .ems-legacy-cover .ems-btn { text-decoration: none; }

/* Eres SEO içindekiler kutusu: bağlantılar yazı metni gibi altı çizili çıkmasın. */
.ems-prose .eres-seo-toc a { text-decoration: none; }
.ems-prose .eres-seo-toc a:hover { text-decoration: underline; }

.ems-legacy-quote {
	margin: 1.4em 0;
	padding: 18px 24px;
	border-left: 3px solid var(--ems-lime);
	background: var(--ems-bg-tint);
	font-style: italic;
}

.ems-legacy-divider {
	height: 1px;
	margin: 2em 0;
	border: 0;
	background: var(--ems-line);
}

@media (max-width: 1024px) {
	.ems-legacy-gallery { grid-template-columns: repeat(3, 1fr); }
	.ems-legacy-cover { min-height: 220px; padding: 26px; }
}

@media (max-width: 600px) {
	.ems-legacy-gallery { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.ems-legacy-gallery__item--wide { grid-column: span 2; }
	.ems-legacy-infobox { flex-direction: column; align-items: flex-start; }
	.ems-legacy-strip__item, .ems-legacy-strip__item img { width: 84px; }
	.ems-legacy-strip__item img { height: 84px; }
}
