/*!
 * Özkan Yiğit Teması — Ana Stil
 * Yapımcı: Özkan Yiğit
 * Renk ve font değişkenleri Tema Ayarları'ndan :root'a basılır.
 */

/* ==========================================================================
   0. Değişken varsayılanları
   ========================================================================== */
:root {
	--oy-primary: #909c87;
	--oy-primary-dark: #4e5a47;
	--oy-primary-soft: rgba(144, 156, 135, .14);
	--oy-accent: #d3a294;
	--oy-accent-dark: #a16959;
	--oy-heading: #282e24;
	--oy-text: #80837d;
	--oy-bg: #ffffff;
	--oy-bg-alt: #f9f7f6;
	--oy-dark: #1a1b19;
	--oy-border: #e6e4e0;
	--oy-font-heading: 'Marcellus', Georgia, serif;
	--oy-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	--oy-heading-weight: 400;
	--oy-fs-body: 17px;
	--oy-lh-body: 1.75;
	--oy-h1: 64px;
	--oy-h2: 48px;
	--oy-h3: 32px;
	--oy-h4: 26px;
	--oy-h5: 22px;
	--oy-h6: 18px;
	--oy-section-title: 64px;
	--oy-subtitle-size: 14px;
	--oy-container: 1290px;
	--oy-gutter: 30px;
	--oy-btn-radius: 50px;
	--oy-ease: cubic-bezier(.22, .61, .36, 1);
	--oy-ease-in-out: cubic-bezier(.77, 0, .175, 1);
	--oy-dur: 1.1s;
	--oy-header-h: 120px;
	--oy-header-h-sticky: 86px;
	--oy-header-h-mobile: 80px;
	--oy-header-bg: #f9f7f6;
	--oy-header-sticky-bg: #f9f7f6;
	--oy-header-current: var(--oy-header-h);
	--oy-menu-size: 19px;
	--oy-menu-gap: 34px;
	--oy-menu-font: var(--oy-font-heading);
	--oy-logo-w: 190px;
	--oy-logo-w-sticky: 160px;
	--oy-logo-w-tablet: 160px;
	--oy-logo-w-mobile: 140px;
	--oy-logo-max-h: calc(var(--oy-header-h) - 24px);
	--oy-pt-bg: #f9f7f6;
	--oy-pt-pad-top: 70px;
	--oy-pt-pad-bottom: 110px;
	--oy-pt-size: 64px;
	--oy-pt-overlay: .45;
	--oy-single-w: 900px;
	--oy-cover-h: 82vh;
	--oy-section-pad: 130px;
	--oy-white: #fff;
	--oy-shadow: 0 30px 70px rgba(30, 33, 27, .10);
	--oy-wa: #25d366;
}

/* ==========================================================================
   1. Temel
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

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

body {
	margin: 0;
	background: var(--oy-bg);
	color: var(--oy-text);
	font-family: var(--oy-font-body);
	font-size: var(--oy-fs-body);
	line-height: var(--oy-lh-body);
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.oy-lock { overflow: hidden; }

img, svg, video, iframe { max-width: 100%; }
img { height: auto; vertical-align: middle; border: 0; }

a { color: var(--oy-heading); text-decoration: none; transition: color .5s var(--oy-ease), opacity .5s var(--oy-ease), background-color .5s var(--oy-ease), border-color .5s var(--oy-ease); }
a:hover { color: var(--oy-primary); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--oy-font-heading);
	font-weight: var(--oy-heading-weight);
	color: var(--oy-heading);
	line-height: 1.15;
	margin: 0 0 .5em;
	letter-spacing: -.005em;
}
h1 { font-size: var(--oy-h1); }
h2 { font-size: var(--oy-h2); }
h3 { font-size: var(--oy-h3); }
h4 { font-size: var(--oy-h4); }
h5 { font-size: var(--oy-h5); }
h6 { font-size: var(--oy-h6); }

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

strong, b { color: var(--oy-heading); font-weight: 600; }

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

hr { border: 0; border-top: 1px solid var(--oy-border); margin: 2em 0; }

button, input, select, textarea { font: inherit; color: inherit; }

::selection { background: var(--oy-primary); color: #fff; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus, .skip-link:focus {
	background: #fff; clip: auto !important; clip-path: none; color: var(--oy-heading);
	display: block; height: auto; left: 10px; padding: 14px 22px; top: 10px; width: auto; z-index: 100000;
}

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

/* ==========================================================================
   2. Yerleşim yardımcıları
   ========================================================================== */
.oy-container {
	width: 100%;
	max-width: calc(var(--oy-container) + var(--oy-gutter) * 2);
	padding-left: var(--oy-gutter);
	padding-right: var(--oy-gutter);
	margin-left: auto;
	margin-right: auto;
}
.oy-container--narrow { max-width: calc(var(--oy-single-w) + var(--oy-gutter) * 2); }
.oy-container-wide { width: 100%; padding-left: 64px; padding-right: 64px; }

.oy-section { position: relative; padding: var(--oy-section-pad) 0; }
.oy-section--alt { background: var(--oy-bg-alt); }
.oy-section--dark { background: var(--oy-dark); }

.oy-grid { display: grid; gap: 30px; }
.oy-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.oy-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oy-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.oy-subtitle {
	display: inline-block;
	font-family: var(--oy-font-heading);
	font-size: var(--oy-subtitle-size);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--oy-heading);
	line-height: 1.4;
	margin-bottom: 18px;
}
.oy-title {
	font-size: clamp(36px, 4.3vw, var(--oy-section-title));
	line-height: 1.08;
	margin: 0 0 28px;
}
.oy-title--md { font-size: clamp(32px, 3.6vw, 52px); }
.oy-lead { font-size: 17px; line-height: 1.75; color: var(--oy-text); }

.oy-head { margin-bottom: 70px; }
.oy-head--center { text-align: center; }
.oy-head--center .oy-lead { max-width: 640px; margin-left: auto; margin-right: auto; }

.oy-is-light, .oy-is-light .oy-subtitle, .oy-is-light .oy-title, .oy-is-light h1, .oy-is-light h2, .oy-is-light h3 { color: #fff; }

.oy-notice {
	padding: 18px 24px; border: 1px dashed var(--oy-primary); background: var(--oy-primary-soft);
	color: var(--oy-heading); font-size: 15px;
}

.oy-link-line { position: relative; display: inline-block; }
.oy-link-line::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor;
	transform-origin: left; transition: transform .7s var(--oy-ease);
}
.oy-link-line:hover::after { transform: scaleX(0); transform-origin: right; }

/* ==========================================================================
   3. Butonlar
   ========================================================================== */
.oy-btn,
.elementor-widget-button .elementor-button,
.wpcf7-form .wpcf7-submit,
.oy-comment-form .submit,
.oy-search-form__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 17px 44px;
	border: 0;
	border-radius: var(--oy-btn-radius);
	background-color: var(--oy-primary);
	color: #fff;
	font-family: var(--oy-font-heading);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .01em;
	text-align: center;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	transition: color .6s var(--oy-ease), background-color .6s var(--oy-ease), transform .6s var(--oy-ease), box-shadow .6s var(--oy-ease);
}
.oy-btn::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--oy-primary-dark);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .7s var(--oy-ease-in-out);
}
.oy-btn:hover { color: #fff; }
.oy-btn:hover::before { transform: scaleX(1); transform-origin: left center; }
.elementor-widget-button .elementor-button:hover,
.wpcf7-form .wpcf7-submit:hover,
.oy-comment-form .submit:hover { background-color: var(--oy-primary-dark); color: #fff; }

.oy-btn .oy-icon { width: 18px; height: 18px; }
.oy-btn--sm { padding: 13px 40px; font-size: 16px; }
.oy-header__btn.oy-btn--sm { padding: 12px 32px; font-size: 15px; }
.oy-btn--block { width: 100%; }
.oy-btn--white { background: #fff; color: var(--oy-heading); }
.oy-btn--white::before { background: var(--oy-heading); }
.oy-btn--white:hover { color: #fff; }
.oy-btn--outline { background: transparent; color: var(--oy-heading); box-shadow: inset 0 0 0 1px currentColor; }
.oy-btn--outline::before { background: var(--oy-heading); }
.oy-btn--outline:hover { color: #fff; }

/* ==========================================================================
   4. Header
   ========================================================================== */
.oy-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 990;
	--oy-nav-color: var(--oy-heading);
}
.admin-bar .oy-header { top: 0; }

.oy-header__bar {
	height: var(--oy-header-h);
	display: flex;
	align-items: center;
	transition: height .6s var(--oy-ease), background-color .6s var(--oy-ease), box-shadow .6s var(--oy-ease);
}
.oy-header--classic .oy-header__bar,
.oy-header--solid .oy-header__bar { background: var(--oy-header-bg); }
.oy-header--transparent { --oy-nav-color: #fff; }

.oy-header-spacer { height: var(--oy-header-h); background: var(--oy-header-bg); }

.oy-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	gap: 30px;
}
.oy-header__brand { flex: 0 0 auto; display: flex; align-items: center; }
.oy-header__actions { display: flex; align-items: center; gap: 40px; flex: 0 0 auto; }
.oy-header--transparent .oy-header__actions,
.oy-header--solid .oy-header__actions { margin-left: 34px; }
.oy-header--classic .oy-header__actions { margin-left: auto; }

.oy-header__phone {
	font-family: var(--oy-font-heading);
	font-size: 19px;
	color: var(--oy-nav-color);
	white-space: nowrap;
	letter-spacing: .01em;
}
.oy-header__phone:hover { color: var(--oy-primary); }

/* Yapışkan */
.oy-header.is-sticky {
	position: fixed;
	animation: oyHeaderDown .8s var(--oy-ease) both;
	--oy-nav-color: var(--oy-heading);
}
.admin-bar .oy-header.is-sticky { top: 32px; }
.oy-header.is-sticky .oy-header__bar {
	height: var(--oy-header-h-sticky);
	background: var(--oy-header-sticky-bg);
	box-shadow: 0 12px 40px rgba(30, 33, 27, .07);
}
.oy-header.is-hiding { animation: oyHeaderUp .5s var(--oy-ease) both; }

@keyframes oyHeaderDown { from { transform: translateY(-100%); } to { transform: none; } }
@keyframes oyHeaderUp { from { transform: none; } to { transform: translateY(-100%); } }

/* Logo */
.oy-logo { margin: 0; line-height: 0; font-size: 0; }
.oy-logo a { display: inline-flex; align-items: center; }
.oy-logo__img {
	width: var(--oy-logo-w);
	max-height: var(--oy-logo-max-h);
	height: auto;
	object-fit: contain;
	object-position: left center;
	transition: width .6s var(--oy-ease), opacity .4s var(--oy-ease);
}
.oy-logo__img--dark { display: none; }
.oy-header--classic .oy-logo__img--light,
.oy-header--solid .oy-logo__img--light,
.oy-header.is-sticky .oy-logo__img--light { display: none; }
.oy-header--classic .oy-logo__img--dark,
.oy-header--solid .oy-logo__img--dark,
.oy-header.is-sticky .oy-logo__img--dark { display: block; }
.oy-header.is-sticky .oy-logo__img { width: var(--oy-logo-w-sticky); max-height: min(var(--oy-logo-max-h), calc(var(--oy-header-h-sticky) - 16px)); }
.oy-mobile-menu .oy-logo__img { max-height: calc(var(--oy-header-h-mobile) - 16px); }

.oy-logo__text { display: inline-flex; align-items: center; gap: 12px; color: var(--oy-nav-color); line-height: 1; }
.oy-header .oy-logo__text { color: var(--oy-nav-color); }
.oy-mobile-menu .oy-logo__text, .oy-footer .oy-logo__text { color: #fff; }
.oy-brand-mark { width: 34px; height: 40px; flex: 0 0 auto; }
.oy-brand-mark__dot { fill: var(--oy-primary); }
.oy-logo__words { display: flex; flex-direction: column; gap: 6px; }
.oy-logo__name { font-family: var(--oy-font-heading); font-size: 31px; letter-spacing: -.01em; white-space: nowrap; }
.oy-logo__tagline { font-family: var(--oy-font-body); font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; opacity: .75; white-space: nowrap; }

/* Masaüstü menü */
.oy-nav { height: 100%; }
.oy-header--transparent .oy-nav,
.oy-header--solid .oy-nav { margin-left: auto; }
.oy-header--classic .oy-nav { margin-left: 56px; }

.oy-nav__list,
.oy-nav__list ul { list-style: none; margin: 0; padding: 0; }
.oy-nav__list { display: flex; align-items: stretch; height: 100%; gap: var(--oy-menu-gap); }
.oy-nav__list > li { position: relative; display: flex; align-items: center; }
.oy-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--oy-menu-font);
	font-size: var(--oy-menu-size);
	color: var(--oy-nav-color);
	line-height: 1.2;
	white-space: nowrap;
	padding: 8px 0;
}
.oy-nav__text { position: relative; display: inline-block; }
.oy-nav__list > li > a .oy-nav__text::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .7s var(--oy-ease);
}
.oy-nav__list > li:hover > a .oy-nav__text::after,
.oy-nav__list > li.current-menu-item > a .oy-nav__text::after,
.oy-nav__list > li.current-menu-ancestor > a .oy-nav__text::after,
.oy-nav__list > li.current_page_item > a .oy-nav__text::after { transform: scaleX(1); transform-origin: left; }
.oy-nav__list > li > a:hover { color: var(--oy-nav-color); }
.oy-nav__caret { display: inline-flex; width: 12px; height: 12px; opacity: .7; transition: transform .5s var(--oy-ease); }
.oy-nav__caret .oy-icon { width: 12px; height: 12px; stroke-width: 2; }
.oy-nav__list > li:hover > a .oy-nav__caret { transform: rotate(180deg); }

/* Açılır menü */
.oy-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -30px;
	min-width: 270px;
	padding: 24px 0;
	background: #fff;
	box-shadow: var(--oy-shadow);
	opacity: 0;
	visibility: hidden;
	pointer-events: none; /* Gizliyken fareyi asla yakalamasın (sadece başlığa gelince açılır) */
	transform: translateY(16px);
	transition: opacity .55s var(--oy-ease), transform .55s var(--oy-ease), visibility 0s linear .55s;
	z-index: 20;
}
.oy-nav .sub-menu .sub-menu { top: -24px; left: 100%; }
.oy-nav li:hover > .sub-menu,
.oy-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition: opacity .55s var(--oy-ease), transform .55s var(--oy-ease), visibility 0s;
}
.oy-nav .sub-menu li { position: relative; }
.oy-nav .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 32px;
	font-family: var(--oy-font-body);
	font-size: 15.5px;
	color: var(--oy-heading);
	line-height: 1.5;
	transition: color .45s var(--oy-ease), padding .45s var(--oy-ease);
}
.oy-nav .sub-menu a:hover,
.oy-nav .sub-menu .current-menu-item > a { color: var(--oy-primary); padding-left: 38px; }
.oy-nav .sub-menu .oy-nav__caret { transform: none !important; }

/* Mega menü (menü öğesine "oy-mega" CSS sınıfı ekleyin) */
.oy-nav__list > li.oy-mega { position: static; }
.oy-nav__list > li.oy-mega > .sub-menu {
	/* Yatay konum transform'da DEĞİL (animasyonda yandan kayma olmasın): JS left'i px olarak verir */
	left: var(--oy-mega-left, 50%);
	margin-left: var(--oy-mega-ml, calc(min(1080px, 100vw - 80px) / -2));
	width: min(1080px, calc(100vw - 80px));
	transform: translateY(16px);
	display: block;
	columns: 2;
	column-gap: 72px;
	padding: 40px 52px 34px;
}
.oy-nav li.oy-mega > .sub-menu > li { break-inside: avoid; page-break-inside: avoid; padding-bottom: 6px; }
.oy-nav__list > li.oy-mega:hover > .sub-menu,
.oy-nav__list > li.oy-mega:focus-within > .sub-menu { transform: translateY(0); }
/* Başlık ile panel arasındaki boşlukta fare kaybolmasın */
.oy-nav__list > li.oy-mega > .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 26px; }
/* JS varken: panel "Hizmetler"in altına hizalanır, fare çıkınca kısa bir gecikmeyle kapanır */
.oy-js .oy-nav__list > li.oy-mega:not(.is-hover):not(:has(:focus-visible)) > .sub-menu {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity .45s var(--oy-ease), transform .45s var(--oy-ease), visibility 0s linear .45s;
}
.oy-js .oy-nav__list > li.oy-mega.is-hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition: opacity .55s var(--oy-ease), transform .55s var(--oy-ease), visibility 0s;
}
.oy-js .oy-nav__list > li.oy-mega.is-hover > a .oy-nav__text::after { transform: scaleX(1); transform-origin: left; }
.oy-js .oy-nav__list > li.oy-mega.is-hover > a .oy-nav__caret { transform: rotate(180deg); }
.oy-nav li.oy-mega > .sub-menu > li > a {
	padding: 0 0 10px;
	margin-bottom: 4px;
	font-family: var(--oy-font-body);
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--oy-accent-dark);
	border-bottom: 0;
}
.oy-nav li.oy-mega > .sub-menu > li > a:hover { padding-left: 0; color: var(--oy-primary-dark); }
.oy-nav li.oy-mega > .sub-menu > li > a .oy-nav__caret { display: none; }
.oy-nav li.oy-mega .sub-menu .sub-menu {
	position: static;
	width: auto;
	opacity: 1;
	visibility: inherit;
	pointer-events: inherit;
	transform: none;
	box-shadow: none;
	padding: 0 0 22px;
	min-width: 0;
	background: transparent;
	transition: none;
}
.oy-nav li.oy-mega .sub-menu .sub-menu a { padding: 6px 0; font-size: 15px; line-height: 1.45; }
.oy-nav li.oy-mega .sub-menu .sub-menu a:hover { padding-left: 6px; }

/* Sadece mobil menüde görünen öğeler (menü öğesine oy-mobile-only sınıfı) */
.oy-nav .oy-mobile-only { display: none !important; }

/* Hamburger */
.oy-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 44px;
	height: 44px;
	padding: 0 6px;
	background: none;
	border: 0;
	cursor: pointer;
	color: var(--oy-nav-color);
}
.oy-burger__line { display: block; height: 1.6px; width: 100%; background: currentColor; border-radius: 2px; transition: transform .6s var(--oy-ease), width .6s var(--oy-ease); }
.oy-burger__line:nth-child(2) { width: 76%; margin-left: auto; }
.oy-burger:hover .oy-burger__line:nth-child(2) { width: 100%; }

/* ==========================================================================
   5. Mobil menü (yukarıdan aşağı)
   ========================================================================== */
.oy-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear 1.1s;
}
.oy-mobile-menu__panel {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	padding: 22px 24px 40px;
	background: var(--oy-dark);
	color: rgba(255, 255, 255, .78);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translate3d(0, -100%, 0);
	transition: transform 1.1s var(--oy-ease-in-out);
}
.oy-menu-open .oy-mobile-menu { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.oy-menu-open .oy-mobile-menu__panel { transform: none; }

.oy-mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: calc(var(--oy-header-h-mobile) - 22px);
	margin-bottom: 40px;
}
.oy-mobile-menu .oy-logo__img { width: var(--oy-logo-w-mobile); }
.oy-mobile-menu__close {
	width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	background: none; border: 0; color: #fff; cursor: pointer; padding: 0;
	transition: transform .7s var(--oy-ease);
}
.oy-mobile-menu__close .oy-icon { width: 26px; height: 26px; stroke-width: 1.4; }
.oy-mobile-menu__close:hover { transform: rotate(90deg); }

.oy-mnav__list, .oy-mnav__list ul { list-style: none; margin: 0; padding: 0; }
.oy-mnav__list > li {
	opacity: 0;
	transform: translate3d(0, -18px, 0);
	transition: opacity .7s var(--oy-ease), transform .7s var(--oy-ease);
	transition-delay: 0s;
}
.oy-menu-open .oy-mnav__list > li {
	opacity: 1;
	transform: none;
	transition-delay: calc(.45s + var(--oy-i, 0) * .07s);
}
.oy-mnav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	padding: 7px 0;
	font-family: var(--oy-font-heading);
	font-size: 25px;
	line-height: 1.3;
	color: rgba(255, 255, 255, .86);
}
.oy-mnav__list > li.current-menu-item > a,
.oy-mnav__list > li.current-menu-ancestor > a,
.oy-mnav__list > li > a:hover,
.oy-mnav__list li.is-open > a { color: #fff; }
.oy-mnav__arrow { display: inline-flex; width: 22px; height: 22px; transition: transform .7s var(--oy-ease); }
.oy-mnav__arrow .oy-icon { width: 22px; height: 22px; }
.oy-mnav li.is-open > a > .oy-mnav__arrow { transform: rotate(90deg); }

.oy-mnav .sub-menu {
	height: 0;
	overflow: hidden;
	padding-left: 16px;
	transition: height .8s var(--oy-ease-in-out);
}
.oy-mnav .sub-menu > li { opacity: 0; transform: translateY(-8px); transition: opacity .5s var(--oy-ease), transform .5s var(--oy-ease); }
.oy-mnav li.is-open > .sub-menu > li { opacity: 1; transform: none; transition-delay: calc(.15s + var(--oy-i, 0) * .04s); }
.oy-mnav .sub-menu a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	font-family: var(--oy-font-body);
	font-size: 16px;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .78);
}
.oy-mnav .sub-menu a:hover, .oy-mnav .sub-menu .current-menu-item > a { color: #fff; }
.oy-mnav .sub-menu .oy-mnav__arrow, .oy-mnav .sub-menu .oy-mnav__arrow .oy-icon { width: 15px; height: 15px; }
.oy-mnav .sub-menu > li:first-child { padding-top: 6px; }
.oy-mnav .sub-menu > li:last-child { padding-bottom: 10px; }

.oy-mobile-menu__foot {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex;
	flex-direction: column;
	gap: 26px;
	opacity: 0;
	transition: opacity .7s var(--oy-ease);
}
.oy-menu-open .oy-mobile-menu__foot { opacity: 1; transition-delay: .9s; }
.oy-mobile-menu__contact { display: flex; flex-direction: column; gap: 12px; }
.oy-mobile-menu__contact a { display: inline-flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, .8); font-size: 16px; }
.oy-mobile-menu__contact .oy-icon { width: 18px; height: 18px; color: var(--oy-primary); }
.oy-mobile-menu__foot:empty { display: none; }
.oy-mobile-menu .oy-social--outline a { width: 44px; height: 44px; }
/* Randevu butonu: panelin en altında, tek başına */
.oy-mobile-menu__bottom { margin-top: auto; padding-top: 34px; opacity: 0; transform: translateY(14px); transition: opacity .7s var(--oy-ease), transform .7s var(--oy-ease); }
.oy-menu-open .oy-mobile-menu__bottom { opacity: 1; transform: none; transition-delay: 1s; }
.oy-mobile-menu__btn { width: 100%; max-width: none; }

/* ==========================================================================
   6. Sosyal ikonlar
   ========================================================================== */
.oy-social { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
.oy-social a { display: inline-flex; align-items: center; justify-content: center; color: inherit; transition: color .5s var(--oy-ease), background-color .5s var(--oy-ease), border-color .5s var(--oy-ease), transform .5s var(--oy-ease); }
.oy-social .oy-icon { width: 16px; height: 16px; }
.oy-social--plain { gap: 22px; }
.oy-social--plain a { color: #fff; }
.oy-social--plain a:hover { color: var(--oy-primary); transform: translateY(-2px); }
.oy-social--outline a { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); color: #fff; }
.oy-social--outline a:hover { background: var(--oy-primary); border-color: var(--oy-primary); color: #fff; }
.oy-social--dark a { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--oy-border); color: var(--oy-heading); }
.oy-social--dark a:hover { background: var(--oy-primary); border-color: var(--oy-primary); color: #fff; }

/* ==========================================================================
   7. Sayfa başlığı
   ========================================================================== */
.oy-page-title {
	position: relative;
	background: var(--oy-pt-bg);
	padding: var(--oy-pt-pad-top) 0 var(--oy-pt-pad-bottom);
	text-align: center;
	overflow: hidden;
}
.oy-page-title--image { background: var(--oy-dark) var(--oy-pt-image) center / cover no-repeat; }
.oy-page-title--image::before { content: ''; position: absolute; inset: 0; background: #000; opacity: var(--oy-pt-overlay); }
.oy-page-title__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.oy-page-title__heading {
	font-size: clamp(38px, 5.2vw, var(--oy-pt-size));
	line-height: 1.1;
	margin: 0;
	max-width: 1100px;
}
.oy-page-title__sub { max-width: 700px; margin: 22px auto 0; font-size: 18px; }
.oy-page-title--image .oy-page-title__heading, .oy-page-title--image .oy-page-title__sub, .oy-page-title--image .oy-page-title__arrow, .oy-page-title--image .oy-breadcrumb, .oy-page-title--image .oy-breadcrumb a { color: #fff; }
.oy-page-title__arrow { display: inline-flex; margin-top: 20px; color: var(--oy-heading); }
.oy-page-title__arrow .oy-icon { width: 32px; height: 32px; stroke-width: 1.2; animation: oyBob 2.6s var(--oy-ease) infinite; }
@keyframes oyBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

.oy-breadcrumb { font-size: 14px; letter-spacing: .04em; margin-bottom: 22px; color: var(--oy-text); }
.oy-breadcrumb a { color: var(--oy-heading); }
.oy-breadcrumb i { font-style: normal; margin: 0 10px; opacity: .5; }

/* ==========================================================================
   8. İçerik tipografisi
   ========================================================================== */
.oy-page-content { padding: 100px 0 var(--oy-section-pad); }
.oy-entry__content > *:first-child { margin-top: 0; }
.oy-entry__content h2 { font-size: clamp(28px, 3vw, 40px); margin: 1.6em 0 .55em; }
.oy-entry__content h3 { font-size: clamp(24px, 2.4vw, 30px); margin: 1.5em 0 .5em; }
.oy-entry__content h4 { font-size: 24px; margin: 1.4em 0 .5em; }
.oy-entry__content a:not(.oy-btn) { color: var(--oy-primary-dark); text-decoration: underline; text-decoration-color: var(--oy-primary); text-underline-offset: 3px; }
.oy-entry__content a:not(.oy-btn):hover { color: var(--oy-heading); }
.oy-entry__content ul { list-style: none; padding: 0; }
.oy-entry__content ul li, .elementor-widget-text-editor ul li { position: relative; padding-left: 26px; margin-bottom: .55em; }
.oy-entry__content ul li::before, .elementor-widget-text-editor ul li::before {
	content: ''; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--oy-primary);
}
.elementor-widget-text-editor ul { list-style: none; padding: 0; }
.oy-entry__content ol { padding-left: 1.3em; }
.oy-entry__content ol li { margin-bottom: .55em; padding-left: 4px; }
.oy-entry__content ol li::marker { color: var(--oy-primary-dark); font-family: var(--oy-font-heading); }
.oy-entry__content blockquote, .elementor-widget-text-editor blockquote {
	margin: 2em 0;
	padding: 6px 0 6px 34px;
	border-left: 2px solid var(--oy-accent);
	font-family: var(--oy-font-heading);
	font-size: 24px;
	line-height: 1.5;
	color: var(--oy-heading);
}
.oy-entry__content blockquote cite { display: block; margin-top: 12px; font-family: var(--oy-font-body); font-size: 14px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--oy-text); }
.oy-entry__content figure { margin: 2em 0; }
.oy-entry__content figcaption, .wp-caption-text { margin-top: 10px; font-size: 14px; color: var(--oy-text); text-align: center; }
.oy-entry__content img { max-width: 100%; height: auto; }
.oy-entry__content table { width: 100%; border-collapse: collapse; margin: 2em 0; font-size: 16px; }
.oy-entry__content th, .oy-entry__content td { padding: 12px 16px; border-bottom: 1px solid var(--oy-border); text-align: left; }
.oy-entry__content th { font-family: var(--oy-font-heading); font-weight: 400; color: var(--oy-heading); }
.alignleft { float: left; margin: .4em 2em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 2em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { margin-left: -80px; margin-right: -80px; max-width: none; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.sticky, .bypostauthor, .gallery-caption { outline: 0; }

/* ==========================================================================
   9. Blog
   ========================================================================== */
.oy-blog { padding: 90px 0 var(--oy-section-pad); background: var(--oy-bg); }
.oy-blog .oy-card { background: var(--oy-bg-alt); }
.oy-posts-grid { gap: 30px; }

.oy-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	min-height: 100%;
	transition: background-color .6s var(--oy-ease);
}
.oy-card:hover { transform: none; box-shadow: none; }
.oy-card__media { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--oy-border); }
.oy-card__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.001); transition: transform 1.4s var(--oy-ease); }
.oy-card:hover .oy-card__media img { transform: scale(1.07); }
.oy-card__body { display: flex; flex-direction: column; flex: 1; padding: 34px 38px 32px; }
.oy-card--image .oy-card__body { padding: 32px 38px 30px; }
.oy-card__body > .oy-card__title:first-child { margin-top: 0; }
.oy-card__title { font-size: clamp(22px, 1.75vw, 26px); line-height: 1.25; margin: 12px 0 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.oy-card__title a { color: var(--oy-heading); background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .8s var(--oy-ease), color .5s; }
.oy-card__title a:hover { background-size: 100% 1px; color: var(--oy-heading); }
.oy-card__excerpt { font-size: 16px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.oy-card__more { display: inline-flex; margin-top: auto; padding-top: 16px; width: 26px; color: var(--oy-heading); transition: transform .6s var(--oy-ease); }
.oy-card__more .oy-icon { width: 22px; height: 22px; }
.oy-card:hover .oy-card__more { transform: translateX(8px); }

.oy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px; color: var(--oy-text); }
.oy-meta__cat { font-family: var(--oy-font-heading); text-transform: uppercase; letter-spacing: .08em; color: var(--oy-heading); }
.oy-meta__dot { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .5; }

.oy-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 80px; }
.oy-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 10px;
	border-radius: 50%; border: 1px solid var(--oy-border); background: #fff; color: var(--oy-heading);
	font-family: var(--oy-font-heading); font-size: 18px;
}
.oy-pagination .page-numbers.current, .oy-pagination .page-numbers:hover { background: var(--oy-primary); border-color: var(--oy-primary); color: #fff; }
.oy-pagination .oy-icon { width: 18px; height: 18px; }
.oy-pagination .dots { border: 0; background: transparent; }

.oy-empty { text-align: center; max-width: 620px; margin: 0 auto; }

/* Tekil yazı */
.oy-single__cover { position: relative; height: var(--oy-cover-h); min-height: 380px; overflow: hidden; background: var(--oy-bg-alt); }
.oy-single__cover-media { position: absolute; inset: 0; animation: oyCoverIn 2.4s var(--oy-ease) both; }
.oy-single__cover-media img { width: 100%; height: 100%; object-fit: cover; }
@keyframes oyCoverIn { from { transform: scale(1.12); opacity: .2; } to { transform: none; opacity: 1; } }

.oy-single__head { text-align: center; padding-top: 90px; padding-bottom: 60px; display: flex; flex-direction: column; align-items: center; }
.oy-has-cover .oy-single__head { padding-top: 80px; }
.oy-single:not(.has-post-thumbnail) .oy-single__head { padding-top: 70px; }
.oy-badge-pill {
	display: inline-block; padding: 5px 18px; border-radius: 30px; background: var(--oy-accent); color: #fff;
	font-family: var(--oy-font-heading); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.6;
}
.oy-badge-pill:hover { background: var(--oy-accent-dark); color: #fff; }
.oy-single__title { font-size: clamp(34px, 4.4vw, 60px); line-height: 1.15; max-width: 1050px; margin: 22px auto 0; }
.oy-single__meta { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.oy-single__body { padding-bottom: 40px; }
.oy-single__content { max-width: var(--oy-single-w); margin: 0 auto; font-size: 18px; }
.oy-single__foot-inner { max-width: var(--oy-single-w); margin: 0 auto; padding: 34px 0 80px; border-top: 1px solid var(--oy-border); display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.oy-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.oy-tags a { padding: 6px 16px; border: 1px solid var(--oy-border); border-radius: 30px; font-size: 14px; color: var(--oy-heading); }
.oy-tags a:hover { background: var(--oy-primary); border-color: var(--oy-primary); color: #fff; }
.oy-share { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.oy-share__label { font-family: var(--oy-font-heading); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--oy-heading); }
.oy-share .oy-social--outline a { border-color: var(--oy-border); color: var(--oy-heading); width: 42px; height: 42px; }
.oy-share .oy-social--outline a:hover { color: #fff; }

.oy-post-nav { border-top: 1px solid var(--oy-border); border-bottom: 1px solid var(--oy-border); background: var(--oy-bg-alt); }
.oy-post-nav__inner { display: grid; grid-template-columns: 1fr 1fr; }
.oy-post-nav__item { display: flex; align-items: center; gap: 24px; padding: 54px 40px 54px 0; color: var(--oy-heading); }
.oy-post-nav__item--next { justify-content: flex-end; text-align: right; padding: 54px 0 54px 40px; border-left: 1px solid var(--oy-border); }
.oy-post-nav__thumb { flex: 0 0 96px; width: 96px; height: 96px; overflow: hidden; border-radius: 50%; }
.oy-post-nav__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--oy-ease); }
.oy-post-nav__item:hover .oy-post-nav__thumb img { transform: scale(1.1); }
.oy-post-nav__text { display: flex; flex-direction: column; gap: 8px; }
.oy-post-nav__label { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--oy-text); }
.oy-post-nav__item--next .oy-post-nav__label { justify-content: flex-end; }
.oy-post-nav__label .oy-icon { width: 16px; height: 16px; transition: transform .6s var(--oy-ease); }
.oy-post-nav__item--prev:hover .oy-post-nav__label .oy-icon { transform: translateX(-5px); }
.oy-post-nav__item--next:hover .oy-post-nav__label .oy-icon { transform: translateX(5px); }
.oy-post-nav__title { font-family: var(--oy-font-heading); font-size: 23px; line-height: 1.3; }

/* Yorumlar */
.oy-single__comments { padding-top: 90px; padding-bottom: 100px; }
.oy-comments__title { font-size: 34px; margin-bottom: 34px; }
.oy-comments__list, .oy-comments__list .children { list-style: none; margin: 0; padding: 0; }
.oy-comments__list .children { padding-left: 60px; }
.oy-comment__body { display: flex; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--oy-border); }
.oy-comment__avatar img { border-radius: 50%; }
.oy-comment__head { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; margin-bottom: 6px; }
.oy-comment__author { font-family: var(--oy-font-heading); font-weight: 400; font-size: 20px; }
.oy-comment__head time { font-size: 14px; }
.oy-comment__reply a { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--oy-primary-dark); }
.oy-comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 30px; }
.oy-comment-form > p { margin: 0; }
.oy-comment-form .comment-notes, .oy-comment-form .comment-form-comment, .oy-comment-form .comment-form-cookies-consent, .oy-comment-form .form-submit, .oy-comment-form .logged-in-as { grid-column: 1 / -1; }
.oy-comment-form label { display: block; font-size: 14px; margin-bottom: 4px; color: var(--oy-heading); }
.oy-comment-form input[type="text"], .oy-comment-form input[type="email"], .oy-comment-form input[type="url"], .oy-comment-form textarea {
	width: 100%; border: 0; border-bottom: 1px solid #d9d6d0; background: transparent; padding: 12px 0; outline: 0; transition: border-color .5s;
}
.oy-comment-form input:focus, .oy-comment-form textarea:focus { border-color: var(--oy-primary); }
.oy-comment-form textarea { min-height: 140px; resize: vertical; }
.oy-comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.oy-comment-form .comment-form-cookies-consent label { margin: 0; }

/* Arama formu */
.oy-search-form { position: relative; display: flex; max-width: 520px; margin: 30px auto 0; }
.oy-search-form__input { flex: 1; border: 0; border-bottom: 1px solid #d9d6d0; padding: 14px 64px 14px 0; background: transparent; outline: 0; }
.oy-search-form__input:focus { border-color: var(--oy-primary); }
.oy-search-form__btn { position: absolute; right: 0; top: 50%; transform: translateY(-50%); padding: 0; width: 50px; height: 50px; border-radius: 50%; }
.oy-search-form__btn .oy-icon { width: 20px; height: 20px; }

/* 404 */
.oy-404 { position: relative; padding: 140px 0 160px; text-align: center; overflow: hidden; background: var(--oy-bg-alt); }
.oy-404__decor { position: absolute; right: -40px; top: 20px; width: 320px; color: var(--oy-accent); opacity: .8; }
.oy-404__code { display: block; font-family: var(--oy-font-heading); font-size: clamp(120px, 18vw, 240px); line-height: 1; color: var(--oy-primary); }
.oy-404__title { font-size: clamp(30px, 3.6vw, 48px); margin: 10px 0 18px; }
.oy-404__text { max-width: 560px; margin: 0 auto 40px; }

/* ==========================================================================
   10. Footer
   ========================================================================== */
.oy-footer { position: relative; background: var(--oy-dark); color: rgba(255, 255, 255, .72); }
.oy-footer a { color: #fff; }
.oy-footer a:hover { color: var(--oy-primary); }
.oy-footer .oy-social--outline a:hover, .oy-footer .oy-social--dark a:hover, .oy-social.oy-social--outline a:hover, .oy-social.oy-social--dark a:hover { color: #fff; }
.oy-footer--default { padding: 84px 0 0; }
.oy-footer .oy-logo__img { width: var(--oy-logo-w); }
.oy-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-bottom: 50px; border-bottom: 1px solid rgba(255, 255, 255, .1); flex-wrap: wrap; }
.oy-fnav__list, .oy-fnav__list ul { list-style: none; margin: 0; padding: 0; }
.oy-fnav__list { display: flex; flex-wrap: wrap; gap: 14px 44px; }
.oy-fnav__list .sub-menu { display: none; }
.oy-fnav__list a { font-family: var(--oy-font-heading); font-size: 19px; color: #fff; }
.oy-fnav__list a .oy-nav__caret { display: none; }
.oy-footer__mid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px; padding: 80px 0 70px; }
.oy-footer__col--end { text-align: right; }
.oy-footer__address { font-size: 17px; line-height: 1.7; color: rgba(255, 255, 255, .8); margin: 0; }
.oy-footer__phone { display: block; font-family: var(--oy-font-heading); font-size: 24px; margin-bottom: 12px; }
.oy-footer__mail { font-size: 17px; }
.oy-footer__muted { margin: 0 0 4px; font-size: 17px; color: rgba(255, 255, 255, .72); }
.oy-footer__strong { font-weight: 600; font-size: 17px; }
.oy-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 70px; flex-wrap: wrap; }
.oy-footer__copy { margin: 0; font-size: 16px; color: rgba(255, 255, 255, .6); }
.oy-footer__copy a { color: #fff; }
.oy-footer__credit { margin-left: 10px; opacity: .8; }

/* Elementor footer widget'ları */
@media (max-width: 767px) {
	.oy-footer--elementor .elementor-section:has(.elementor-widget-oy-fw-social) > .elementor-container { flex-direction: column-reverse; }
	.oy-footer--elementor .elementor-widget-oy-fw-social { margin-bottom: 18px; }
}
.oy-fw-logo { line-height: 0; }
.oy-fw-logo img { width: var(--oy-fw-logo-w, 190px); height: auto; }
.oy-fw-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px var(--oy-fw-gap, 44px); }
.oy-fw-menu--right ul { justify-content: flex-end; }
.oy-fw-menu--center ul { justify-content: center; }
.oy-fw-menu .sub-menu { display: none !important; }
.oy-fw-menu a { font-family: var(--oy-font-heading); font-size: 19px; color: #fff; }
.oy-fw-menu a .oy-nav__caret { display: none; }
.oy-fw-menu--vertical ul { flex-direction: column; gap: 10px; }
.oy-fw-contact { font-size: 17px; line-height: 1.7; color: rgba(255, 255, 255, .8); }
.oy-fw-contact__label { display: block; margin-bottom: 4px; color: rgba(255, 255, 255, .55); font-size: 15px; }
.oy-fw-contact__phone { display: inline-block; font-family: var(--oy-font-heading); font-size: 24px; color: #fff; margin-bottom: 10px; }
.oy-fw-contact__mail { display: inline-block; }
.oy-fw-contact__address { margin: 0; }
.oy-fw-contact__address a, .oy-footer__address a { color: inherit; transition: color .3s var(--oy-ease); }
.oy-fw-contact__address a:hover, .oy-footer__address a:hover { color: #fff; }
.oy-fw-text { font-size: 17px; color: rgba(255, 255, 255, .72); }
.oy-fw-text p { margin: 0; }
.oy-fw-text__link { font-weight: 600; color: #fff; }
.oy-fw-copy { font-size: 16px; color: rgba(255, 255, 255, .6); }
.oy-fw-copy a { color: #fff; }
.oy-fw-social .oy-social { gap: 8px; }
.oy-fw-social--right .oy-social { justify-content: flex-end; }
.oy-fw-divider { height: 1px; background: rgba(255, 255, 255, .1); }
.oy-fw-align-right { text-align: right; }
.oy-fw-align-center { text-align: center; }

.oy-footer-builder { background: #ecebe8; }
.oy-footer-builder__spacer { padding: 60px 30px; text-align: center; color: var(--oy-text); font-size: 15px; }

/* ==========================================================================
   11. Yüzen butonlar
   ========================================================================== */
/* Yukarı çık butonu görününce WhatsApp onun üstüne kayar. */
.oy-wa {
	position: fixed;
	bottom: calc(26px + env(safe-area-inset-bottom, 0px) + var(--oy-wac-lift, 0px));
	transition: bottom .7s var(--oy-ease);
	/* Işıltı tamamen kutunun İÇİNDE kalsın diye kutu görünmez bir boşlukla büyütüldü
	   (iOS Safari katman sınırında kırpmasın). Boşluk tıklamayı engellemez. */
	padding: 24px 24px 28px;
	margin: -24px -24px -28px;
	pointer-events: none;
	border: 0;
	background: none;
	cursor: pointer;
	font: inherit;
	-webkit-tap-highlight-color: transparent;
	right: 26px;
	z-index: 980;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--oy-heading);
}
.oy-wa--left { right: auto; left: 26px; flex-direction: row-reverse; }
.oy-wa__label {
	padding: 10px 18px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	transition: transform .6s var(--oy-ease), opacity .6s var(--oy-ease);
}
.oy-wa__icon {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%;
	background: var(--oy-wa); color: #fff; box-shadow: 0 6px 14px rgba(20, 90, 50, .18);
	transition: transform .6s var(--oy-ease);
}
/* Işıltı: box-shadow yerine yumuşak radyal degrade (Safari/iOS'ta kare kırpılma olmaz) */
.oy-wa__icon, .oy-wac__bubble { pointer-events: auto; }
.oy-wa::before { content: ""; position: absolute; left: 2px; top: 6px; right: 2px; bottom: 2px; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(37, 211, 102, .42), rgba(37, 211, 102, .16) 55%, rgba(37, 211, 102, 0) 100%); pointer-events: none; }
.oy-wa__icon::after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 50%; border: 2px solid var(--oy-wa); animation: oyPulse 2.8s var(--oy-ease) infinite; }
.oy-wa__icon .oy-icon { width: 28px; height: 28px; transition: transform .5s var(--oy-ease), opacity .3s var(--oy-ease); }
/* Hatırlatma balonu */
.oy-wac__bubble {
	position: absolute; top: calc(50% - 2px); right: calc(100% - 8px);
	display: flex; align-items: center; gap: 9px;
	padding: 11px 18px; border-radius: 16px;
	background: #fff; color: var(--oy-heading);
	font-family: var(--oy-font-body); font-size: 14.5px; font-weight: 600; line-height: 1.3; white-space: nowrap;
	box-shadow: 0 14px 34px rgba(40, 46, 36, .16), 0 2px 6px rgba(40, 46, 36, .06);
	opacity: 0; visibility: hidden; pointer-events: none;
	transform: translate(10px, -50%) scale(.92); transform-origin: right center;
	transition: opacity .35s ease, transform .5s cubic-bezier(.2, .9, .25, 1.2), visibility 0s linear .5s;
}
.oy-wac__bubble::after { content: ""; position: absolute; top: 50%; right: -5px; width: 12px; height: 12px; margin-top: -6px; background: #fff; border-radius: 2px; transform: rotate(45deg); }
.oy-wac__bubble-ic { color: #f2b544; font-size: 15px; }
.oy-wac--left .oy-wac__bubble { right: auto; left: calc(100% - 8px); transform-origin: left center; transform: translate(-10px, -50%) scale(.92); }
.oy-wac--left .oy-wac__bubble::after { right: auto; left: -5px; }
.oy-wac.is-bubble .oy-wac__bubble { opacity: 1; visibility: visible; transform: translate(0, -50%); transition: opacity .35s ease, transform .5s cubic-bezier(.2, .9, .25, 1.2), visibility 0s; }
.oy-wac.is-bubble .oy-wac__bubble-ic { animation: oyWacWave 1.4s ease .2s 1; transform-origin: 70% 80%; }
.oy-wac.is-open .oy-wac__bubble, .oy-wac.is-dial .oy-wac__bubble { opacity: 0 !important; visibility: hidden !important; }
/* Mobil alt bardaki balon: barın üstünde, ortada */
.oy-wac__bubble--bar { right: auto; left: 50%; top: auto; bottom: calc(100% + 14px); transform: translate(-50%, 8px) scale(.92); transform-origin: 50% 100%; }
.oy-wac__bubble--bar::after { top: auto; right: auto; bottom: -5px; left: 50%; margin: 0 0 0 -6px; }
.oy-wac.is-bubble .oy-wac__bubble--bar { transform: translate(-50%, 0); }

/* Kanal menüsü */
.oy-wac__fab-ic { font-size: 24px; transition: transform .5s var(--oy-ease), opacity .3s var(--oy-ease); }
.oy-wac--dial.is-dial .oy-wac__fab-ic { opacity: 0; transform: rotate(90deg) scale(.6); }
.oy-wac--dial.is-dial .oy-wac__fab-x { opacity: 1; transform: none; }
.oy-wac--dial.is-dial .oy-wa__icon::after { animation: none; opacity: 0; }
.oy-wac__dial {
	position: fixed; right: 23px; bottom: calc(26px + 58px + 14px + env(safe-area-inset-bottom, 0px) + var(--oy-wac-lift, 0px)); z-index: 981;
	display: flex; flex-direction: column-reverse; align-items: center; gap: 10px;
	padding: 10px 8px; border-radius: 999px; background: #fff;
	box-shadow: 0 20px 50px rgba(40, 46, 36, .18), 0 2px 8px rgba(40, 46, 36, .06);
	opacity: 0; visibility: hidden; pointer-events: none;
	transform: translateY(16px) scale(.85); transform-origin: 50% 100%;
	transition: opacity .3s ease, transform .5s cubic-bezier(.2, .9, .25, 1.2), visibility 0s linear .5s, bottom .7s var(--oy-ease);
}
.oy-wac--left .oy-wac__dial { right: auto; left: 23px; }
.oy-wac.is-dial .oy-wac__dial { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity .3s ease, transform .55s cubic-bezier(.2, .9, .25, 1.2), visibility 0s, bottom .7s var(--oy-ease); }
.oy-wac__ch { position: relative; display: block; }
.oy-wac__ch-ic {
	display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%;
	background: var(--oy-ch, #25d366); color: #fff; font-size: 21px;
	opacity: 0; transform: translateY(10px) scale(.6);
	transition: opacity .3s ease, transform .45s cubic-bezier(.2, .9, .25, 1.3);
}
.oy-wac.is-dial .oy-wac__ch-ic { opacity: 1; transform: none; transition-delay: calc(var(--oy-i, 0) * 45ms + 60ms); }
.oy-wac__ch:hover .oy-wac__ch-ic, .oy-wac__ch:focus-visible .oy-wac__ch-ic { transform: scale(1.1); transition-delay: 0s; }
.oy-wac__ch-lbl {
	position: absolute; top: 50%; right: calc(100% + 16px);
	padding: 7px 12px; border-radius: 8px; background: var(--oy-heading); color: #fff;
	font-family: var(--oy-font-body); font-size: 13px; font-weight: 600; white-space: nowrap;
	opacity: 0; transform: translate(6px, -50%); pointer-events: none;
	transition: opacity .25s ease, transform .3s var(--oy-ease);
}
.oy-wac--left .oy-wac__ch-lbl { right: auto; left: calc(100% + 16px); transform: translate(-6px, -50%); }
.oy-wac__ch:hover .oy-wac__ch-lbl, .oy-wac__ch:focus-visible .oy-wac__ch-lbl { opacity: 1; transform: translate(0, -50%); }

/* --------------------------------------------------------------------------
   WhatsApp sohbet penceresi + mobil alt bar
   -------------------------------------------------------------------------- */
.oy-wac__fab { cursor: pointer; }
.oy-wac__fab-x { position: absolute; right: 24px; bottom: 28px; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 22px; opacity: 0; transform: rotate(-90deg) scale(.6); transition: transform .5s var(--oy-ease), opacity .3s var(--oy-ease); pointer-events: none; }
.oy-wac[data-click="popup"].is-open .oy-wa__icon .oy-icon { opacity: 0; transform: rotate(90deg) scale(.6); }
.oy-wac[data-click="popup"].is-open .oy-wac__fab-x { opacity: 1; transform: none; }
.oy-wac.is-open .oy-wa__icon::after { animation: none; opacity: 0; }

.oy-wac__pop {
	position: fixed;
	right: 26px;
	bottom: calc(26px + 58px + 22px + var(--oy-wac-lift, 0px));
	z-index: 990;
	width: 380px;
	max-width: calc(100vw - 32px);
	border-radius: 20px;
	background: var(--oy-wac-bg);
	background: linear-gradient(155deg, color-mix(in srgb, var(--oy-wac-bg) 82%, #ffffff) 0%, var(--oy-wac-bg) 55%, color-mix(in srgb, var(--oy-wac-bg) 88%, #000000) 100%);
	color: #fff;
	font-family: var(--oy-font-body);
	box-shadow: 0 30px 70px rgba(14, 40, 34, .32), 0 6px 18px rgba(14, 40, 34, .18);
	transform-origin: calc(100% - 30px) calc(100% + 20px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(18px) scale(.9);
	transition: opacity .3s ease, transform .55s cubic-bezier(.2, .9, .25, 1.15), visibility 0s linear .55s, bottom .7s var(--oy-ease);
}
.oy-wac__pop::after { content: ""; position: absolute; right: 24px; bottom: -7px; width: 16px; height: 16px; background: color-mix(in srgb, var(--oy-wac-bg) 90%, #000000); transform: rotate(45deg); border-radius: 0 0 4px 0; }
.oy-wac--left .oy-wac__pop { right: auto; left: 26px; transform-origin: 30px calc(100% + 20px); }
.oy-wac--left .oy-wac__pop::after { right: auto; left: 24px; }
.oy-wac.is-open .oy-wac__pop { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity .35s ease, transform .6s cubic-bezier(.2, .9, .25, 1.15), visibility 0s, bottom .7s var(--oy-ease); }

.oy-wac__close {
	position: absolute; top: -12px; right: -12px; z-index: 2;
	width: 32px; height: 32px; padding: 0; border: 2px solid #fff; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #ef4f5b; color: #fff; font-size: 14px; cursor: pointer;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
	transition: transform .4s var(--oy-ease), background .3s;
}
.oy-wac__close:hover { transform: rotate(90deg); background: #d93b47; }
.oy-wac--left .oy-wac__close { right: auto; left: auto; right: -12px; }

.oy-wac__head { display: flex; align-items: center; gap: 14px; padding: 20px 22px 16px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.oy-wac__avatar { position: relative; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .14); display: flex; align-items: center; justify-content: center; font-size: 22px; }
.oy-wac__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.oy-wac__online { position: absolute; right: -1px; bottom: 1px; width: 12px; height: 12px; border-radius: 50%; background: #3ddc84; border: 2px solid var(--oy-wac-bg); }
.oy-wac__who { min-width: 0; }
.oy-wac__name { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; color: #fff; }
.oy-wac__status { display: inline-flex; align-items: center; gap: 7px; margin-top: 3px; font-size: 12.5px; color: rgba(255, 255, 255, .85); }
.oy-wac__dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: #3ddc84; }
.oy-wac__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #3ddc84; animation: oyWacPing 1.8s ease-out infinite; }
@keyframes oyWacPing { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(2.8); opacity: 0; } }

.oy-wac__body { padding: 18px 22px 22px; }
.oy-wac__body > * { opacity: 0; transform: translateY(10px); transition: opacity .45s ease, transform .55s var(--oy-ease); }
.oy-wac.is-open .oy-wac__body > * { opacity: 1; transform: none; }
.oy-wac.is-open .oy-wac__body > :nth-child(1) { transition-delay: .12s; }
.oy-wac.is-open .oy-wac__body > :nth-child(2) { transition-delay: .2s; }
.oy-wac.is-open .oy-wac__body > :nth-child(3) { transition-delay: .28s; }
.oy-wac.is-open .oy-wac__body > :nth-child(4) { transition-delay: .36s; }
.oy-wac__title { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 18px; font-weight: 700; color: #fff; }
.oy-wac__wave { color: #ffcf5c; font-size: 17px; transform-origin: 70% 80%; }
.oy-wac.is-open .oy-wac__wave { animation: oyWacWave 1.6s ease .5s 2; }
@keyframes oyWacWave { 0%, 60%, 100% { transform: rotate(0); } 10%, 30% { transform: rotate(16deg); } 20%, 40% { transform: rotate(-10deg); } 50% { transform: rotate(8deg); } }
.oy-wac__text { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .93); }
.oy-wac__note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 16px 0 16px; padding: 11px 14px; border-radius: 12px; background: rgba(255, 255, 255, .1); font-size: 12.5px; line-height: 1.45; color: rgba(255, 255, 255, .88); text-align: center; }
.oy-wac__note i { font-size: 12px; opacity: .8; }
.oy-wac__btn {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%; min-height: 52px; padding: 12px 20px; border-radius: 999px;
	background: var(--oy-wac-btn); color: #fff; font-size: 15.5px; font-weight: 700; letter-spacing: .01em;
	box-shadow: 0 12px 26px rgba(0, 0, 0, .2), inset 0 -2px 0 rgba(0, 0, 0, .08);
	transition: transform .35s var(--oy-ease), box-shadow .35s var(--oy-ease), filter .3s;
}
.oy-wac__btn i { font-size: 16px; }
.oy-wac__btn:hover, .oy-wac__btn:focus-visible { color: #fff; transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 16px 32px rgba(0, 0, 0, .24); }
.oy-wabar { display: none; }
@media (prefers-reduced-motion: reduce) {
	.oy-wac__pop, .oy-wac__body > *, .oy-wac__fab-x, .oy-wa__icon .oy-icon { transition: none !important; }
	.oy-wac__wave, .oy-wac__dot::after { animation: none !important; }
}
.oy-wa:hover { color: var(--oy-heading); }
.oy-wa:hover .oy-wa__icon { transform: scale(1.07); }
@keyframes oyPulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.6); opacity: 0; } }

.oy-totop {
	position: fixed;
	right: 33px;
	bottom: 33px;
	z-index: 979;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: var(--oy-dark);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity .6s var(--oy-ease), transform .6s var(--oy-ease), visibility 0s linear .6s, background-color .5s;
}
.oy-totop--left { right: auto; left: 33px; }
.oy-totop.is-visible { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.oy-totop.is-visible ~ .oy-wac { --oy-wac-lift: 62px; }
.oy-wa__label { display: none !important; }
.oy-totop:hover { background: var(--oy-primary); }
.oy-totop .oy-icon { width: 18px; height: 18px; }

.oy-preloader { position: fixed; inset: 0; z-index: 100001; background: var(--oy-bg-alt); display: flex; align-items: center; justify-content: center; transition: opacity .9s var(--oy-ease), visibility 0s linear .9s; }
.oy-preloader__mark { width: 54px; color: var(--oy-heading); animation: oyBreath 1.8s var(--oy-ease) infinite; }
.oy-loaded .oy-preloader { opacity: 0; visibility: hidden; }
@keyframes oyBreath { 0%, 100% { transform: scale(.92); opacity: .6; } 50% { transform: scale(1); opacity: 1; } }

/* ==========================================================================
   12. Görünme animasyonları
   ========================================================================== */
.oy-js [data-oy-anim] {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: var(--oy-dur);
	transition-timing-function: var(--oy-ease);
	transition-delay: var(--oy-delay, 0ms);
	will-change: opacity, transform;
}
.oy-js [data-oy-anim="fade-up"] { transform: translate3d(0, 50px, 0); }
.oy-js [data-oy-anim="fade-down"] { transform: translate3d(0, -40px, 0); }
.oy-js [data-oy-anim="fade-left"] { transform: translate3d(60px, 0, 0); }
.oy-js [data-oy-anim="fade-right"] { transform: translate3d(-60px, 0, 0); }
.oy-js [data-oy-anim="zoom-in"] { transform: scale(.9); }
.oy-js [data-oy-anim="zoom-out"] { transform: scale(1.08); }
/* Reveal: kırpma iç öğeye uygulanır (IntersectionObserver hedefi görünür kalsın diye). */
.oy-js [data-oy-anim="reveal"], .oy-js [data-oy-anim="reveal-left"] { opacity: 1; }
.oy-js [data-oy-anim="reveal"] > *, .oy-js [data-oy-anim="reveal-left"] > * { clip-path: inset(0 0 100% 0); transition: clip-path calc(var(--oy-dur) * 1.3) var(--oy-ease-in-out) var(--oy-delay, 0ms), transform calc(var(--oy-dur) * 1.8) var(--oy-ease) var(--oy-delay, 0ms); }
.oy-js [data-oy-anim="reveal-left"] > * { clip-path: inset(0 100% 0 0); }
.oy-js [data-oy-anim="reveal"].is-inview > *, .oy-js [data-oy-anim="reveal-left"].is-inview > * { clip-path: inset(0 0 0 0); }
.oy-js [data-oy-anim].oy-anim-done > * { clip-path: none; }
/* Görünür olunca hiçbir şey kırpılmaz (gölge, rozet, büyüme efektleri taşabilir). */
.oy-js [data-oy-anim].is-inview { opacity: 1; transform: none; clip-path: none; }
.oy-js [data-oy-anim].oy-anim-done { will-change: auto; }

.oy-reveal-img { overflow: hidden; }
.oy-reveal-img img { transform: scale(1.18); transition: transform calc(var(--oy-dur) * 1.8) var(--oy-ease); transition-delay: var(--oy-delay, 0ms); }
.oy-reveal-img.is-inview img, .oy-no-anim .oy-reveal-img img { transform: none; }

.elementor-editor-active [data-oy-anim],
.elementor-editor-preview [data-oy-anim],
.oy-no-anim [data-oy-anim] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.elementor-editor-active .oy-reveal-img img, .oy-no-anim [data-oy-anim] > * { transform: none; clip-path: none !important; }

@media (prefers-reduced-motion: reduce) {
	.oy-js [data-oy-anim] { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   13. Widget: Bölüm Başlığı
   ========================================================================== */
.oy-heading { position: relative; }
.oy-heading--center { text-align: center; }
.oy-heading--right { text-align: right; }
.oy-heading .oy-title { margin-bottom: 0; }
.oy-heading .oy-lead { margin-top: 24px; }
.oy-heading--center .oy-lead { max-width: 660px; margin-left: auto; margin-right: auto; }

/* ==========================================================================
   14. Widget: Hero Slider
   ========================================================================== */
.oy-hero {
	position: relative;
	--oy-hero-h: 100vh;
	--oy-hero-x: 0px;
	height: var(--oy-hero-h);
	min-height: 620px;
	background: var(--oy-bg);
}
@supports (height: 100svh) { @media (min-width: 768px) { .oy-hero { --oy-hero-h: 100svh; } } }
.oy-hero__frame {
	position: absolute;
	inset: 0;
	overflow: hidden;
	clip-path: inset(0 var(--oy-hero-x) 0 var(--oy-hero-x));
	background: var(--oy-dark);
	will-change: clip-path;
}
.oy-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.6s var(--oy-ease), visibility 0s linear 1.6s; }
.oy-hero__slide.is-active { opacity: 1; visibility: visible; transition: opacity 1.6s var(--oy-ease), visibility 0s; z-index: 1; }
.oy-hero__bg { position: absolute; inset: -2px; background-size: cover; background-position: var(--oy-bgpos, center); transform: scale(1.12); transition: transform 7s cubic-bezier(.2, .6, .3, 1); }
.oy-hero__slide.is-active .oy-hero__bg { transform: scale(1); }
.oy-hero__bg--static, .oy-hero__slide.is-active .oy-hero__bg--static { transform: none; transition: none; }
@media (max-width: 767px) { .oy-hero__bg { background-position: var(--oy-bgpos-m, var(--oy-bgpos, center)); } }
.oy-hero__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 20, 16, .78) 0%, rgba(18, 20, 16, .45) 42%, rgba(18, 20, 16, .05) 78%); opacity: var(--oy-hero-overlay, 1); }
.oy-hero__content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: calc(var(--oy-header-h) * .55);
	padding-bottom: 60px;
	color: #fff;
}
.oy-hero__content > * { max-width: 760px; }
.oy-hero--center .oy-hero__content { align-items: center; text-align: center; }
.oy-hero--center .oy-hero__content > * { margin-left: auto; margin-right: auto; }
.oy-hero__subtitle { color: #fff; margin-bottom: 20px; font-size: 15px; letter-spacing: .2em; }
.oy-hero__title { color: #fff; font-size: clamp(46px, 6.2vw, 96px); line-height: 1.02; margin: 0 0 30px; letter-spacing: -.01em; }
.oy-hero__text { color: rgba(255, 255, 255, .92); font-size: 18px; line-height: 1.7; margin: 0 0 44px; max-width: 600px; }
.oy-hero__btns { display: flex; flex-wrap: wrap; gap: 16px; }
.oy-hero__btns .oy-btn { padding: 19px 56px; }
.oy-hero__btns .oy-btn--outline { color: #fff; }
.oy-hero__btns .oy-btn--outline::before { background: #fff; }
.oy-hero__btns .oy-btn--outline:hover { color: var(--oy-heading); }

.oy-hero__slide .oy-hero__content > * { opacity: 0; transform: translate3d(0, 40px, 0); transition: opacity 1s var(--oy-ease), transform 1.2s var(--oy-ease); }
.oy-hero__slide.is-active .oy-hero__content > * { opacity: 1; transform: none; }
.oy-hero__slide.is-active .oy-hero__content > *:nth-child(1) { transition-delay: .35s; }
.oy-hero__slide.is-active .oy-hero__content > *:nth-child(2) { transition-delay: .5s; }
.oy-hero__slide.is-active .oy-hero__content > *:nth-child(3) { transition-delay: .7s; }
.oy-hero__slide.is-active .oy-hero__content > *:nth-child(4) { transition-delay: .9s; }

.oy-hero__nav {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 46px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	pointer-events: none;
}
.oy-hero__nav > * { pointer-events: auto; }
.oy-hero__dots { display: flex; gap: 14px; }
.oy-hero__dot { position: relative; width: 60px; height: 2px; padding: 10px 0; border: 0; background: transparent; cursor: pointer; }
.oy-hero__dot::before, .oy-hero__dot::after { content: ''; position: absolute; left: 0; top: 50%; height: 2px; margin-top: -1px; }
.oy-hero__dot::before { right: 0; background: rgba(255, 255, 255, .3); }
.oy-hero__dot::after { width: 0; background: #fff; }
.oy-hero__dot.is-active::after { animation: oyDotFill var(--oy-hero-interval, 7000ms) linear forwards; }
.oy-hero.is-paused .oy-hero__dot.is-active::after { animation-play-state: paused; }
@keyframes oyDotFill { to { width: 100%; } }
.oy-hero__arrows { display: flex; gap: 12px; }
.oy-hero__arrow {
	width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); background: transparent; color: #fff;
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
	transition: background-color .6s var(--oy-ease), border-color .6s var(--oy-ease), color .6s var(--oy-ease);
}
.oy-hero__arrow:hover { background: #fff; border-color: #fff; color: var(--oy-heading); }
.oy-hero__arrow .oy-icon { width: 20px; height: 20px; }
.oy-hero__scroll { position: absolute; z-index: 3; left: 50%; bottom: 36px; transform: translateX(-50%); color: #fff; display: inline-flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.oy-hero__scroll span { display: block; width: 1px; height: 46px; background: rgba(255, 255, 255, .35); position: relative; overflow: hidden; }
.oy-hero__scroll span::after { content: ''; position: absolute; left: 0; top: -100%; width: 1px; height: 100%; background: #fff; animation: oyScrollLine 2.4s var(--oy-ease) infinite; }
@keyframes oyScrollLine { to { top: 100%; } }

/* ==========================================================================
   15. Widget: Hizmetler
   ========================================================================== */
.oy-services { position: relative; padding: var(--oy-section-pad) 0; }
.oy-services__decor { position: absolute; right: 2%; bottom: 40px; width: 70px; color: var(--oy-accent); pointer-events: none; }
.oy-services__grid { display: grid; grid-template-columns: repeat(var(--oy-cols, 4), minmax(0, 1fr)); gap: 80px 40px; }
.oy-service { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; color: inherit; }
.oy-services--left .oy-service { align-items: flex-start; text-align: left; }
.oy-service__icon { display: inline-flex; width: 76px; height: 76px; margin-bottom: 30px; color: var(--oy-primary); transition: transform 1s var(--oy-ease), color .6s var(--oy-ease); }
.oy-service__icon svg, .oy-service__icon i { width: 100%; height: 100%; font-size: 70px; }
.oy-service__icon .oy-line-icon { stroke-width: 1.45; }
.oy-service:hover .oy-service__icon { transform: translateY(-8px) rotate(-6deg); color: var(--oy-primary-dark); }
.oy-service__title { font-size: clamp(22px, 1.8vw, 27px); line-height: 1.25; margin: 0 0 16px; color: var(--oy-heading); }
.oy-service__title span { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-size: 0 1px; background-position: 0 100%; transition: background-size .9s var(--oy-ease); padding-bottom: 2px; }
a.oy-service:hover .oy-service__title span { background-size: 100% 1px; }
.oy-service__text { font-size: 16.5px; line-height: 1.7; max-width: 300px; margin: 0; }
.oy-services__foot { margin-top: 80px; text-align: center; }

/* Hover'da renkli kutu (Resurs "Featured services" gibi) */
.oy-services--box .oy-services__grid { column-gap: 0; row-gap: 24px; }
.oy-services--box .oy-service { padding: 58px 34px 62px; isolation: isolate; }
.oy-services--box .oy-service::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--oy-primary);
	box-shadow: 0 24px 50px rgba(40, 46, 36, .16);
	opacity: 0;
	transform: scale(.96);
	transition: opacity .6s var(--oy-ease), transform .6s var(--oy-ease);
	pointer-events: none;
}
.oy-services--box .oy-service:hover::before { opacity: 1; transform: none; }
.oy-services--box .oy-service__title, .oy-services--box .oy-service__text { transition: color .5s var(--oy-ease); }
.oy-services--box .oy-service:hover .oy-service__icon,
.oy-services--box .oy-service:hover .oy-service__title,
.oy-services--box .oy-service:hover .oy-service__text { color: #fff; }
.oy-services--box .oy-service:hover .oy-service__icon { transform: none; }
.oy-services--box .oy-services__foot { margin-top: 60px; }

/* ==========================================================================
   16. Widget: Hakkımızda
   ========================================================================== */
.oy-about { position: relative; padding: var(--oy-section-pad) 0; overflow: hidden; }
.oy-about__grid { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1fr); column-gap: clamp(40px, 9vw, 140px); align-items: start; }
.oy-about__media { position: relative; z-index: 1; overflow: hidden; }
.oy-about__grid { position: relative; z-index: 1; }
.oy-about__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.oy-about__media--main { aspect-ratio: 520 / 600; margin-top: 30px; }
.oy-about__media--second { aspect-ratio: 630 / 400; margin-top: 110px; }
.oy-about__body { max-width: 560px; }
.oy-about__text { margin-top: 6px; }
.oy-about__text p { margin-bottom: 1em; }
.oy-about__sign { display: flex; align-items: center; gap: 18px; margin-top: 36px; }
.oy-about__sign-name { font-family: var(--oy-font-heading); font-size: 22px; color: var(--oy-heading); line-height: 1.3; }
.oy-about__sign-role { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.oy-about__btn { margin-top: 40px; }
.oy-about__decor-leaf { position: absolute; z-index: 0; top: 20px; right: -20px; width: clamp(160px, 18vw, 300px); color: var(--oy-accent); pointer-events: none; }
.oy-about__decor-swirl { position: absolute; z-index: 0; left: 0; bottom: 10px; width: clamp(170px, 16vw, 260px); color: var(--oy-accent); pointer-events: none; line-height: 0; }
.oy-about__decor-swirl svg { display: block; width: 100%; height: auto; }
/* Ana görsel altı: yaklaşım kutusu + eğitim listesi */
.oy-about__aside { margin-top: 48px; display: flex; flex-direction: column; gap: 44px; }
.oy-about__box { position: relative; background: var(--oy-bg-alt); padding: 44px 40px 38px; }
.oy-about__box::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--oy-accent); }
.oy-about__box-mark { position: absolute; top: 14px; right: 26px; font-family: var(--oy-font-heading); font-size: 96px; line-height: 1; color: var(--oy-accent); opacity: .35; pointer-events: none; }
.oy-about__box-title { font-family: var(--oy-font-heading); font-size: 26px; line-height: 1.3; color: var(--oy-heading); margin-bottom: 12px; }
.oy-about__box-text { margin: 0; font-size: 17px; line-height: 1.75; }
.oy-about__facts-title { font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--oy-primary-dark); margin-bottom: 10px; }
.oy-about__facts-list { list-style: none; margin: 0; padding: 0; }
.oy-about__fact { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(40, 46, 36, .1); }
.oy-about__fact:last-child { border-bottom: 0; padding-bottom: 0; }
.oy-about__fact-label { font-family: var(--oy-font-heading); font-size: 18px; line-height: 1.45; color: var(--oy-heading); }
.oy-about__fact-value { font-size: 16px; line-height: 1.65; }
.oy-about--reverse .oy-about__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .83fr); }
.oy-about--reverse .oy-about__col--media { order: 2; }

/* ==========================================================================
   17. Widget: Nasıl Çalışır (adımlar)
   ========================================================================== */
.oy-steps { padding: var(--oy-section-pad) 0; }
.oy-steps--alt { background: var(--oy-bg-alt); }
.oy-steps__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(40px, 8vw, 150px); align-items: start; }
.oy-steps__intro { position: sticky; top: calc(var(--oy-header-h-sticky) + 40px); }
.oy-steps__intro .oy-lead { max-width: 500px; }
.oy-steps__intro .oy-btn { margin-top: 40px; }
.oy-steps__list { list-style: none; margin: 0; padding: 0; }
.oy-step { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0 84px; padding-bottom: 50px; }
.oy-step:last-child { padding-bottom: 0; }
.oy-step::before {
	content: '';
	position: absolute;
	left: 28px;
	top: 76px;
	bottom: 20px;
	width: 1px;
	background: #d4d2cd;
}
.oy-step:last-child::before { display: none; }
.oy-step__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff;
	color: var(--oy-heading);
	transition: background-color .7s var(--oy-ease), color .7s var(--oy-ease), transform .7s var(--oy-ease), box-shadow .7s var(--oy-ease);
}
.oy-steps:not(.oy-steps--alt) .oy-step__icon { background: var(--oy-bg-alt); }
.oy-step__icon svg { width: 26px; height: 26px; }
.oy-step__icon .oy-line-icon { stroke-width: 2.4; }
.oy-step__icon i { font-size: 22px; }
.oy-step:hover .oy-step__icon { background: var(--oy-primary-dark); color: #fff; transform: scale(1.06); box-shadow: 0 14px 30px rgba(40, 46, 36, .18); }
.oy-step__title { font-size: clamp(26px, 2.2vw, 33px); line-height: 1.2; margin: 6px 0 16px; transition: color .6s var(--oy-ease); }
.oy-step:hover .oy-step__title { color: var(--oy-primary-dark); }
.oy-step__text { font-size: 16.5px; max-width: 470px; margin: 0; }
.oy-step__num { font-family: var(--oy-font-heading); font-size: 14px; letter-spacing: .14em; color: var(--oy-accent-dark); }

/* ==========================================================================
   18. Widget: Neden Biz / İlerleme Çubukları
   ========================================================================== */
.oy-progress { position: relative; padding: var(--oy-section-pad) 0; overflow: hidden; }
.oy-progress--alt { background: var(--oy-bg-alt); }
.oy-progress__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 120px); align-items: end; }
.oy-progress__intro .oy-lead { max-width: 560px; }
.oy-progress__contact { display: inline-flex; align-items: center; gap: 16px; margin-top: 70px; font-family: var(--oy-font-heading); font-size: 19px; color: var(--oy-heading); }
.oy-progress__contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--oy-bg-alt); transition: background-color .6s var(--oy-ease), color .6s var(--oy-ease); }
.oy-progress--alt .oy-progress__contact-icon { background: #fff; }
.oy-progress__contact-icon .oy-icon { width: 18px; height: 18px; }
.oy-progress__contact:hover { color: var(--oy-primary-dark); }
.oy-progress__contact:hover .oy-progress__contact-icon { background: var(--oy-primary-dark); color: #fff; }
.oy-progress__badge { position: absolute; top: 34px; left: 3%; display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 50%; border: 1px solid var(--oy-primary); color: var(--oy-heading); transition: transform 1s var(--oy-ease), background-color .6s; }
.oy-progress__badge:hover { transform: rotate(45deg); background: var(--oy-primary); color: #fff; }
.oy-progress__badge .oy-icon { width: 18px; height: 18px; }
.oy-progress__decor { position: absolute; top: 40px; right: -10px; width: clamp(150px, 15vw, 260px); color: var(--oy-accent); pointer-events: none; }
.oy-bars { display: flex; flex-direction: column; gap: 38px; padding-bottom: 6px; }
.oy-bar__head { position: relative; display: flex; justify-content: space-between; margin-bottom: 14px; font-family: var(--oy-font-heading); font-size: 19px; color: var(--oy-heading); line-height: 1.3; }
.oy-bar__pct { position: absolute; top: 0; left: 0; transition: left 2.2s var(--oy-ease); }
.oy-bar.is-inview .oy-bar__pct { left: calc(var(--p) - 46px); }
.oy-bar__track { height: 6px; border-radius: 6px; background: #ebebeb; overflow: hidden; }
.oy-progress--alt .oy-bar__track { background: #e7e4df; }
.oy-bar__fill { display: block; height: 100%; width: 0; border-radius: 6px; background: var(--oy-primary); transition: width 2.2s var(--oy-ease); }
.oy-bar.is-inview .oy-bar__fill { width: var(--p); }

/* ==========================================================================
   19. Widget: Danışan Yorumları
   ========================================================================== */
.oy-testi { position: relative; background: #000; color: #fff; overflow: hidden; min-height: 680px; display: flex; align-items: center; }
.oy-testi__media { position: absolute; top: 0; bottom: 0; left: 0; width: 62%; }
.oy-testi__media img { width: 100%; height: 100%; object-fit: cover; }
.oy-testi__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .7) 72%, #000 94%); }
.oy-testi__inner { position: relative; z-index: 2; width: 100%; }
.oy-testi__content { margin-left: 55%; max-width: 560px; padding: 120px 0; }
.oy-testi .oy-subtitle { color: #fff; }
.oy-testi .oy-title { color: #fff; margin-bottom: 36px; }
.oy-testi__slides { position: relative; display: grid; }
.oy-testi__slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity 1.1s var(--oy-ease), transform 1.1s var(--oy-ease), visibility 0s linear 1.1s; }
.oy-testi__slide.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: .15s, .15s, 0s; }
.oy-testi__quote { font-family: var(--oy-font-heading); font-size: 19px; line-height: 1.85; color: rgba(255, 255, 255, .92); margin: 0 0 40px; }
.oy-testi__author { display: flex; align-items: center; gap: 24px; }
.oy-testi__avatar { position: relative; flex: 0 0 78px; width: 78px; height: 78px; }
.oy-testi__avatar img { width: 78px; height: 78px; border-radius: 50%; object-fit: cover; }
.oy-testi__avatar-ph { width: 78px; height: 78px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); font-family: var(--oy-font-heading); font-size: 26px; color: #fff; }
.oy-testi__badge { position: absolute; right: -4px; bottom: -2px; width: 28px; height: 28px; border-radius: 50%; background: var(--oy-primary); color: #fff; display: flex; align-items: center; justify-content: center; }
.oy-testi__badge .oy-icon { width: 12px; height: 12px; }
.oy-testi__name { display: block; font-family: var(--oy-font-heading); font-size: 20px; color: #fff; line-height: 1.3; }
.oy-testi__role { font-size: 15px; color: rgba(255, 255, 255, .7); }
.oy-testi__dots { display: flex; gap: 10px; margin-top: 46px; }
.oy-testi__dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); background: transparent; padding: 0; cursor: pointer; transition: background-color .6s var(--oy-ease), transform .6s var(--oy-ease); }
.oy-testi__dot.is-active { background: #fff; transform: scale(1.2); }

/* ==========================================================================
   20. Widget: CTA Bandı
   ========================================================================== */
.oy-cta { position: relative; background: var(--oy-accent); padding: 82px 0; overflow: hidden; }
.oy-cta__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.oy-cta__title { color: #fff; font-size: clamp(30px, 3.4vw, 52px); line-height: 1.15; margin: 0; max-width: 1000px; }
.oy-cta__text { color: rgba(255, 255, 255, .9); margin: 14px 0 0; }
.oy-cta .oy-btn { flex: 0 0 auto; min-width: 178px; }
.oy-cta__decor { position: absolute; bottom: 0; width: clamp(140px, 16vw, 280px); color: var(--oy-accent-dark); pointer-events: none; line-height: 0; }
.oy-cta__decor--left { left: 0; }
.oy-cta__decor--right { right: 0; }
.oy-cta__star { position: absolute; width: 26px; color: var(--oy-accent-dark); opacity: .8; animation: oySpin 18s linear infinite; }
.oy-cta__star--1 { left: 9%; top: 52%; }
.oy-cta__star--2 { right: 9.5%; top: 20%; width: 22px; }
@keyframes oySpin { to { transform: rotate(360deg); } }

/* ==========================================================================
   21. Widget: Son Yazılar
   ========================================================================== */
.oy-latest { padding: var(--oy-section-pad) 0; }
.oy-latest--alt { background: var(--oy-bg-alt); }
.oy-latest .oy-head { margin-bottom: 56px; }
.oy-latest__grid { display: grid; grid-template-columns: repeat(var(--oy-cols, 3), minmax(0, 1fr)); gap: 30px; }
.oy-latest:not(.oy-latest--alt) .oy-card { background: var(--oy-bg-alt); }
.oy-latest__foot { margin-top: 56px; text-align: center; }

/* ==========================================================================
   22. Widget: Galeri + Lightbox
   ========================================================================== */
.oy-gallery { padding: 70px 0; }
.oy-gallery__grid { display: grid; grid-template-columns: repeat(var(--oy-cols, 6), minmax(0, 1fr)); gap: var(--oy-gap, 26px); }
.oy-gallery__item { position: relative; display: block; overflow: hidden; aspect-ratio: var(--oy-ratio, 1); background: var(--oy-bg-alt); }
.oy-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--oy-ease); }
.oy-gallery__item::after { content: ''; position: absolute; inset: 0; background: var(--oy-heading); opacity: 0; transition: opacity .8s var(--oy-ease); }
.oy-gallery__zoom { position: absolute; z-index: 2; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: #fff; color: var(--oy-heading); display: flex; align-items: center; justify-content: center; transform: scale(.4); opacity: 0; transition: transform .8s var(--oy-ease), opacity .8s var(--oy-ease); }
.oy-gallery__zoom .oy-icon { width: 20px; height: 20px; }
.oy-gallery__item:hover img { transform: scale(1.08); }
.oy-gallery__item:hover::after { opacity: .35; }
.oy-gallery__item:hover .oy-gallery__zoom { transform: none; opacity: 1; }
.oy-gallery--wide { padding-left: 3.4%; padding-right: 3.4%; }

.oy-lightbox { position: fixed; inset: 0; z-index: 100002; background: rgba(18, 19, 17, .94); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .8s var(--oy-ease), visibility 0s linear .8s; }
.oy-lightbox.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.oy-lightbox__figure { margin: 0; max-width: 88vw; max-height: 84vh; transform: scale(.94); transition: transform .9s var(--oy-ease), opacity .5s var(--oy-ease); }
.oy-lightbox.is-open .oy-lightbox__figure { transform: none; }
.oy-lightbox__figure.is-switching { opacity: 0; }
.oy-lightbox__img { max-width: 88vw; max-height: 84vh; object-fit: contain; display: block; }
.oy-lightbox__btn { position: absolute; width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .5s, color .5s; }
.oy-lightbox__btn:hover { background: #fff; color: var(--oy-heading); }
.oy-lightbox__btn .oy-icon { width: 22px; height: 22px; }
.oy-lightbox__close { top: 26px; right: 26px; }
.oy-lightbox__prev { left: 26px; top: 50%; margin-top: -28px; }
.oy-lightbox__next { right: 26px; top: 50%; margin-top: -28px; }
.oy-lightbox__count { position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, .7); font-size: 14px; letter-spacing: .14em; }

/* ==========================================================================
   23. Widget: Sayaçlı Tanıtım
   ========================================================================== */
.oy-stats { padding: var(--oy-section-pad) 0; }
.oy-stats--alt { background: var(--oy-bg-alt); }
.oy-stats__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 9vw, 140px); align-items: start; }
.oy-stats__media { position: sticky; top: calc(var(--oy-header-h-sticky) + 30px); aspect-ratio: 630 / 720; overflow: hidden; }
.oy-stats__media img { width: 100%; height: 100%; object-fit: cover; }
.oy-stats__body { padding-top: 0; }
.oy-stats__arrow { display: inline-flex; margin: 50px 0 70px; color: var(--oy-heading); }
.oy-stats__arrow .oy-icon { width: 28px; height: 28px; stroke-width: 1.2; animation: oyBob 2.6s var(--oy-ease) infinite; }
.oy-counters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px 30px; }
.oy-counter__num { display: block; font-family: var(--oy-font-heading); font-size: clamp(64px, 7vw, 104px); line-height: 1; color: var(--oy-heading); padding-bottom: 34px; border-bottom: 1px solid #d9d6d0; margin-bottom: 30px; font-variant-numeric: lining-nums; }
.oy-counter__label { font-family: var(--oy-font-heading); font-size: 24px; color: var(--oy-heading); line-height: 1.3; }

/* ==========================================================================
   24. Widget: Kayan Yazı
   ========================================================================== */
.oy-marquee { padding: 90px 0; overflow: hidden; }
.oy-marquee--alt { background: var(--oy-bg-alt); }
.oy-marquee__row { display: flex; white-space: nowrap; overflow: hidden; }
.oy-marquee__row + .oy-marquee__row { margin-top: 10px; }
.oy-marquee__track { display: inline-flex; align-items: center; gap: var(--oy-mq-gap, 50px); padding-right: var(--oy-mq-gap, 50px); will-change: transform; }
.oy-marquee__text { font-family: var(--oy-font-heading); font-size: var(--oy-mq-size, clamp(48px, 7vw, 110px)); line-height: 1.15; color: var(--oy-primary); }
.oy-marquee__sep { display: inline-flex; width: var(--oy-mq-icon, 96px); color: var(--oy-accent); flex: 0 0 auto; }
.oy-marquee__sep .oy-decor, .oy-marquee__sep svg { width: 100%; display: block; }
.oy-marquee--outline .oy-marquee__row:nth-child(2) .oy-marquee__text { color: transparent; -webkit-text-stroke: 1px var(--oy-primary); }

/* ==========================================================================
   25. Widget: Arka Planlı Form & İletişim
   ========================================================================== */
.oy-formsec { position: relative; display: flex; align-items: center; min-height: 780px; padding: 90px 0; background-size: cover; background-position: center; background-color: var(--oy-bg-alt); }
.oy-formsec::before { content: ''; position: absolute; inset: 0; background: #000; opacity: var(--oy-formsec-overlay, 0); }
.oy-formsec__inner { position: relative; z-index: 1; width: 100%; display: flex; justify-content: flex-end; }
.oy-formsec--left .oy-formsec__inner { justify-content: flex-start; }
.oy-formsec--center .oy-formsec__inner { justify-content: center; }
.oy-formsec__card { width: 100%; max-width: 660px; padding: 78px 76px 84px; background: var(--oy-bg-alt); }
.oy-formsec__card .oy-title { font-size: clamp(32px, 3.4vw, 48px); margin-bottom: 30px; }
.oy-formsec__text { margin: -10px 0 30px; }

.oy-contact { padding: var(--oy-section-pad) 0; }
.oy-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: clamp(40px, 8vw, 140px); }
.oy-contact__intro .oy-title { font-size: clamp(36px, 4vw, 60px); }
.oy-contact__list { list-style: none; margin: 40px 0 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.oy-contact__item { display: flex; align-items: flex-start; gap: 18px; font-size: 17px; color: var(--oy-text); }
.oy-contact__item .oy-icon { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 3px; color: var(--oy-primary-dark); stroke-width: 1.3; }
.oy-contact__item a { color: var(--oy-text); }
.oy-contact__item a:hover { color: var(--oy-primary-dark); }
.oy-contact__item--phone a { font-family: var(--oy-font-heading); font-size: 22px; color: var(--oy-heading); }
.oy-contact__item small { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--oy-heading); margin-bottom: 2px; }
.oy-contact__social { margin-top: 40px; }
@media (min-width: 1025px) {
	.oy-contact__grid { align-items: start; }
	.oy-contact__form, .oy-contact__map { position: sticky; top: calc(var(--oy-header-h-sticky) + 40px); }
	.admin-bar .oy-contact__form, .admin-bar .oy-contact__map { top: calc(var(--oy-header-h-sticky) + 72px); }
}

.oy-map { line-height: 0; }
.oy-map iframe { width: 100%; height: var(--oy-map-h, 520px); border: 0; display: block; }
.oy-map--gray iframe { filter: grayscale(1) contrast(1.05) opacity(.92); transition: filter 1s var(--oy-ease); }
.oy-map--gray:hover iframe { filter: none; }
/* İletişim: formun yerinde kare harita */
.oy-contact__map { aspect-ratio: 1 / 1; width: 100%; max-height: calc(100vh - var(--oy-header-h-sticky) - 80px); min-height: 320px; overflow: hidden; background: var(--oy-bg-alt); align-self: start; }
.oy-contact__map iframe { width: 100% !important; height: 100% !important; }
.oy-contact__map.oy-notice { display: flex; align-items: center; justify-content: center; padding: 30px; text-align: center; line-height: 1.5; }

/* ==========================================================================
   26. Contact Form 7
   ========================================================================== */
.wpcf7 { position: relative; }
.wpcf7-form .oy-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 30px; }
.wpcf7-form .oy-field { position: relative; min-width: 0; }
.wpcf7-form .oy-field--full { grid-column: 1 / -1; }
.wpcf7-form .oy-form-grid--single { grid-template-columns: minmax(0, 1fr); gap: 22px; }

/* Yan Form (yapışkan iletişim kutusu) */
.oy-sform { background: var(--oy-bg-alt); padding: 44px 36px 44px; }
.oy-sform__title { font-size: 24px; line-height: 1.3; margin: 0 0 12px; }
.oy-sform__title--info { margin-top: 40px; margin-bottom: 20px; }
.oy-sform__text { margin: 0 0 14px; font-size: 15px; line-height: 1.6; }
.oy-sform .wpcf7-form .oy-form-grid--single { gap: 4px; }
.oy-sform .wpcf7-form input[type="text"], .oy-sform .wpcf7-form input[type="email"], .oy-sform .wpcf7-form input[type="tel"], .oy-sform .wpcf7-form textarea { padding: 12px 0 12px; font-size: 15.5px; }
.oy-sform .wpcf7-form textarea { height: 78px; min-height: 60px; }
.oy-sform .wpcf7-form .oy-form-foot { margin-top: 22px; gap: 22px; }
.oy-sform .wpcf7-form .oy-form-foot--stack .wpcf7-acceptance { margin-bottom: 0; }
.oy-sform .wpcf7-form .wpcf7-list-item label { font-size: 13.5px; }
.oy-sform .wpcf7-form .wpcf7-submit, .oy-sform .wpcf7-form .oy-btn { width: auto; }
.oy-sform .wpcf7-form .wpcf7-submit { padding: 12px 30px 12px 54px; font-size: 15.5px; background-position: 27px center; background-size: 16px; }
.oy-sform__info { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.oy-sform__info li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; align-items: start; font-size: 15.5px; line-height: 1.65; }
.oy-sform__info .oy-icon { width: 26px; height: 26px; margin-top: 2px; color: var(--oy-accent); stroke-width: 1.4; }
.oy-sform__info a, .oy-sform__info span { color: var(--oy-text); overflow-wrap: anywhere; }
.oy-sform__info a:hover { color: var(--oy-primary-dark); }

/* Öne Çıkan Hizmetler (yan sütun, yapışkan) */
.oy-fsvc { background: var(--oy-bg-alt); padding: 34px 26px 28px; }
.oy-fsvc__title { font-family: var(--oy-font-heading); font-weight: var(--oy-heading-weight); color: var(--oy-heading); font-size: 24px; line-height: 1.25; margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--oy-border); }
.oy-fsvc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.oy-fsvc__link {
	display: flex; align-items: center; gap: 12px;
	padding: 10px 14px; background: #fff; color: var(--oy-heading);
	font-family: var(--oy-font-heading); font-size: 15.5px; line-height: 1.28;
	transition: background-color .5s var(--oy-ease), color .5s var(--oy-ease), padding .5s var(--oy-ease);
}
.oy-fsvc__icon { flex: 0 0 30px; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; color: var(--oy-primary); transition: color .5s var(--oy-ease); }
.oy-fsvc__icon svg, .oy-fsvc__icon img { width: 27px; height: 27px; }
.oy-fsvc__icon .oy-line-icon { stroke-width: 2; }
.oy-fsvc__name { flex: 1 1 auto; min-width: 0; }
.oy-fsvc__arrow { flex: 0 0 14px; width: 14px; height: 14px; opacity: .45; transform: translateX(-4px); transition: opacity .5s var(--oy-ease), transform .5s var(--oy-ease); }
.oy-fsvc__arrow .oy-icon { width: 14px; height: 14px; display: block; }
.oy-fsvc__link:hover, .oy-fsvc__link:focus-visible, .oy-fsvc__link.is-current { background: var(--oy-primary-dark); color: #fff; }
.oy-fsvc__link:hover .oy-fsvc__icon, .oy-fsvc__link:focus-visible .oy-fsvc__icon, .oy-fsvc__link.is-current .oy-fsvc__icon { color: #fff; }
.oy-fsvc__link:hover .oy-fsvc__icon img, .oy-fsvc__link.is-current .oy-fsvc__icon img { filter: brightness(0) invert(1); }
.oy-fsvc__link:hover .oy-fsvc__arrow, .oy-fsvc__link:focus-visible .oy-fsvc__arrow, .oy-fsvc__link.is-current .oy-fsvc__arrow { opacity: 1; transform: none; }
.oy-fsvc__btn { width: 100%; margin-top: 20px; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; position: relative; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	padding: 13px 0 15px;
	border: 0;
	border-bottom: 1px solid #d5d2cc;
	border-radius: 0;
	background: transparent;
	color: var(--oy-heading);
	font-family: var(--oy-font-body);
	font-size: 16px;
	line-height: 1.5;
	outline: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .6s var(--oy-ease);
}
.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus { border-color: var(--oy-primary-dark); }
.wpcf7-form ::placeholder { color: #8a8d86; opacity: 1; }
.wpcf7-form textarea { height: 110px; min-height: 90px; resize: vertical; }
.wpcf7-form select {
	padding-right: 30px; cursor: pointer; color: #8a8d86;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282e24' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 2px center / 14px no-repeat;
}
.wpcf7-form select.oy-selected, .wpcf7-form select:focus { color: var(--oy-heading); }
.wpcf7-form .oy-form-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 24px 40px; margin-top: 50px; }
.wpcf7-form .oy-form-foot--stack { flex-direction: column-reverse; align-items: flex-start; }
.wpcf7-form .oy-form-foot--stack .wpcf7-acceptance { margin-bottom: 14px; }
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item, .wpcf7-form .wpcf7-radio .wpcf7-list-item { margin: 0; }
.wpcf7-form .wpcf7-list-item label { display: inline-flex; align-items: flex-start; gap: 12px; font-size: 14.5px; line-height: 1.5; cursor: pointer; color: var(--oy-text); }
.wpcf7-form .wpcf7-list-item input[type="checkbox"], .wpcf7-form .wpcf7-list-item input[type="radio"] {
	-webkit-appearance: none; appearance: none; flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; border: 1px solid #c9c6bf; border-radius: 3px; background: #fff; cursor: pointer; position: relative; transition: background-color .4s, border-color .4s;
}
.wpcf7-form .wpcf7-list-item input[type="radio"] { border-radius: 50%; }
.wpcf7-form .wpcf7-list-item input:checked { background: var(--oy-primary); border-color: var(--oy-primary); }
.wpcf7-form .wpcf7-list-item input[type="checkbox"]:checked::after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.wpcf7-form .wpcf7-list-item label a { color: var(--oy-heading); text-decoration: underline; text-underline-offset: 3px; }
.wpcf7-form .wpcf7-submit {
	padding: 18px 46px 18px 72px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2L11 13M22 2l-7 20-4-9-9-4z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 38px center;
	background-size: 19px;
}
.wpcf7-form .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }
.wpcf7-form .wpcf7-spinner { position: absolute; margin: 0 0 0 12px; background-color: var(--oy-primary-dark); }
.wpcf7-form .wpcf7-not-valid-tip { position: absolute; left: 0; top: 100%; margin-top: 4px; font-size: 13px; color: var(--oy-accent-dark); }
.wpcf7-form .wpcf7-not-valid { border-color: var(--oy-accent-dark) !important; }
.wpcf7 form .wpcf7-response-output { margin: 30px 0 0; padding: 14px 20px; border: 1px solid var(--oy-primary); border-radius: 0; font-size: 15px; color: var(--oy-heading); background: var(--oy-primary-soft); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: var(--oy-accent-dark); background: rgba(211, 162, 148, .12); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--oy-primary-dark); }

.wpcf7-form .oy-recaptcha-note { margin: 22px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--oy-text); opacity: .85; }
.wpcf7-form .oy-recaptcha-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ==========================================================================
   27. Widget: SSS (Akordeon)
   ========================================================================== */
.oy-faq { position: relative; }
.oy-faq__head { margin-bottom: 40px; }
.oy-faq__head .oy-title { font-size: clamp(30px, 3vw, 44px); }
.oy-faq__list { border-top: 1px solid var(--oy-border); }
.oy-faq__item { border-bottom: 1px solid var(--oy-border); }
.oy-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding: 28px 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	color: var(--oy-heading);
	font-family: var(--oy-font-heading);
	font-size: clamp(19px, 1.6vw, 23px);
	line-height: 1.35;
	transition: color .6s var(--oy-ease);
}
.oy-faq__q:hover, .oy-faq__item.is-open .oy-faq__q { color: var(--oy-primary-dark); }
.oy-faq__icon { position: relative; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--oy-border); transition: background-color .7s var(--oy-ease), border-color .7s var(--oy-ease), transform .7s var(--oy-ease); }
.oy-faq__icon::before, .oy-faq__icon::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.5px; margin: -.75px 0 0 -7px; background: var(--oy-heading); transition: transform .7s var(--oy-ease), background-color .7s var(--oy-ease); }
.oy-faq__icon::after { transform: rotate(90deg); }
.oy-faq__item.is-open .oy-faq__icon { background: var(--oy-primary-dark); border-color: var(--oy-primary-dark); transform: rotate(180deg); }
.oy-faq__item.is-open .oy-faq__icon::before, .oy-faq__item.is-open .oy-faq__icon::after { background: #fff; }
.oy-faq__item.is-open .oy-faq__icon::after { transform: rotate(0deg); }
.oy-faq__a { height: 0; overflow: hidden; transition: height .8s var(--oy-ease-in-out); }
.oy-faq__a-inner { padding: 0 70px 30px 0; font-size: 16.5px; line-height: 1.8; opacity: 0; transform: translateY(-8px); transition: opacity .7s var(--oy-ease), transform .7s var(--oy-ease); }
.oy-faq__item.is-open .oy-faq__a-inner { opacity: 1; transform: none; transition-delay: .2s; }
.oy-faq__a-inner p:last-child { margin-bottom: 0; }
.oy-faq--boxed .oy-faq__list { border: 0; display: flex; flex-direction: column; gap: 14px; }
.oy-faq--boxed .oy-faq__item { border: 0; background: var(--oy-bg-alt); padding: 0 34px; }
.elementor-editor-active .oy-faq__item.is-open .oy-faq__a { height: auto; }

/* ==========================================================================
   28. Hizmet sayfası (Hizmet Menüsü widget'ı)
   ========================================================================== */
/* Sol hizmet menüsü masaüstünde yapışkan; ekrandan uzunsa kendi içinde kayar */
@media (min-width: 1025px) {
	.elementor-widget-oy-service-nav.oy-sticky-yes {
		position: sticky;
		top: calc(var(--oy-header-h-sticky) + 24px);
		align-self: flex-start;
		max-height: calc(100vh - var(--oy-header-h-sticky) - 48px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: rgba(40, 46, 36, .18) transparent;
	}
	.admin-bar .elementor-widget-oy-service-nav.oy-sticky-yes { top: calc(var(--oy-header-h-sticky) + 56px); max-height: calc(100vh - var(--oy-header-h-sticky) - 80px); }
	/* Yan form: ekrana sığıyorsa üstte, uzunsa alt kenarı görünecek şekilde yapışır (JS --oy-sform-top hesaplar) */
	.elementor-widget-oy-sidebar-form.oy-sticky-yes,
	.elementor-widget-oy-featured-services.oy-sticky-yes { position: sticky; top: var(--oy-sform-top, calc(var(--oy-header-h-sticky) + 24px)); align-self: flex-start; z-index: 2; }
	/* Aynı sütunda yan form yapışkansa, hizmet menüsü normal akar (iki yapışkan çakışmasın) */
	.elementor-widget-wrap:has(> :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services).oy-sticky-yes) > .elementor-widget-oy-service-nav.oy-sticky-yes,
	.e-con:has(> :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services).oy-sticky-yes) > .elementor-widget-oy-service-nav.oy-sticky-yes { position: relative; top: auto; max-height: none; overflow: visible; }
	.elementor-widget-oy-service-nav + .elementor-widget-oy-sidebar-form,
	.elementor-widget-oy-service-nav + .elementor-widget-oy-featured-services { margin-top: 30px; }
	.elementor-widget-oy-service-nav.oy-sticky-yes::-webkit-scrollbar { width: 5px; }
	.elementor-widget-oy-service-nav.oy-sticky-yes::-webkit-scrollbar-thumb { background: rgba(40, 46, 36, .18); border-radius: 5px; }
}
.oy-snav { background: var(--oy-bg-alt); padding: 40px 34px 34px; }
.oy-snav__title, .oy-snav-card__title { font-family: var(--oy-font-heading); font-weight: var(--oy-heading-weight); color: var(--oy-heading); line-height: 1.2; }
.oy-snav__title { font-size: 24px; margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--oy-border); }
.oy-snav__toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; background: none; border-width: 0 0 1px; border-style: solid; border-color: var(--oy-border); text-align: left; cursor: default; padding-left: 0; padding-right: 0; padding-top: 0; }
.oy-snav__burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 26px; height: 26px; }
.oy-snav__burger i { display: block; height: 1.5px; width: 100%; background: currentColor; border-radius: 2px; transition: transform .6s var(--oy-ease), opacity .4s var(--oy-ease); }
.oy-snav__body { position: relative; }
.oy-snav__list { list-style: none; margin: 0; padding: 0; }
.oy-snav__list li + li { margin-top: 2px; }
.oy-snav__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px 10px 0;
	font-size: 15.5px;
	line-height: 1.4;
	color: var(--oy-heading);
	position: relative;
	transition: color .5s var(--oy-ease), padding .6s var(--oy-ease), background-color .6s var(--oy-ease);
}
.oy-snav__icon { flex: 0 0 26px; width: 26px; height: 26px; color: var(--oy-primary); transition: color .5s; }
.oy-snav__icon .oy-line-icon { stroke-width: 2.2; }
.oy-custom-icon { display: block; width: 100%; height: 100%; object-fit: contain; }
.oy-snav__arrow { margin-left: auto; width: 14px; height: 14px; opacity: 0; transform: translateX(-8px); transition: opacity .5s var(--oy-ease), transform .5s var(--oy-ease); }
.oy-snav__arrow .oy-icon { width: 14px; height: 14px; }
.oy-snav__link:hover { color: var(--oy-primary-dark); }
.oy-snav__link:hover .oy-snav__arrow { opacity: 1; transform: none; }
.oy-snav__link.is-current { background: #fff; padding-left: 14px; color: var(--oy-primary-dark); }
.oy-snav__link.is-current .oy-snav__arrow { opacity: 1; transform: none; }
.oy-snav__group { margin: 20px 0 8px; font-family: var(--oy-font-heading); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--oy-accent-dark); }
.oy-snav__group:first-child { margin-top: 0; }
.oy-snav-card { margin-top: 24px; padding: 40px 34px; background: var(--oy-dark); color: rgba(255, 255, 255, .75); position: relative; overflow: hidden; }
.oy-snav-card__decor { position: absolute; right: -24px; bottom: -20px; width: 130px; color: var(--oy-primary); opacity: .35; }
.oy-snav-card__title { color: #fff !important; font-size: 26px; margin: 0 0 12px; }
.oy-snav-card__text { font-size: 15.5px; margin: 0 0 24px; }
.oy-snav-card__phone { display: inline-flex; align-items: center; gap: 10px; font-family: var(--oy-font-heading); font-size: 22px; color: #fff; margin-bottom: 24px; }
.oy-snav-card__phone .oy-icon { width: 20px; height: 20px; color: var(--oy-primary); }
.oy-snav-card .oy-btn { width: 100%; position: relative; z-index: 1; }

.oy-service-body .elementor-widget-heading:not(:first-child) { margin-top: 26px; }
.oy-service-body .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(28px, 2.7vw, 38px); }
.oy-service-body .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(22px, 2vw, 28px); }
.oy-service-body .elementor-widget-oy-faq { margin-top: 50px; }
.oy-service-body .oy-service-media { margin: 14px 0 26px; }
.oy-service-body .oy-service-media img { width: 100%; height: auto; display: block; }
.oy-service-body .elementor-widget-video .elementor-wrapper { aspect-ratio: 16 / 9; }
.oy-service-body .oy-service-intro, .oy-service-intro.elementor-widget-text-editor { font-family: var(--oy-font-heading); font-size: clamp(20px, 1.7vw, 24px); line-height: 1.6; color: var(--oy-heading); }

/* ==========================================================================
   29. Elementor uyumluluk
   ========================================================================== */
.oy-elementor-content { position: relative; }
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--oy-font-heading);
	font-weight: var(--oy-heading-weight);
	color: var(--oy-heading);
	line-height: 1.18;
}
.elementor-widget-heading h1.elementor-heading-title { font-size: var(--oy-h1); }
.elementor-widget-heading h2.elementor-heading-title { font-size: var(--oy-h2); }
.elementor-widget-heading h3.elementor-heading-title { font-size: var(--oy-h3); }
.elementor-widget-heading h4.elementor-heading-title { font-size: var(--oy-h4); }
.elementor-widget-heading h5.elementor-heading-title { font-size: var(--oy-h5); }
.elementor-widget-heading h6.elementor-heading-title { font-size: var(--oy-h6); }
.elementor-widget-text-editor { color: var(--oy-text); font-family: var(--oy-font-body); font-size: var(--oy-fs-body); line-height: var(--oy-lh-body); }
.elementor-widget-text-editor p { margin-bottom: 1.15em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a { color: var(--oy-primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.elementor-widget-button .elementor-button { fill: currentColor; }
.elementor-widget-divider { --divider-color: var(--oy-border); }
.elementor-widget-icon-list .elementor-icon-list-text { color: var(--oy-text); }
.elementor-widget-icon-list .elementor-icon-list-icon i, .elementor-widget-icon-list .elementor-icon-list-icon svg { color: var(--oy-primary); fill: var(--oy-primary); }
.elementor-widget-image-box .elementor-image-box-title, .elementor-widget-icon-box .elementor-icon-box-title { font-family: var(--oy-font-heading); font-weight: var(--oy-heading-weight); color: var(--oy-heading); }
.elementor-widget-counter .elementor-counter-number-wrapper { font-family: var(--oy-font-heading); color: var(--oy-heading); }
.elementor-widget-accordion .elementor-tab-title, .elementor-widget-toggle .elementor-tab-title { font-family: var(--oy-font-heading); font-weight: 400; }
.elementor-section.oy-section-alt, .e-con.oy-section-alt { background-color: var(--oy-bg-alt); }

/* Widget'larımız Elementor'da tam genişlik çalışsın */
.elementor-widget-oy-hero, .elementor-widget-oy-testimonials, .elementor-widget-oy-cta, .elementor-widget-oy-marquee, .elementor-widget-oy-form-section, .elementor-widget-oy-map { width: 100%; }

/* ==========================================================================
   30. Responsive
   ========================================================================== */
@media (max-width: 1399px) {
	.oy-container-wide { padding-left: 40px; padding-right: 40px; }
	.oy-nav__list { gap: calc(var(--oy-menu-gap) * .8); }
	.oy-header__actions { gap: 28px; }
}

@media (max-width: 1199px) {
	:root { --oy-section-pad: 100px; --oy-logo-w: var(--oy-logo-w-tablet); }
	.oy-header__bar, .oy-header.is-sticky .oy-header__bar { height: var(--oy-header-h-mobile); }
	.oy-logo__img, .oy-header.is-sticky .oy-logo__img { max-height: calc(var(--oy-header-h-mobile) - 16px); }
	.oy-header-spacer { height: var(--oy-header-h-mobile); }
	.oy-logo__img, .oy-header.is-sticky .oy-logo__img { width: var(--oy-logo-w-tablet); }
	.oy-header__actions { margin-left: auto !important; gap: 18px; }
	.oy-hero__content { padding-top: calc(var(--oy-header-h-mobile) * .7); }
	.oy-services__grid { grid-template-columns: repeat(var(--oy-cols-t, 2), minmax(0, 1fr)); }
	.oy-gallery__grid { grid-template-columns: repeat(var(--oy-cols-t, 3), minmax(0, 1fr)); }
	.oy-latest__grid { grid-template-columns: repeat(var(--oy-cols-t, 2), minmax(0, 1fr)); }
	.oy-grid--3, .oy-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.oy-card__body, .oy-card--image .oy-card__body { padding: 30px 30px 28px; }
	.oy-testi__media { width: 70%; }
	.oy-testi__content { margin-left: 50%; padding: 100px 0; }
	.oy-formsec__card { padding: 60px 50px 66px; }
	.alignwide { margin-left: 0; margin-right: 0; }
}

@media (max-width: 1024px) {
	:root { --oy-gutter: 26px; }
	.oy-about__grid, .oy-steps__grid, .oy-progress__grid, .oy-stats__grid, .oy-contact__grid { grid-template-columns: minmax(0, 1fr); }
	.oy-about__body { max-width: none; }
	.oy-about__media--main { margin-top: 0; margin-bottom: 50px; aspect-ratio: 4 / 3.6; }
	.oy-about__media--second { margin-top: 50px; }
	.oy-about--reverse .oy-about__col--media { order: 0; }
	/* Mobil sıra: ana görsel → metin → görsel altı içerik */
	.oy-about__col--media { display: contents; }
	.oy-about__media--main { order: 0; }
	.oy-about__body { order: 1; }
	.oy-about__aside { order: 2; margin-top: 56px; gap: 36px; }
	.oy-about__fact { grid-template-columns: 116px minmax(0, 1fr); }
	.oy-steps__intro, .oy-stats__media { position: relative; top: auto; }
	.oy-steps__intro { margin-bottom: 20px; }
	.oy-stats__media { aspect-ratio: 4 / 3.4; }
	.oy-stats__arrow { margin: 34px 0 44px; }
	.oy-progress__contact { margin-top: 40px; }
	.oy-progress__badge { display: none; }
	.oy-testi { display: block; min-height: 0; }
	.oy-testi__media { position: relative; width: 100%; height: 56vw; max-height: 520px; }
	.oy-testi__media::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, #000 100%); }
	.oy-testi__content { margin: 0; max-width: none; padding: 30px 0 90px; }
	.oy-cta__inner { flex-direction: column; text-align: center; }
	.oy-post-nav__inner { grid-template-columns: 1fr; }
	.oy-post-nav__item, .oy-post-nav__item--next { padding: 34px 0; border-left: 0; }
	.oy-post-nav__item--next { border-top: 1px solid var(--oy-border); }
	.oy-footer__mid { grid-template-columns: 1fr 1fr; }
	.oy-footer__col--end { text-align: left; }
}

@media (max-width: 767px) {
	:root { --oy-section-pad: 76px; --oy-gutter: 20px; }
	body { font-size: 16px; }
	.oy-container-wide { padding-left: 20px; padding-right: 20px; }
	.oy-about__box { padding: 34px 26px 30px; }
	.oy-about__box-mark { font-size: 76px; right: 18px; }
	.oy-about__box-title { font-size: 23px; }
	.oy-about__box-text { font-size: 16px; }
	.oy-about__fact { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 16px 0; }
	.oy-logo__img, .oy-header.is-sticky .oy-logo__img, .oy-mobile-menu .oy-logo__img { width: var(--oy-logo-w-mobile); }
	.oy-logo__name { font-size: 25px; }
	.oy-logo__tagline { font-size: 9px; letter-spacing: .2em; }
	.oy-brand-mark { width: 28px; height: 34px; }
	.admin-bar .oy-header.is-sticky { top: 0; }
	.oy-head { margin-bottom: 50px; }
	.oy-title { font-size: clamp(34px, 9vw, 44px); }
	/* Mobilde hero tam ekran DEĞİL: içeriğe göre kompakt yükseklik */
	/* Mobil: yazılar alttan başlar (yüzün üstüne gelmez), daha küçük */
	.oy-hero { min-height: 0; --oy-hero-h: clamp(520px, 138vw, 620px); }
	.oy-hero__content { justify-content: flex-end; padding-top: calc(var(--oy-header-h-mobile) + 6px); padding-bottom: 62px; }
	.oy-hero__subtitle { font-size: 11.5px; letter-spacing: .16em; margin-bottom: 8px; }
	.oy-hero__title { font-size: clamp(29px, 8.2vw, 38px); line-height: 1.12; margin-bottom: 12px; }
	.oy-hero__text { font-size: 14.5px; line-height: 1.55; margin-bottom: 20px; max-width: 34em; }
	.oy-hero__btns .oy-btn { padding: 13px 30px; font-size: 15.5px; }
	.oy-hero__arrows { display: none; }
	.oy-hero__nav { bottom: 26px; }
	.oy-hero__bg::after { background: linear-gradient(180deg, rgba(18, 20, 16, .28) 0%, rgba(18, 20, 16, .12) 30%, rgba(18, 20, 16, .55) 58%, rgba(18, 20, 16, .9) 100%); }
	.oy-services__grid { grid-template-columns: repeat(var(--oy-cols-m, 1), minmax(0, 1fr)); gap: 60px 20px; }
	.oy-services--box .oy-services__grid { gap: 8px 0; }
	.oy-services--box .oy-service { padding: 40px 22px 44px; }
	.oy-service__text { max-width: 340px; }
	.oy-gallery__grid { grid-template-columns: repeat(var(--oy-cols-m, 2), minmax(0, 1fr)); gap: 12px; }
	.oy-gallery { padding: 50px 0; }
	.oy-latest__grid { grid-template-columns: repeat(var(--oy-cols-m, 1), minmax(0, 1fr)); }
	.oy-grid--2, .oy-grid--3, .oy-grid--4 { grid-template-columns: minmax(0, 1fr); }
	.oy-card__body, .oy-card--image .oy-card__body { padding: 26px 24px 26px; }
	.oy-step { grid-template-columns: 50px minmax(0, 1fr); gap: 0 18px; padding-bottom: 36px; }
	.oy-step__icon { width: 50px; height: 50px; }
	.oy-step::before { left: 25px; top: 66px; }
	.oy-step__title { font-size: 25px; margin: 8px 0 10px; }
	.oy-counters { gap: 44px 20px; }
	.oy-counter__num { padding-bottom: 22px; margin-bottom: 18px; }
	.oy-counter__label { font-size: 20px; }
	.oy-marquee { padding: 60px 0; }
	.oy-marquee__sep { width: calc(var(--oy-mq-icon, 96px) * .6); }
	.oy-formsec { padding: 0; min-height: 0; flex-direction: column; background-image: none !important; }
	.oy-formsec__media-m { display: block !important; width: 100%; aspect-ratio: 4 / 3; background-size: cover; background-position: center; }
	.oy-formsec__inner { padding: 0 !important; }
	.oy-formsec__inner > .oy-container { padding: 0; }
	.oy-formsec__card { max-width: none; padding: 54px 22px 60px; }
	.wpcf7-form .oy-form-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.wpcf7-form .oy-form-foot { margin-top: 36px; }
	.wpcf7-form .wpcf7-submit { width: 100%; }
	.oy-cta { padding: 70px 0 110px; }
	.oy-cta__decor { width: 120px; }
	.oy-cta__star { display: none; }
	.oy-faq__q { padding: 22px 0; }
	.oy-faq__icon { flex-basis: 38px; width: 38px; height: 38px; }
	.oy-faq__a-inner { padding-right: 0; }
	.oy-faq--boxed .oy-faq__item { padding: 0 20px; }
	.oy-snav { padding: 30px 22px 24px; }
	.oy-footer__top { flex-direction: column; align-items: flex-start; }
	.oy-fnav__list { gap: 10px 26px; }
	.oy-footer__mid { grid-template-columns: 1fr; padding: 50px 0; gap: 30px; }
	.oy-footer__bottom { flex-direction: column-reverse; align-items: flex-start; padding-bottom: 110px; }
	.oy-fw-menu--right ul, .oy-fw-social--right .oy-social { justify-content: flex-start; }
	.oy-fw-align-right { text-align: left; }
	.oy-wa { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--oy-wac-lift, 0px)); }
	.oy-wa--left { left: 16px; }
	.oy-wa__label { display: none; }
	.oy-wa__icon, .oy-wa__icon::after { width: 54px; height: 54px; }
	.oy-totop { right: 21px; bottom: 21px; }
	.oy-totop.is-visible ~ .oy-wac { --oy-wac-lift: 56px; }
	.oy-wac__fab-x { width: 54px; height: 54px; }
	.oy-wac__dial { right: 19px; bottom: calc(16px + 54px + 12px + var(--oy-wac-lift, 0px)); }
	.oy-wac--left .oy-wac__dial { left: 19px; }
	.oy-wac__ch-lbl { opacity: 1; transform: translate(0, -50%); }
	.oy-wac__bubble { font-size: 13.5px; padding: 9px 14px; }
	.oy-wa .oy-wac__bubble { white-space: normal; width: max-content; max-width: calc(100vw - 100px); }
	.oy-wac__pop { left: 12px; right: 12px; width: auto; max-width: none; bottom: calc(16px + 54px + 18px + var(--oy-wac-lift, 0px)); transform-origin: calc(100% - 30px) calc(100% + 20px); }
	.oy-wac--left .oy-wac__pop { left: 12px; right: 12px; }
	.oy-wac__close { right: -6px; top: -12px; }
	.oy-wac__head { padding: 18px 18px 14px; }
	.oy-wac__body { padding: 16px 18px 18px; }
	/* Mobil alt bar: yuvarlak buton yerine */
	.oy-wac--has-bar .oy-wa { display: none; }
	.oy-wac--has-bar { --oy-wac-lift: 0px !important; }
	.oy-wac--has-bar .oy-wac__pop { bottom: calc(56px + 16px + env(safe-area-inset-bottom, 0px)); transform-origin: 50% calc(100% + 20px); }
	.oy-wac--has-bar .oy-wac__pop::after { right: auto; left: calc(50% - 8px); }
	.oy-wabar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 985;
		display: flex; align-items: center; justify-content: center; gap: 10px;
		min-height: calc(56px + env(safe-area-inset-bottom, 0px));
		padding: 0 16px env(safe-area-inset-bottom, 0px);
		background: var(--oy-wac-bar); color: #fff;
		font-family: var(--oy-font-body); font-size: 15.5px; font-weight: 600; line-height: 1.2; text-align: center;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, .14);
		animation: oyWabarIn .8s var(--oy-ease) .3s both;
		-webkit-tap-highlight-color: transparent;
	}
	.oy-wabar i { font-size: 22px; }
	.oy-wabar .oy-wac__bubble-ic { font-size: 15px; }
	.oy-wabar:hover, .oy-wabar:focus-visible { color: #fff; }
	.oy-wabar:active { filter: brightness(.92); }
	.oy-wac.is-open .oy-wabar { filter: brightness(.94); }
	body.oy-has-wabar { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
	.oy-has-wabar .oy-totop { bottom: calc(56px + 14px + env(safe-area-inset-bottom, 0px)); }
	@keyframes oyWabarIn { from { transform: translateY(100%); } to { transform: none; } }
	.oy-totop--left { left: 21px; }
	.oy-single__head { padding-top: 54px; padding-bottom: 40px; }
	.oy-single__content { font-size: 17px; }
	.oy-share { margin-left: 0; }
	.oy-comment-form { grid-template-columns: 1fr; }
	.oy-comments__list .children { padding-left: 20px; }
	.oy-404 { padding: 100px 0 120px; }
	.oy-404__decor { width: 180px; opacity: .5; }
	.oy-about__decor-leaf { width: 130px; right: -26px; top: 36px; opacity: .8; }
	.oy-services__decor { display: none; }
	.oy-progress__decor { width: 120px; opacity: .7; }
	.alignleft, .alignright { float: none; margin: 1em 0; }
}

@media (max-width: 1024px) {
	.oy-page-title { padding: calc(var(--oy-pt-pad-top) * .6) 0 calc(var(--oy-pt-pad-bottom) * .55); }
	.oy-page-title__arrow { margin-top: 28px; }
}

@media (max-width: 767px) {
	.oy-page-title { padding: 26px 0 40px; }
	.oy-page-title__heading { font-size: clamp(28px, 8vw, 38px); }
	.oy-page-title__sub { font-size: 15.5px; margin-top: 12px; }
	.oy-page-title__arrow { margin-top: 16px; }
	.oy-page-title__arrow .oy-icon { width: 26px; height: 26px; }
	/* Kutulu Elementor bölümlerinde mobil yan boşluk (hizmet sayfaları vb.) */
	.oy-elementor-content .elementor-section-boxed .elementor-column > .elementor-element-populated,
	.oy-elementor-content .e-con-boxed > .e-con-inner { padding-left: var(--oy-gutter) !important; padding-right: var(--oy-gutter) !important; }
	.admin-bar .oy-header.is-sticky { top: 0; }
}

@media (min-width: 601px) and (max-width: 782px) {
	.admin-bar .oy-header.is-sticky { top: 46px; }
}

@media (max-width: 480px) {
	.oy-mnav__list > li > a { font-size: 23px; }
	.oy-hero__dot { width: 40px; }
}

/* Hizmet sayfası: tablet / mobil düzen */
@media (max-width: 1024px) {
	.elementor-widget-oy-service-nav.oy-sticky-yes,
	.elementor-widget-oy-sidebar-form.oy-sticky-yes,
	.elementor-widget-oy-featured-services.oy-sticky-yes { position: relative; top: auto; max-height: none; overflow: visible; }
	.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services { margin-top: 30px; }
	.oy-fsvc { padding: 36px 24px 32px; }
	.oy-sform { padding: 40px 28px 38px; }
	/* Sütunları alt alta al: önce içerik, sonra katlanır menü + randevu kartı (eski içe aktarımlar dahil) */
	/* Tablet + mobil: içerik önce, yan sütun (hizmet menüsü / yan form) her zaman en altta — sütun solda da sağda da olsa */
	.elementor-section:has(> .elementor-container > .oy-service-body) > .elementor-container,
	.elementor-section:has(> .elementor-container > .elementor-column :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) > .elementor-container { flex-wrap: wrap; flex-direction: column !important; }
	.elementor-section:has(> .elementor-container > .elementor-column :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) > .elementor-container > .elementor-column { width: 100% !important; order: 1; }
	.elementor-section > .elementor-container > .elementor-column:has(:is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)),
	.elementor-row > .elementor-column:has(:is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)),
	.e-con > .e-con:has(> :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) { order: 2 !important; }
	.e-con:has(> .e-con > :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) { flex-direction: column !important; }
	.e-con:has(> .e-con > :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) > .e-con { width: 100% !important; }
	.elementor-widget-oy-service-nav .oy-snav-wrap { margin-top: 40px; }
	.elementor-section:has(> .elementor-container > .oy-service-body) > .elementor-container > .elementor-column,
	.elementor-section:has(.elementor-row > .oy-service-body) .elementor-row > .elementor-column { width: 100% !important; }
	.elementor-section:has(.elementor-row > .oy-service-body) .elementor-row { flex-wrap: wrap; flex-direction: column !important; }
	.elementor-section:has(> .elementor-container > .oy-service-body) > .elementor-container > .elementor-column > .elementor-element-populated,
	.elementor-section:has(> .elementor-container > .elementor-column :is(.elementor-widget-oy-sidebar-form, .elementor-widget-oy-featured-services, .elementor-widget-oy-service-nav)) > .elementor-container > .elementor-column > .elementor-element-populated { padding-left: var(--oy-gutter) !important; padding-right: var(--oy-gutter) !important; }
	.oy-snav { padding: 0; background: var(--oy-bg-alt); }
	.oy-snav__toggle { cursor: pointer; margin: 0; padding: 20px 22px; border: 0; font-size: 21px; }
	.oy-snav__burger { display: inline-flex; }
	.oy-snav.is-open .oy-snav__burger i:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
	.oy-snav.is-open .oy-snav__burger i:nth-child(2) { opacity: 0; }
	.oy-snav.is-open .oy-snav__burger i:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
	.oy-js .oy-snav__body { height: 0; overflow: hidden; transition: height .8s var(--oy-ease-in-out); }
	.oy-snav__inner { padding: 4px 22px 22px; border-top: 1px solid var(--oy-border); }
	.oy-snav-card { margin-top: 0; }
	.oy-snav { margin-bottom: 34px; }
}

/* Yazdırma */
@media print {
	.oy-header, .oy-mobile-menu, .oy-wa, .oy-wac, .oy-totop, .oy-footer { display: none !important; }
	.oy-js [data-oy-anim] { opacity: 1 !important; transform: none !important; }
}

.oy-formsec__media-m { display: none; }
