/*
	Theme Name: Bennet Child - Diyez Media
	Theme URI: https://diyezmedia.com/
	Description: Bennet alt teması. SEO, erisilebilirlik, guvenlik ve performans duzeltmeleri bu temada tutulur; ana tema guncellendiginde kaybolmaz.
	Author: Diyez Media
	Author URI: https://diyezmedia.com/
	Template: bennet
	Version: 1.1.7
	Text Domain: bennet-child
*/

/* ------------------------------------------------------------------
   1. HERO BASLIK - yan etiketleri gercek metne cevirme (SEO-04)
   Ana tema bu metinleri ::before / ::after icinde attr() ile basiyordu.
   CSS ile uretilen metin arama motorlari tarafindan okunmaz. Asagida
   pseudo-element'ler kapatilip yerlerine gercek <span> ogeleri ayni
   gorunumle konumlandiriliyor.
------------------------------------------------------------------- */
.hero-title::before,
.hero-title::after {
	content: none !important;
}

.hero-title .hero-title-affix {
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	width: auto;
	height: 20px;
	position: absolute;
	top: calc(50% - 0px);
	-webkit-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	letter-spacing: 0;
	opacity: 0;
	pointer-events: none;
	white-space: nowrap;
}

.hero-title .hero-title-before { left: -150px; }
.hero-title .hero-title-after  { right: -150px; }

/* Ana tema bu etiketleri 0.6 opaklikta gosteriyordu; kucuk punto icin
   kontrast dusuk kaliyordu. Renk sayfanin metin renginden devralinir
   (dark-content -> siyah, light-content -> beyaz), opaklik yukseltildi. */
.caption-animated .hero-title .hero-title-before { opacity: 0.78; left: -130px; }
.caption-animated .hero-title .hero-title-after  { opacity: 0.78; right: -130px; }

@media only screen and (max-width: 767px) {
	.hero-title .hero-title-before { left: 0; top: -45px; }
	.caption-animated .hero-title .hero-title-before {
		opacity: 0.6; left: 0; top: -20px; width: 100%;
	}
	.hero-title .hero-title-after { right: 0; top: auto; bottom: -50px; }
	.caption-animated .hero-title .hero-title-after {
		opacity: 0.6; right: 0; bottom: -25px; width: 100%; top: auto;
	}
}

/* ------------------------------------------------------------------
   2. GOVDE GORUNURLUGU (GEO-01)
   Ana tema <body class="hidden"> ile basliyor ve CSS opacity:0 yapiyordu.
   JavaScript calismazsa sayfa tamamen bos kaliyordu. Artik gizleme
   yalnizca JS calisiyorsa uygulaniyor (bkz. inc/frontend-fixes.php).
------------------------------------------------------------------- */
html.no-js body.hidden { opacity: 1 !important; }
html.no-js .preloader-wrap { display: none !important; }

/* JS kapaliyken icerik etkilesime acik kalmali */
html.no-js #clapat-page-content { pointer-events: auto !important; }

/* ------------------------------------------------------------------
   3. ERISILEBILIRLIK (TSR-01)
------------------------------------------------------------------- */
.diyez-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 12px 20px;
	background: #000;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}
.diyez-skip-link:focus {
	left: 0;
	outline: 2px solid #ff9900;
	outline-offset: -2px;
}

/* Klavye odagi her yerde gorunur olmali */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid #ff9900 !important;
	outline-offset: 2px !important;
}

.diyez-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ------------------------------------------------------------------
   4. ILETISIM FORMU - KVKK onay kutusu (ICR-01)
   Ana temada .name-box / .email-box / .message-box tanimli, onay
   kutusu icin karsilik yoktu.
------------------------------------------------------------------- */
.consent-box {
	position: relative;
	display: block;
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
	color: #2b2b2b;
	opacity: 1;
}
.consent-box .wpcf7-list-item { margin: 0; }

/* CF7 kendi stilleriyle etiketi beyaz basiyordu; turuncu zeminde
   2,68:1 kontrast kaliyordu. Renk sayfadan devralinsin. */
.consent-box .wpcf7-list-item-label,
.consent-box label,
.consent-box .wpcf7-form-control-wrap,
.consent-box .wpcf7-acceptance,
.consent-box p { color: inherit; }
.consent-box a { text-decoration: underline; color: inherit; }
.light-content .consent-box { color: rgba(255, 255, 255, 0.85); }
.consent-box input[type="checkbox"] {
	width: auto !important;
	height: auto !important;
	margin-right: 8px;
	vertical-align: middle;
	accent-color: #ff9900;
}
/* Telefon alani: ana temanin float tabanli duzenine uyar.
   name-box ve email-box yarim genislikte yan yana; telefon ve mesaj tam satir. */
#contact-formular .phone-box,
.wpcf7 .phone-box,
.phone-box {
	position: relative !important;
	display: block !important;
	float: left !important;
	clear: both !important;
	width: 100% !important;
	margin: 0 0 20px !important;
	color: #000;
}
.light-content .phone-box, .dark-section .phone-box { color: #fff; }

/* Onay kutusu satiri gereksiz yer kaplamasin */
#contact-formular .consent-box {
	float: left;
	clear: both;
	width: 100%;
}
#contact-formular .consent-box .wpcf7-list-item-label { display: inline; }
#contact-formular .consent-box p { margin: 0; }

/* Float duzenini kapat */
#contact-formular::after {
	content: "";
	display: block;
	clear: both;
}

/* Dogrulama mesajlari okunabilir olsun */
.wpcf7-not-valid-tip { font-size: 12px; color: #d63638; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0; padding: 10px 14px; font-size: 13px; border-width: 1px;
}

/* Bal kupu alani gorunmemeli (YZL-05) */
.diyez-hp-field {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0 !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
}

/* ------------------------------------------------------------------
   5. HAREKET AZALTMA TERCIHI
------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.preloader-wrap { display: none !important; }
	body.hidden { opacity: 1 !important; }
}

/* ------------------------------------------------------------------
   6. REFERANS KARTLARI - tiklanabilir (SEO-07, TSR-03)
------------------------------------------------------------------- */
.diyez-project-link {
	display: block;
	position: relative;
	line-height: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.diyez-project-link img {
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
	            opacity 0.35s ease-out;
	will-change: transform;
}
.clapat-slide:hover .diyez-project-link img { opacity: 0.88; }
.diyez-project-link:focus-visible { outline: 2px solid #ff9900; outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
	.diyez-project-link img { transition: none; }
}

/* ------------------------------------------------------------------
   7. ALT MENU (ICR-02 hizmet sayfalari, ICR-01 yasal sayfalar)

   Ana temada alt menu stili yoktu ve .flexnav li uzerindeki
   overflow:hidden alt listeleri kirpiyordu. Masaustunde hover/odak ile
   acilan bir acilir menu, mobil menude ise girintili liste kullaniyoruz.
------------------------------------------------------------------- */

/* --- Masaustu: acilir menu --- */
@media only screen and (min-width: 1026px) {

	.clapat-nav-wrapper .flexnav li.menu-item-has-children {
		overflow: visible;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%) translateY(6px);
		min-width: 230px;
		width: max-content;
		max-width: 300px;
		margin: 0;
		padding: 14px 18px;
		list-style: none;
		background: #0c0c0c;
		border-radius: 10px;
		box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.55);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s linear 0.22s;
		z-index: 900;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children:hover > ul.sub-menu,
	.clapat-nav-wrapper .flexnav li.menu-item-has-children:focus-within > ul.sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0);
		transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s;
	}

	/* Fare menu ile acilir menu arasindaki bosluktan gecebilsin */
	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu::before {
		content: "";
		position: absolute;
		top: -10px;
		left: 0;
		right: 0;
		height: 10px;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li {
		overflow: visible;
		display: block;
		width: 100%;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li a {
		display: block;
		padding: 7px 0;
		font-size: 14px;
		line-height: 1.45;
		letter-spacing: 0;
		text-transform: none;
		white-space: normal;
		color: #fff;
		opacity: 0.6;
		transition: opacity 0.2s ease-out, transform 0.2s ease-out;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li a:hover,
	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li a:focus-visible {
		opacity: 1;
		transform: translateX(3px);
	}
}

/* --- Mobil / burger menu: girintili liste --- */
@media only screen and (max-width: 1025px) {

	.clapat-nav-wrapper .flexnav li.menu-item-has-children {
		overflow: visible;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu {
		display: block !important;
		position: static;
		opacity: 1;
		visibility: visible;
		width: 100%;
		margin: 2px 0 12px;
		padding: 0;
		list-style: none;
		background: none;
		box-shadow: none;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li {
		overflow: visible;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li a {
		display: inline-block;
		font-size: 15px;
		line-height: 1.7;
		letter-spacing: 0;
		text-transform: none;
		opacity: 0.55;
		padding: 1px 0;
	}

	.clapat-nav-wrapper .flexnav li.menu-item-has-children > ul.sub-menu li a:hover {
		opacity: 1;
	}
}

/* FlexNav'in dokunmatik ac/kapa dugmesi bu duzende gereksiz */
.clapat-nav-wrapper .flexnav .touch-button { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.clapat-nav-wrapper .flexnav ul.sub-menu,
	.clapat-nav-wrapper .flexnav ul.sub-menu li a { transition: none !important; }
	.clapat-nav-wrapper .flexnav ul.sub-menu li a:hover { transform: none; }
}

/* ------------------------------------------------------------------
   8. YAZAR KUTUSU (GEO-07)
------------------------------------------------------------------- */
.diyez-author-box {
	margin: 56px 0 0;
	padding: 26px 0 0;
	border-top: 1px solid currentColor;
	border-image: linear-gradient(to right, currentColor, transparent) 1;
	opacity: 0.95;
}
.diyez-author-box__name {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.01em;
}
.diyez-author-box__bio {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.65;
	max-width: 62ch;
	opacity: 0.8;
}
.diyez-author-box__meta {
	margin: 0 0 10px;
	font-size: 13px;
	opacity: 0.6;
}
.diyez-author-box__cta {
	margin: 0;
	font-size: 14px;
}
.diyez-author-box__cta a { text-decoration: underline; }
.diyez-author-box__cta a:hover { opacity: 0.7; }

/* ------------------------------------------------------------------
   9. KAYAN BOLUM BASLIKLARI (SEO-05 duzeltmesinin gorunum tamamlayicisi)

   Ana temada .marquee-text sinifinin kendi yazi boyutu yok; boyut
   tamamen <h1> ogesinin tipografisinden geliyordu. Basliklar H2'ye
   alinirken (sayfada tek H1 kalmasi icin) bu boyut kayboluyordu.
   Asagidaki kural ana temanin h1 olculerini birebir geri veriyor.

   Ana tema kaynagi:
     h1              { font-size: calc(1rem + 4vw); line-height: calc(1rem + 4vw) }
     h1..h6          { letter-spacing: -0.1vw; font-weight: 600 }
------------------------------------------------------------------- */
.marquee-text-wrapper .marquee-text,
h2.marquee-text {
	font-size: calc(1rem + 4vw);
	line-height: calc(1rem + 4vw);
	letter-spacing: -0.1vw;
	font-weight: 600;
	margin: 0;
	white-space: nowrap;
}

/* Tema JS'i metni yalnizca bir kez klonluyor; tek kelime genis ekranlarda
   iki kopyayla bile doldurmuyor ve sagda bos alan kaliyordu. Tekrarlar
   burada uretiliyor - pseudo-element icerigi DOM metnine girmedigi icin
   baslik SEO acisindan tek kelime olarak kalir. */
.marquee-text[data-repeat]::after {
	content: "\00a0\00a0" attr(data-repeat) "\00a0\00a0" attr(data-repeat);
}

/* Tema JS'i klonu "top: el.offsetTop, left: el.offsetLeft" ile konumluyor.
   Bu degerler offsetParent'a gore hesaplandigi icin, sarmalayici
   position:relative olmadiginda klon 130px asagi dusuyor ve
   overflow:hidden yuzunden tamamen gorunmez oluyordu. */
.marquee-text-wrapper {
	position: relative;
	overflow: hidden;
}

/* Not: ikincil metinlerde #2b2b2b kullaniliyor. Ana temanin govde rengi
   #444, sitenin turuncu zeminlerinde 3.6-4.3:1 kontrast veriyor ve
   WCAG AA esigini (4.5:1) gecmiyor. #2b2b2b her iki zeminde de gecer. */

/* ------------------------------------------------------------------
   10. HIZMET INDEKSI (ana sayfa)

   Ana temanin "zipper-mode" pinned-list blogu yalnizca duz metin
   uretiyordu: gorsel, aciklama ve baglanti destegi yok. Hizmet adlari
   bos alanda tek basina kaliyor ve tiklanmiyordu. Yerine, temanin
   tipografik diline uyan baglantili bir hizmet indeksi kuruldu.
------------------------------------------------------------------- */
.diyez-service-index {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.16);
}

.diyez-service-row {
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);
	margin: 0;
}

.diyez-service-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) auto;
	align-items: center;
	gap: 24px;
	padding: 26px 4px;
	text-decoration: none;
	color: inherit;
	transition: padding-left 0.35s cubic-bezier(0.4, 0, 0.2, 1),
	            opacity 0.3s ease-out;
}

/* Ana tema basliklari #000, govde metni #444 kullaniyor.
   Hizmet adi bir baslik gorevinde oldugu icin #000 almali. */
.diyez-service-name {
	font-size: clamp(1.9rem, 4.6vw, 3.6rem);
	line-height: 1.02;
	letter-spacing: -0.03em;
	font-weight: 600;
	display: block;
	color: #000;
}

.diyez-service-desc {
	font-size: 15px;
	line-height: 1.55;
	color: #2b2b2b;
	display: block;
}

.diyez-service-arrow {
	width: 42px;
	height: 42px;
	flex: none;
	border: 1px solid rgba(0, 0, 0, 0.22);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
	            background-color 0.3s ease-out,
	            color 0.3s ease-out,
	            border-color 0.3s ease-out;
}
.diyez-service-arrow svg { width: 19px; height: 19px; display: block; }

/* Hover / odak */
.diyez-service-link:hover,
.diyez-service-link:focus-visible {
	padding-left: 20px;
}
.diyez-service-link:hover .diyez-service-arrow,
.diyez-service-link:focus-visible .diyez-service-arrow {
	transform: translateX(6px);
	background: #0c0c0c;
	border-color: #0c0c0c;
	color: #fff;
}
.diyez-service-link:focus-visible {
	outline: 2px solid #0c0c0c;
	outline-offset: 4px;
	border-radius: 3px;
}

/* Koyu zeminli bolumler - ana tema bu baglamda .light-content kullaniyor */
.light-content .diyez-service-name,
.dark-section .diyez-service-name { color: #fff; }
.light-content .diyez-service-desc,
.dark-section .diyez-service-desc { color: rgba(255, 255, 255, 0.66); }
.light-content .diyez-service-index,
.dark-section .diyez-service-index { border-top-color: rgba(255, 255, 255, 0.2); }
.light-content .diyez-service-row,
.dark-section .diyez-service-row { border-bottom-color: rgba(255, 255, 255, 0.2); }
.light-content .diyez-service-arrow,
.dark-section .diyez-service-arrow { border-color: rgba(255, 255, 255, 0.3); color: #fff; }
.light-content .diyez-service-link:hover .diyez-service-arrow,
.light-content .diyez-service-link:focus-visible .diyez-service-arrow,
.dark-section .diyez-service-link:hover .diyez-service-arrow {
	background: #fff; border-color: #fff; color: #0c0c0c;
}
.light-content .diyez-service-link:focus-visible { outline-color: #fff; }

@media only screen and (max-width: 900px) {
	.diyez-service-link {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "ad ok" "aciklama ok";
		gap: 6px 18px;
		padding: 22px 2px;
	}
	.diyez-service-name { grid-area: ad; }
	.diyez-service-desc { grid-area: aciklama; font-size: 14px; }
	.diyez-service-arrow { grid-area: ok; width: 36px; height: 36px; }
	.diyez-service-arrow svg { width: 16px; height: 16px; }
	.diyez-service-link:hover { padding-left: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.diyez-service-link,
	.diyez-service-arrow { transition: none !important; }
	.diyez-service-link:hover { padding-left: 4px; }
	.diyez-service-link:hover .diyez-service-arrow { transform: none; }
}

/* ------------------------------------------------------------------
   11. VAKA CALISMASI (portfolyo detay sayfalari)
------------------------------------------------------------------- */
.diyez-case-study { max-width: 1100px; }

.diyez-case-sector {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2b2b2b;
	margin: 0 0 12px;
}

.diyez-case-lead {
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	line-height: 1.5;
	color: #000;
	margin: 0 0 44px;
	max-width: 40ch;
	letter-spacing: -0.015em;
}

.diyez-case-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 40px;
	margin-bottom: 44px;
}

.diyez-case-study h2 {
	font-size: 13px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	font-weight: 600;
	color: #000;
	margin: 0 0 14px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);
}

.diyez-case-study p { color: #2b2b2b; }
.diyez-case-col p { margin: 0; max-width: 62ch; }

.diyez-case-work { margin-bottom: 36px; }
.diyez-case-work ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px 32px;
}
.diyez-case-work li {
	position: relative;
	padding-left: 22px;
	color: #2b2b2b;
	line-height: 1.6;
}
.diyez-case-work li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 9px;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}

.diyez-case-services {
	font-size: 14px;
	margin: 0 0 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, 0.16);
}
.diyez-case-services span {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2b2b2b;
	margin-right: 10px;
}
.diyez-case-services a { text-decoration: underline; color: #000; }
.diyez-case-services a:hover { opacity: 0.65; }

.diyez-case-cta {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
	max-width: 62ch;
}
.diyez-case-cta a { text-decoration: underline; color: #000; }
.diyez-case-cta a:hover { opacity: 0.65; }

/* Koyu zeminli proje sayfalari */
.light-content .diyez-case-lead,
.light-content .diyez-case-study h2 { color: #fff; }
.light-content .diyez-case-sector,
.light-content .diyez-case-study p,
.light-content .diyez-case-work li,
.light-content .diyez-case-services span { color: rgba(255, 255, 255, 0.7); }
.light-content .diyez-case-study h2,
.light-content .diyez-case-services { border-color: rgba(255, 255, 255, 0.22); }
.light-content .diyez-case-services a,
.light-content .diyez-case-cta a { color: #fff; }

@media only screen and (max-width: 767px) {
	.diyez-case-grid { gap: 30px; margin-bottom: 34px; }
	.diyez-case-lead { margin-bottom: 32px; }
}

/* ------------------------------------------------------------------
   12. ILETISIM KARTLARI (ana sayfa ve iletisim sayfasi)

   Onceki uc sutunlu icon_box duzeninde ortadaki sutun yalnizca ". . ."
   yaziyordu, e-posta hic yoktu ve adres tiklanamiyordu. Dort alan da
   artik tiklanabilir: harita, telefon, e-posta, WhatsApp.
------------------------------------------------------------------- */
.diyez-contact { font-style: normal; display: block; }

.diyez-contact-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1px;
	background: rgba(0, 0, 0, 0.14);
	border: 1px solid rgba(0, 0, 0, 0.14);
	/* overflow:hidden kullanilmiyor: kart icerigi satir yuksekligini asinca
	   alttaki eylem satirini kirpiyordu. */
}

/* Kart, grid hucresini tam doldursun; <a> de karti.
   (Daha once <a> uzerinde height:100% vardi; hucre yuksekligi otomatik
   oldugu icin cozulmuyor ve icerik tasiyordu.) */
.diyez-contact-card {
	margin: 0;
	display: flex;
}

.diyez-contact-card > a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	flex: 1 1 auto;
	padding: 24px 22px 20px;
	text-decoration: none;
	color: inherit;
	background: rgba(255, 255, 255, 0.16);
	transition: background-color 0.3s ease-out;
}

.diyez-contact-icon {
	width: 40px;
	height: 40px;
	flex: none;
	margin-bottom: 18px;
	border: 1px solid rgba(0, 0, 0, 0.24);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	transition: background-color 0.3s ease-out, color 0.3s ease-out,
	            border-color 0.3s ease-out, transform 0.3s ease-out;
}
.diyez-contact-icon svg { width: 19px; height: 19px; display: block; }

.diyez-contact-label {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #2b2b2b;
	margin-bottom: 7px;
}

.diyez-contact-value {
	font-size: 16px;
	line-height: 1.45;
	color: #000;
	font-weight: 500;
	margin-bottom: 14px;
}

.diyez-contact-action {
	margin-top: auto;
	font-size: 13px;
	color: #2b2b2b;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: transform 0.3s ease-out;
}
.diyez-contact-action::after {
	content: "";
	width: 13px;
	height: 1px;
	background: currentColor;
	transition: width 0.3s ease-out;
}

/* Hover / odak */
.diyez-contact-card > a:hover,
.diyez-contact-card > a:focus-visible {
	background: rgba(255, 255, 255, 0.34);
}
.diyez-contact-card > a:hover .diyez-contact-icon,
.diyez-contact-card > a:focus-visible .diyez-contact-icon {
	background: #0c0c0c;
	border-color: #0c0c0c;
	color: #fff;
	transform: translateY(-2px);
}
.diyez-contact-card > a:hover .diyez-contact-action::after,
.diyez-contact-card > a:focus-visible .diyez-contact-action::after { width: 26px; }
.diyez-contact-card > a:focus-visible { outline: 2px solid #0c0c0c; outline-offset: -2px; }

/* Not: bu bloklar temanin "light-content" (beyaz metin) sinifi altinda
   yer alsa da gercek sayfa zemini turuncu (#e9850d). Beyaz metin bu zeminde
   ~2,4:1 kontrast veriyor; koyu metin 7,8:1. Bu yuzden kartlar her baglamda
   koyu metin kullanir. */
.light-content .diyez-contact-value,
.dark-section .diyez-contact-value { color: #000; }
.light-content .diyez-contact-label,
.light-content .diyez-contact-action,
.dark-section .diyez-contact-label,
.dark-section .diyez-contact-action { color: #2b2b2b; }
.light-content .diyez-contact-icon,
.dark-section .diyez-contact-icon { border-color: rgba(0, 0, 0, 0.28); color: #000; }

@media only screen and (max-width: 600px) {
	.diyez-contact-card > a { padding: 22px 20px 18px; }
	.diyez-contact-value { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
	.diyez-contact-card > a,
	.diyez-contact-icon,
	.diyez-contact-action::after { transition: none !important; }
	.diyez-contact-card > a:hover .diyez-contact-icon { transform: none; }
}


/* ------------------------------------------------------------------
   13. DIKEY RITIM - eklenen bolumlerde dolgu azaltmasi

   Ana temanin container'lari alt/ust 129,6px dolgu veriyor. Eklenen
   bolumlerde icerik yogunlugu daha yuksek oldugu icin bu kadar bosluk
   sayfayi seyreltiyordu.
------------------------------------------------------------------- */
.diyez-contact-row.row_padding_top,
.diyez-services-row.row_padding_top { padding-top: 60px; }
.diyez-contact-row.row_padding_bottom,
.diyez-services-row.row_padding_bottom { padding-bottom: 60px; }

@media only screen and (max-width: 767px) {
	.diyez-contact-row.row_padding_top,
	.diyez-services-row.row_padding_top { padding-top: 42px; }
	.diyez-contact-row.row_padding_bottom,
	.diyez-services-row.row_padding_bottom { padding-bottom: 42px; }
}


/* ------------------------------------------------------------------
   14. TARAMA SONRASI DUZELTMELER
------------------------------------------------------------------- */

/* Kayan baslik satirlari: 74px icerik icin 259px dolgu kullaniliyordu. */
.marquee-text-wrapper { margin-top: 0; margin-bottom: 0; }
.content-row:has(> .marquee-text-wrapper).row_padding_top { padding-top: 56px; }
.content-row:has(> .marquee-text-wrapper).row_padding_bottom { padding-bottom: 40px; }

/* Hakkimizda hizmet indeksi basligi */
.diyez-services-title {
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	line-height: 1.15;
	letter-spacing: -0.025em;
	font-weight: 600;
	color: #000;
	margin: 0 0 30px;
	max-width: 24ch;
}
.light-content .diyez-services-title { color: #fff; }

/* Blog: .entry-tags icindeki "Tags:" etiketi seffaf renkle basiliyor
   ve hic gorunmuyordu (kontrast 1,07). */
.entry-meta.entry-tags li,
.entry-tags li { color: inherit; }
.entry-meta.entry-tags li:first-child,
.entry-tags li:first-child { color: #999 !important; opacity: 1; }
.dark-content .entry-tags li:first-child { color: #555 !important; }


/* Tam genislikli CTA satirlari: 102px icerik icin 259px dolgu kullaniliyordu. */
.content-row.full.row_padding_top:has(> .bigger),
.content-row.full.row_padding_top:has(> p.bigger) { padding-top: 70px; }
.content-row.full.row_padding_bottom:has(> .bigger),
.content-row.full.row_padding_bottom:has(> p.bigger) { padding-bottom: 70px; }


/* Portfolyo izgarasi basliklari: tema beyaz basiyor, sayfa zemini turuncu
   (kontrast 2,68:1). Koyu metinli sayfalarda sayfa rengini devralsin. */
.dark-content .slide-title,
.dark-content .slide-title span,
.dark-content .slide-cat,
.dark-content .slide-cat span { color: #000; }
