/* ==========================================================================
   Şafak Oto Çekici — Tema Stilleri
   Tasarım tokenları: Claude Design "Şafak Oto Çekici Web Sitesi"
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tasarım Tokenları
   -------------------------------------------------------------------------- */
:root {
	/* Marka renkleri — şafak lacivertleri + gün doğumu amberi */
	--soc-lacivert-900: #0b1638;
	--soc-lacivert-700: #16255b;
	--soc-lacivert-600: #1e338a;
	--soc-amber: #f49b33;
	--soc-amber-300: #ffb14e;
	--soc-amber-200: #f8b45c;
	--soc-amber-700: #e08a1d;

	/* Yüzeyler */
	--soc-bg: #fafaf8;
	--soc-bg-alt: #f1f3f8;
	--soc-yuzey: #ffffff;

	/* Metin */
	--soc-metin: #1a2238;
	--soc-metin-2: #253150;
	--soc-metin-3: #3a445c;
	--soc-metin-4: #4a5570;
	--soc-mut: #5a6478;
	--soc-mut-2: #8a93a8;

	/* Koyu zemin üstü metin */
	--soc-ust-1: #e8ecf7;
	--soc-ust-2: #c6cde2;
	--soc-ust-3: #b7c0da;
	--soc-ust-4: #9aa5c4;
	--soc-ust-5: #7c89ac;

	/* Kenarlıklar */
	--soc-kenar: #e6e8f0;
	--soc-kenar-2: #dde1eb;

	/* Yardımcı */
	--soc-wa: #25d366;
	--soc-yesil: #1ebe57;
	--soc-kirmizi: #d92d20;

	/* Yumuşak amber zemin (ipucu kutuları, etiket çipleri) */
	--soc-amber-zemin: #fff6e8;
	--soc-amber-kenar: #f5d9ac;
	--soc-amber-koyu: #8f5709;

	/*
	 * Açık zeminde METİN olarak kullanılacak amber.
	 * --soc-amber ve --soc-amber-700 dekoratiftir; beyaz/açık gri üzerinde
	 * 2.4–2.7:1 verirler ve WCAG AA'yı (4.5:1) karşılamazlar. Metin rengi
	 * gereken her yerde bu token kullanılmalıdır (#fafaf8'de 5.4:1).
	 */
	--soc-amber-metin: #8f5709;

	/* Gradyanlar */
	--soc-grad-hero: linear-gradient(120deg, #0b1638 0%, #16255b 100%);
	--soc-grad-kutu: linear-gradient(120deg, #0b1638, #16255b);

	/* Yarıçap */
	--soc-r-sm: 12px;
	--soc-r-md: 14px;
	--soc-r-lg: 16px;
	--soc-r-xl: 18px;
	--soc-r-2xl: 20px;
	--soc-r-3xl: 22px;
	--soc-r-tam: 999px;

	/* Gölge */
	--soc-golge-sm: 0 14px 30px rgba(11, 22, 56, 0.10);
	--soc-golge-md: 0 18px 44px rgba(11, 22, 56, 0.10);
	--soc-golge-lg: 0 20px 48px rgba(11, 22, 56, 0.16);
	--soc-golge-xl: 0 18px 40px rgba(11, 22, 56, 0.35);
	--soc-golge-fab: 0 10px 26px rgba(11, 22, 56, 0.3);

	/* Ölçüler */
	--soc-kap: 1180px;
	--soc-kap-dar: 860px;
	--soc-yatay: 24px;
	--soc-yapiskan-ofset: 100px;

	/* Tipografi — gövde Manrope, başlıklar Sora */
	--soc-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--soc-font-baslik: 'Sora', 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   2. Temel
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 120px;
	-webkit-text-size-adjust: 100%;
}

html,
body {
	margin: 0;
	padding: 0;
	background: var(--soc-bg);
}

body {
	font-family: var(--soc-font);
	color: var(--soc-metin);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
	display: block;
}

a {
	color: var(--soc-lacivert-700);
	text-decoration: none;
	transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

a:hover {
	color: var(--soc-lacivert-900);
}

::selection {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--soc-font-baslik);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0;
	text-wrap: pretty;
	color: inherit;
}

/* Rakam/ölçü vurguları da başlık ailesini kullanır (tasarım referansı) */
.soc-stat__deger,
.soc-adim__no,
.soc-hero__pul-baslik,
.soc-footer__logo,
.soc-footer__tel,
.soc-header__tel,
.soc-btn--buyuk,
.soc-bilgi__deger {
	font-family: var(--soc-font-baslik);
}

/* --------------------------------------------------------------------------
   2.1 Koyu zemin — metin rengi güvencesi
   --------------------------------------------------------------------------
   WordPress'in theme.json'dan ürettiği global-styles CSS'i ve bazı eklentiler
   h1-h6 ve a etiketlerine DOĞRUDAN renk verir. Doğrudan verilen bir değer,
   üst öğeden gelen kalıtımı her zaman ezer (özgüllükten bağımsız). Bu yüzden
   koyu zeminli bölümlerde beyaz rengi kalıtıma bırakmıyor, açıkça yazıyoruz.
   -------------------------------------------------------------------------- */
.soc-hero,
.soc-hero h1,
.soc-hero h2,
.soc-hero h3,
.soc-ic-hero,
.soc-ic-hero h1,
.soc-ic-hero h2,
.soc-ic-hero h3,
.soc-bolum--lacivert,
.soc-bolum--lacivert h1,
.soc-bolum--lacivert h2,
.soc-bolum--lacivert h3,
.soc-cta,
.soc-cta h1,
.soc-cta h2,
.soc-cta h3,
.soc-iletisim-kutu__sol,
.soc-iletisim-kutu__sol h1,
.soc-iletisim-kutu__sol h2,
.soc-iletisim-kutu__sol h3,
.soc-yan__fiyat,
.soc-yan__fiyat h1,
.soc-yan__fiyat h2,
.soc-yan__fiyat h3,
.soc-harita-kutu__alt,
.soc-harita-kutu__alt h1,
.soc-harita-kutu__alt h2,
.soc-harita-kutu__alt h3,
.soc-footer h1,
.soc-footer h2,
.soc-footer h3,
.soc-footer h4 {
	color: #ffffff;
}

/* Koyu zemindeki vurgulu parçalar beyazın istisnasıdır */
.soc-hero .soc-vurgu,
.soc-hero h1 span,
.soc-ic-hero .soc-vurgu,
.soc-ic-hero h1 span,
.soc-footer__logo span {
	color: var(--soc-amber);
}

.soc-hero .soc-etiket--acik,
.soc-ic-hero .soc-etiket--acik,
.soc-bolum--lacivert .soc-etiket--acik,
.soc-rozet-satir__yazi,
.soc-bilgi__etiket {
	color: var(--soc-amber-200);
}

/* Koyu zeminde rozet, amber ise lacivert yazılı kalmalı */
.soc-ic-hero .soc-rozet--amber,
.soc-hero .soc-rozet--amber {
	color: var(--soc-lacivert-900);
}

/* Açık zeminli başlıklar — aynı gerekçeyle açıkça yazılır */
.soc-h2,
.soc-h2--kucuk,
.soc-kart__baslik,
.soc-avantaj__baslik,
.soc-adim__baslik,
.soc-yan__kart h2,
.soc-yan__kart h3,
.soc-form-kutu h2,
.soc-il-kart__orta,
.soc-icerik h2,
.soc-icerik h3,
.soc-icerik h4,
.soc-detay__metin h2,
.soc-detay__metin h3 {
	color: var(--soc-metin);
}

/* Koyu zeminin içindeki beyaz kartlar geri koyu metne döner */
.soc-hero__pul,
.soc-hero__pul-baslik {
	color: var(--soc-metin);
}

.soc-hero__pul-alt {
	color: var(--soc-mut);
}

p {
	margin: 0;
	text-wrap: pretty;
}

ul, ol {
	margin: 0;
	padding: 0;
}

button {
	font-family: inherit;
}

/* Klavye odağı — erişilebilirlik
 *
 * Amber halka açık zeminde 2.1:1 kalıyordu; WCAG 1.4.11 odak göstergesi için
 * 3:1 ister. Bu yüzden açık zeminde lacivert halka + amber dış hâle kullanıyoruz;
 * koyu bölümlerde ikisi yer değiştirir. Her iki durumda da halka görünür kalır. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--soc-lacivert-700);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(244, 155, 51, 0.45);
	border-radius: 4px;
}

.soc-hero :where(a, button, [tabindex]):focus-visible,
.soc-ic-hero :where(a, button, [tabindex]):focus-visible,
.soc-bolum--lacivert :where(a, button, [tabindex]):focus-visible,
.soc-cta :where(a, button, [tabindex]):focus-visible,
.soc-footer :where(a, button, [tabindex]):focus-visible,
.soc-iletisim-kutu__sol :where(a, button, [tabindex]):focus-visible,
.soc-yan__fiyat :where(a, button, [tabindex]):focus-visible,
.soc-harita-kutu__alt :where(a, button, [tabindex]):focus-visible,
.soc-yazi__cta :where(a, button):focus-visible,
.soc-fab :where(a, button):focus-visible {
	outline-color: var(--soc-amber);
	box-shadow: 0 0 0 6px rgba(11, 22, 56, 0.55);
}

.soc-atla {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
	padding: 14px 24px;
	font-weight: 800;
	border-radius: 0 0 var(--soc-r-sm) 0;
}

.soc-atla:focus {
	left: 0;
	color: var(--soc-lacivert-900);
}

.soc-gizli {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* --------------------------------------------------------------------------
   3. Düzen yardımcıları
   -------------------------------------------------------------------------- */
.soc-kap {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding-inline: var(--soc-yatay);
	width: 100%;
}

.soc-kap--dar {
	max-width: var(--soc-kap-dar);
}

.soc-etiket {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--soc-amber-metin);
	text-transform: uppercase;
}

.soc-etiket--acik {
	color: var(--soc-amber-200);
}

.soc-h2 {
	font-size: clamp(26px, 3.4vw, 34px);
	margin-top: 12px;
}

.soc-h2--kucuk {
	font-size: clamp(22px, 2.6vw, 28px);
}

.soc-alt-metin {
	font-size: 16px;
	line-height: 1.65;
	color: var(--soc-mut);
	margin-top: 14px;
}

.soc-alt-metin--acik {
	color: var(--soc-ust-2);
}

/* --------------------------------------------------------------------------
   4. Butonlar
   -------------------------------------------------------------------------- */
.soc-btn {
	/* Asıl düzeltme .soc-icerik a.soc-btn kuralındadır; bu satır yalnızca
	 * varsayılanı sabitler (özgüllüğü .soc-icerik a'yı yenmez). */
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	/* Tasarımda butonlar tam yuvarlak değil, 12–14px köşeli. */
	border-radius: 13px;
	font-weight: 800;
	font-size: 15px;
	padding: 15px 26px;
	border: 1.5px solid transparent;
	cursor: pointer;
	text-align: center;
	line-height: 1.2;
}

.soc-btn--buyuk {
	border-radius: 14px;
}

.soc-btn--amber {
	background: var(--soc-amber);
	color: #101a3e;
	box-shadow: 0 8px 24px rgba(244, 155, 51, 0.4);
}

.soc-btn--amber:hover {
	background: var(--soc-amber-300);
	color: #101a3e;
}

.soc-btn--lacivert {
	background: var(--soc-lacivert-700);
	color: #fff;
}

.soc-btn--lacivert:hover {
	background: var(--soc-lacivert-900);
	color: #fff;
}

.soc-btn--hayalet {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
	font-weight: 700;
}

.soc-btn--hayalet:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.soc-btn--cizgi {
	border-color: var(--soc-kenar-2);
	color: var(--soc-lacivert-700);
	background: var(--soc-yuzey);
	font-weight: 700;
}

.soc-btn--cizgi:hover {
	border-color: var(--soc-lacivert-700);
	color: var(--soc-lacivert-900);
}

.soc-btn--buyuk {
	font-size: 16px;
	padding: 16px 28px;
}

/* --------------------------------------------------------------------------
   5. Acil şerit
   -------------------------------------------------------------------------- */
.soc-acil {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
	text-align: center;
	padding: 9px var(--soc-yatay);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.soc-acil a {
	color: var(--soc-lacivert-900);
	text-decoration: underline;
	font-weight: 800;
}

.soc-acil a:hover {
	color: var(--soc-lacivert-700);
}

/* --------------------------------------------------------------------------
   6. Header
   -------------------------------------------------------------------------- */
.soc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(253, 253, 251, 0.94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--soc-kenar);
}

.soc-header__ic {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 14px var(--soc-yatay);
	display: flex;
	align-items: center;
	gap: 32px;
}

.soc-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.soc-logo img {
	height: 44px;
	width: auto;
	display: block;
}

.soc-logo__yazi {
	font-size: 21px;
	font-weight: 800;
	font-style: italic;
	color: var(--soc-lacivert-900);
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.soc-logo__yazi span {
	color: var(--soc-amber-metin);
}

.soc-nav {
	display: flex;
	gap: 26px;
	margin-left: auto;
	font-size: 14.5px;
	font-weight: 600;
	list-style: none;
	align-items: center;
	flex-wrap: wrap;
}

.soc-nav li {
	list-style: none;
	position: relative;
}

.soc-nav a {
	color: var(--soc-metin-3);
	display: block;
	padding: 4px 0;
}

.soc-nav a:hover,
.soc-nav .current-menu-item > a,
.soc-nav .current_page_item > a,
.soc-nav .current-menu-ancestor > a,
.soc-nav .soc-nav__aktif > a {
	color: var(--soc-lacivert-700);
	font-weight: 800;
}

/* Alt menü */
.soc-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 250px;
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-md);
	box-shadow: var(--soc-golge-sm);
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	z-index: 60;
	margin-top: 10px;
}

.soc-nav li:hover > .sub-menu,
.soc-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.soc-nav .sub-menu a {
	padding: 9px 14px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
}

.soc-nav .sub-menu a:hover {
	background: var(--soc-bg-alt);
}

.soc-header__tel {
	background: var(--soc-lacivert-700);
	color: #fff;
	padding: 12px 22px;
	border-radius: var(--soc-r-tam);
	font-size: 14.5px;
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	flex-shrink: 0;
}

.soc-header__tel:hover {
	background: var(--soc-lacivert-900);
	color: #fff;
}

.soc-nokta {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--soc-amber);
	display: inline-block;
	flex-shrink: 0;
}

/* Mobil menü düğmesi */
.soc-menu-btn {
	display: none;
	width: 46px;
	height: 46px;
	border: 1px solid var(--soc-kenar);
	background: var(--soc-yuzey);
	border-radius: var(--soc-r-sm);
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 0;
}

.soc-menu-btn__cizgi {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--soc-lacivert-900);
	border-radius: 2px;
	position: relative;
	transition: background 0.2s ease;
}

.soc-menu-btn__cizgi::before,
.soc-menu-btn__cizgi::after {
	content: '';
	position: absolute;
	left: 0;
	width: 20px;
	height: 2px;
	background: var(--soc-lacivert-900);
	border-radius: 2px;
	transition: transform 0.22s ease;
}

.soc-menu-btn__cizgi::before {
	top: -6px;
}

.soc-menu-btn__cizgi::after {
	top: 6px;
}

.soc-menu-btn[aria-expanded="true"] .soc-menu-btn__cizgi {
	background: transparent;
}

.soc-menu-btn[aria-expanded="true"] .soc-menu-btn__cizgi::before {
	transform: translateY(6px) rotate(45deg);
}

.soc-menu-btn[aria-expanded="true"] .soc-menu-btn__cizgi::after {
	transform: translateY(-6px) rotate(-45deg);
}

/* --------------------------------------------------------------------------
   7. Hero
   -------------------------------------------------------------------------- */
.soc-hero {
	background: var(--soc-grad-hero);
	color: #fff;
	overflow: hidden;
}

.soc-hero__ic {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 72px var(--soc-yatay) 56px;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 56px;
	align-items: center;
}

.soc-rozet-cizgi {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--soc-r-tam);
	padding: 7px 16px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--soc-amber-200);
	text-transform: uppercase;
}

.soc-hero__h1 {
	font-size: clamp(30px, 4.4vw, 46px);
	line-height: 1.12;
	margin: 22px 0 0;
	letter-spacing: -0.015em;
}

.soc-hero__h1 span,
.soc-vurgu {
	color: var(--soc-amber);
}

.soc-hero__ozet {
	font-size: 17px;
	line-height: 1.65;
	color: var(--soc-ust-2);
	margin: 18px 0 0;
	max-width: 520px;
}

.soc-hero__cta {
	display: flex;
	gap: 14px;
	margin-top: 30px;
	flex-wrap: wrap;
}

/* Hero'daki hayalet buton tasarımda 16px 24px / 15px */
.soc-hero__cta .soc-btn--hayalet {
	padding: 16px 24px;
	font-size: 15px;
}

.soc-guven {
	display: flex;
	gap: 6px;
	margin-top: 36px;
	align-items: center;
	flex-wrap: wrap;
}

.soc-guven__cizgi {
	height: 5px;
	background: var(--soc-amber);
	border-radius: 3px;
	display: inline-block;
}

.soc-guven__cizgi:nth-child(1) { width: 46px; }
.soc-guven__cizgi:nth-child(2) { width: 26px; opacity: 0.65; }
.soc-guven__cizgi:nth-child(3) { width: 12px; opacity: 0.35; }

.soc-guven__yazi {
	font-size: 13px;
	color: var(--soc-ust-4);
	margin-left: 12px;
	font-weight: 600;
}

.soc-hero__gorsel {
	position: relative;
}

.soc-hero__gorsel img {
	width: 100%;
	height: 400px;
	object-fit: cover;
	object-position: 28% center;
	border-radius: var(--soc-r-2xl);
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.soc-hero__pul {
	position: absolute;
	bottom: -18px;
	left: 24px;
	background: var(--soc-yuzey);
	color: var(--soc-metin);
	border-radius: var(--soc-r-md);
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	box-shadow: var(--soc-golge-xl);
}

.soc-hero__pul-ikon {
	width: 46px;
	height: 46px;
	border-radius: var(--soc-r-sm);
	background: var(--soc-lacivert-700);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 15px;
	flex-shrink: 0;
}

.soc-hero__pul-baslik {
	font-size: 14.5px;
	font-weight: 800;
}

.soc-hero__pul-alt {
	font-size: 12.5px;
	color: var(--soc-mut);
	font-weight: 600;
}

/* Hero istatistik şeridi */
.soc-statlar {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.soc-statlar__ic {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 22px var(--soc-yatay);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.soc-stat {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.soc-stat__deger {
	font-size: 22px;
	font-weight: 800;
	color: var(--soc-amber);
	white-space: nowrap;
}

.soc-stat__etiket {
	font-size: 13.5px;
	color: var(--soc-ust-3);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   8. Bölüm iskeleti
   -------------------------------------------------------------------------- */
.soc-bolum {
	padding-block: 88px;
}

.soc-bolum--sik {
	padding-block: 72px;
}

/* Tasarımdaki bölüm boşlukları — birebir */
.soc-bolum--hizmetler { padding: 88px 0 72px; }   /* 88px 24px 72px */
.soc-bolum--yorumlar  { padding-block: 80px; }    /* 80px 24px */

.soc-bolum--alt {
	background: var(--soc-bg-alt);
}

.soc-bolum--lacivert {
	background: var(--soc-lacivert-700);
	color: #fff;
}

.soc-bolum__basi {
	max-width: 640px;
}

.soc-bolum__basi--orta {
	max-width: 560px;
	margin-inline: auto;
	text-align: center;
}

/* --------------------------------------------------------------------------
   9. Hizmet kartları
   -------------------------------------------------------------------------- */
.soc-izgara {
	display: grid;
	gap: 20px;
	margin-top: 44px;
}

.soc-izgara--4 { grid-template-columns: repeat(4, 1fr); }
.soc-izgara--3 { grid-template-columns: repeat(3, 1fr); }
.soc-izgara--2 { grid-template-columns: repeat(2, 1fr); }

.soc-kart {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-lg);
	padding: 26px 22px;
	display: block;
	color: var(--soc-metin);
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}

a.soc-kart:hover {
	border-color: var(--soc-lacivert-700);
	transform: translateY(-4px);
	box-shadow: var(--soc-golge-sm);
	color: var(--soc-metin);
}

.soc-rozet {
	width: 54px;
	height: 54px;
	border-radius: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	letter-spacing: 0.02em;
	font-size: 14px;
	background: var(--soc-lacivert-700);
	color: #fff;
	flex-shrink: 0;
	overflow: hidden;
	text-align: center;
	line-height: 1;
	padding: 4px;
}

.soc-rozet--amber {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
}

.soc-rozet--kucuk {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	font-size: 11px;
}

.soc-kart__baslik {
	font-size: 16.5px;
	margin: 18px 0 0;
	line-height: 1.3;
}

.soc-kart__metin {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--soc-mut);
	margin: 8px 0 0;
}

.soc-kart__link {
	/* index.php'de <span>, template-tags.php'de <div> olarak basılıyor;
	 * block olmadan satır içi öğede margin-top yok sayılır. */
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: var(--soc-lacivert-700);
	margin-top: 14px;
}

/* --------------------------------------------------------------------------
   10. Bölgeler
   -------------------------------------------------------------------------- */
.soc-bolgeler__basi {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.soc-etiketler {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 40px;
}

.soc-pul {
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--soc-r-tam);
	padding: 11px 20px;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.soc-pul:hover {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
	border-color: var(--soc-amber);
}

.soc-pul:hover .soc-nokta {
	background: var(--soc-lacivert-900);
}

/* Bölge pulundaki nokta tasarımda 6px (header'daki 8px) */
.soc-pul .soc-nokta {
	width: 6px;
	height: 6px;
}

.soc-pul--sade {
	border: 1px solid var(--soc-kenar-2);
	background: var(--soc-yuzey);
	color: var(--soc-lacivert-700);
	padding: 9px 18px;
	font-size: 13.5px;
}

.soc-pul--sade:hover {
	border-color: var(--soc-lacivert-700);
	background: var(--soc-yuzey);
	color: var(--soc-lacivert-900);
}

.soc-pul--aktif {
	background: var(--soc-lacivert-700);
	border-color: var(--soc-lacivert-700);
	color: #fff;
}

.soc-pul--aktif:hover {
	background: var(--soc-lacivert-900);
	border-color: var(--soc-lacivert-900);
	color: #fff;
}

/* --------------------------------------------------------------------------
   11. Neden biz
   -------------------------------------------------------------------------- */
.soc-neden {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 64px;
	align-items: start;
}

.soc-yapiskan {
	position: sticky;
	top: var(--soc-yapiskan-ofset);
}

/* Tasarımda bu sütundaki paragraf 16px üst boşluklu, buton 14px 26px / 14.5px */
.soc-yapiskan .soc-alt-metin {
	margin-top: 16px;
}

.soc-yapiskan .soc-btn--lacivert {
	padding: 14px 26px;
	font-size: 14.5px;
}

.soc-avantaj {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-lg);
	padding: 26px;
}

.soc-avantaj__no {
	font-size: 24px;
	font-weight: 800;
	color: var(--soc-amber);
	line-height: 1;
}

.soc-avantaj__baslik {
	font-size: 17px;
	margin: 12px 0 0;
}

.soc-avantaj__metin {
	font-size: 14px;
	line-height: 1.62;
	color: var(--soc-mut);
	margin: 8px 0 0;
}

/* --------------------------------------------------------------------------
   12. Nasıl çalışır
   -------------------------------------------------------------------------- */
.soc-adim {
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-xl);
	padding: 30px 26px;
	background: var(--soc-yuzey);
	position: relative;
	height: 100%;
}

.soc-adim__no {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
	font-weight: 800;
	font-size: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.soc-adim__baslik {
	font-size: 18px;
	margin: 18px 0 0;
}

.soc-adim__metin {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--soc-mut);
	margin: 10px 0 0;
}

/* --------------------------------------------------------------------------
   13. Yorumlar
   -------------------------------------------------------------------------- */
.soc-yorum {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-lg);
	padding: 28px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

.soc-yildiz {
	color: var(--soc-amber);
	font-size: 15px;
	letter-spacing: 3px;
	line-height: 1;
}

.soc-yorum blockquote {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--soc-metin-2);
}

.soc-yorum figcaption {
	font-size: 13.5px;
	font-weight: 800;
	color: var(--soc-lacivert-700);
	margin-top: auto;
}

.soc-yorum figcaption span {
	color: var(--soc-mut-2);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   14. SSS akordiyon
   -------------------------------------------------------------------------- */
.soc-sss {
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.soc-sss__oge {
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-md);
	background: var(--soc-yuzey);
	overflow: hidden;
}

.soc-sss__btn {
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	padding: 20px 24px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	color: var(--soc-metin);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	line-height: 1.4;
}

.soc-sss__ikon {
	color: var(--soc-lacivert-700);
	font-size: 20px;
	font-weight: 700;
	flex-shrink: 0;
	width: 20px;
	text-align: center;
	transition: transform 0.2s ease;
}

.soc-sss__btn[aria-expanded="true"] .soc-sss__ikon {
	transform: rotate(180deg);
}

.soc-sss__govde {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.26s ease;
}

.soc-sss__govde[data-acik="1"] {
	grid-template-rows: 1fr;
}

.soc-sss__govde > div {
	overflow: hidden;
}

.soc-sss__cevap {
	margin: 0;
	padding: 0 24px 22px;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--soc-mut);
}

.soc-sss__cevap p {
	margin: 0;
}

.soc-sss__cevap p + p,
.soc-sss__cevap ul,
.soc-sss__cevap ol {
	margin-top: 12px;
}

.soc-sss__cevap ul,
.soc-sss__cevap ol {
	padding-left: 20px;
}

.soc-sss__cevap a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Kenar çubuğu widget başlığı */
.soc-widget__baslik {
	font-size: 17px;
	font-weight: 800;
	margin: 0 0 14px;
	color: var(--soc-metin);
}

/* --------------------------------------------------------------------------
   15. İletişim kutusu (ana sayfa)
   -------------------------------------------------------------------------- */
.soc-iletisim-kutu {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	border-radius: var(--soc-r-3xl);
	overflow: hidden;
	border: 1px solid var(--soc-kenar);
	box-shadow: var(--soc-golge-lg);
}

.soc-iletisim-kutu__sol {
	background: var(--soc-grad-kutu);
	color: #fff;
	padding: 48px 44px;
}

.soc-iletisim-kutu__sol h2 {
	font-size: clamp(24px, 3vw, 30px);
}

.soc-bilgi-liste {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin-top: 36px;
}

.soc-bilgi__etiket {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--soc-amber-200);
	text-transform: uppercase;
}

.soc-bilgi__deger {
	font-size: 15px;
	line-height: 1.6;
	margin-top: 6px;
	color: var(--soc-ust-1);
}

.soc-bilgi__tel {
	font-size: 26px;
	font-weight: 800;
	color: #fff;
	display: inline-block;
	margin-top: 6px;
}

.soc-bilgi__tel:hover {
	color: var(--soc-amber);
}

.soc-harita {
	width: 100%;
	height: 100%;
	min-height: 480px;
	border: none;
	display: block;
	background: var(--soc-bg-alt);
}

/* --------------------------------------------------------------------------
   16. Footer
   -------------------------------------------------------------------------- */
.soc-footer {
	background: var(--soc-lacivert-900);
	color: var(--soc-ust-3);
}

.soc-footer a {
	color: var(--soc-ust-3);
}

.soc-footer a:hover {
	color: var(--soc-amber);
}

.soc-footer__ust {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 64px var(--soc-yatay) 0;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1.1fr;
	gap: 48px;
}

.soc-footer__logo {
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.01em;
	font-style: italic;
}

.soc-footer__logo span {
	color: var(--soc-amber);
}

.soc-footer__metin {
	font-size: 13.5px;
	line-height: 1.7;
	margin: 14px 0 0;
	max-width: 300px;
}

.soc-footer__cizgiler {
	display: flex;
	gap: 5px;
	margin-top: 20px;
}

.soc-footer__cizgiler span {
	height: 4px;
	background: var(--soc-amber);
	border-radius: 2px;
	display: inline-block;
}

.soc-footer__cizgiler span:nth-child(1) { width: 38px; }
.soc-footer__cizgiler span:nth-child(2) { width: 20px; opacity: 0.6; }
.soc-footer__cizgiler span:nth-child(3) { width: 10px; opacity: 0.3; }

.soc-footer__baslik {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #fff;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.soc-footer__liste {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
}

.soc-footer__liste li {
	list-style: none;
}

.soc-footer__liste a {
	font-size: 13.5px;
}

.soc-footer__iletisim {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 13.5px;
	line-height: 1.6;
}

.soc-footer__tel {
	color: var(--soc-amber) !important;
	font-weight: 800;
	font-size: 17px;
}

.soc-footer__acik {
	color: #fff;
	font-weight: 700;
}

.soc-footer__alt {
	max-width: var(--soc-kap);
	margin: 40px auto 0;
	padding-inline: var(--soc-yatay);
}

.soc-footer__seo {
	font-size: 12px;
	line-height: 1.7;
	color: var(--soc-ust-5);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 24px;
	margin: 0;
}

.soc-footer__telif {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0 26px;
	font-size: 12.5px;
	color: var(--soc-ust-5);
	flex-wrap: wrap;
}

/* Sade footer (iç sayfalar) */
.soc-footer--sade .soc-footer__satir {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 36px var(--soc-yatay);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   17. Sabit butonlar
   -------------------------------------------------------------------------- */
.soc-fab {
	position: fixed;
	right: 24px;
	bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	z-index: 100;
}

.soc-fab a {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--soc-golge-fab);
}

.soc-fab a:hover {
	transform: scale(1.07);
}

.soc-fab__wa {
	background: var(--soc-wa);
	color: #fff;
}

.soc-fab__wa:hover {
	color: #fff;
}

.soc-fab__tel {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
}

.soc-fab__tel:hover {
	color: var(--soc-lacivert-900);
}

.soc-fab svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

/* --------------------------------------------------------------------------
   18. Breadcrumb
   -------------------------------------------------------------------------- */
.soc-yol {
	font-size: 13px;
	font-weight: 600;
	color: var(--soc-ust-4);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
}

.soc-yol li {
	list-style: none;
	display: flex;
	gap: 8px;
	align-items: center;
}

.soc-yol a {
	color: var(--soc-ust-4);
}

.soc-yol a:hover {
	color: #fff;
}

.soc-yol__aktif {
	color: var(--soc-amber-200);
}

.soc-yol--koyu {
	color: var(--soc-mut);
}

.soc-yol--koyu a {
	color: var(--soc-mut);
}

.soc-yol--koyu a:hover {
	color: var(--soc-lacivert-700);
}

.soc-yol--koyu .soc-yol__aktif {
	color: var(--soc-lacivert-700);
}

/* --------------------------------------------------------------------------
   19. İç sayfa hero
   -------------------------------------------------------------------------- */
.soc-ic-hero {
	background: var(--soc-grad-hero);
	color: #fff;
}

.soc-ic-hero__ic {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 56px var(--soc-yatay) 60px;
}

.soc-ic-hero__izgara {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 56px;
	align-items: center;
	margin-top: 34px;
}

.soc-ic-hero__h1 {
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.14;
	margin: 20px 0 0;
	letter-spacing: -0.015em;
}

.soc-ic-hero__ozet {
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--soc-ust-2);
	margin: 16px 0 0;
	max-width: 540px;
}

.soc-ic-hero__cta {
	display: flex;
	gap: 14px;
	margin-top: 28px;
	flex-wrap: wrap;
}

.soc-ic-hero__gorsel {
	width: 100%;
	height: 340px;
	object-fit: cover;
	object-position: 28% center;
	border-radius: var(--soc-r-2xl);
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.soc-rozet-satir {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.soc-rozet-satir__yazi {
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--soc-amber-200);
	text-transform: uppercase;
}

/* Bölge hero istatistik kutuları */
.soc-kutu-izgara {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.soc-kutu {
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--soc-r-lg);
	padding: 22px;
}

.soc-kutu__deger {
	font-size: 26px;
	font-weight: 800;
	color: var(--soc-amber);
	line-height: 1.1;
}

.soc-kutu__etiket {
	font-size: 13px;
	color: var(--soc-ust-3);
	font-weight: 600;
	margin-top: 4px;
}

/* --------------------------------------------------------------------------
   20. Hizmet detay
   -------------------------------------------------------------------------- */
.soc-detay {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 64px;
	align-items: start;
}

.soc-detay__metin {
	font-size: 15px;
	line-height: 1.8;
	color: var(--soc-metin-4);
}

.soc-detay__metin > p {
	margin-top: 14px;
}

.soc-detay__metin > p:first-child {
	margin-top: 18px;
}

.soc-detay__metin h2,
.soc-detay__metin h3 {
	margin-top: 28px;
}

.soc-detay__metin ul,
.soc-detay__metin ol {
	margin: 14px 0 0;
	padding-left: 22px;
}

.soc-detay__metin li {
	margin-top: 6px;
}

.soc-detay__metin a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.soc-ozellikler {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 30px;
}

.soc-ozellik {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--soc-bg-alt);
	border-radius: var(--soc-r-sm);
	padding: 16px 18px;
}

.soc-ozellik__tik {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--soc-lacivert-700);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}

.soc-ozellik span:last-child {
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--soc-metin);
}

.soc-yan {
	position: sticky;
	top: var(--soc-yapiskan-ofset);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.soc-yan__kart {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-xl);
	padding: 30px;
}

.soc-yan__kart h2,
.soc-yan__kart h3 {
	font-size: 17px;
}

.soc-durumlar {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 18px;
	list-style: none;
}

.soc-durumlar li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	list-style: none;
	font-size: 14px;
	line-height: 1.55;
	color: var(--soc-metin-4);
}

.soc-durumlar li::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--soc-amber);
	margin-top: 7px;
	flex-shrink: 0;
}

.soc-yan__fiyat {
	background: var(--soc-grad-kutu);
	border-radius: var(--soc-r-xl);
	padding: 30px;
	color: #fff;
}

.soc-yan__fiyat p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--soc-ust-2);
	margin: 10px 0 0;
}

/* --------------------------------------------------------------------------
   21. Diğer hizmetler ızgarası
   -------------------------------------------------------------------------- */
.soc-mini-kart {
	text-align: left;
	border: 1px solid var(--soc-kenar);
	background: var(--soc-yuzey);
	border-radius: var(--soc-r-md);
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--soc-metin);
	height: 100%;
}

.soc-mini-kart:hover {
	border-color: var(--soc-lacivert-700);
	color: var(--soc-metin);
}

.soc-mini-kart--aktif {
	background: var(--soc-lacivert-700);
	border-color: var(--soc-lacivert-700);
	color: #fff;
}

.soc-mini-kart--aktif .soc-rozet {
	background: var(--soc-amber);
	color: var(--soc-lacivert-900);
}

.soc-mini-kart__yazi {
	font-size: 13.5px;
	font-weight: 800;
	line-height: 1.3;
}

/* --------------------------------------------------------------------------
   22. CTA bandı
   -------------------------------------------------------------------------- */
.soc-cta {
	background: var(--soc-grad-kutu);
	border-radius: var(--soc-r-3xl);
	padding: 52px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.soc-cta h2 {
	font-size: clamp(22px, 3vw, 28px);
	color: #fff;
	margin: 0;
}

.soc-cta p {
	font-size: 15px;
	color: var(--soc-ust-2);
	margin: 10px 0 0;
}

.soc-cta__btnler {
	display: flex;
	gap: 14px;
	flex-shrink: 0;
	flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   23. İletişim sayfası
   -------------------------------------------------------------------------- */
.soc-il-hero__ic {
	max-width: var(--soc-kap);
	margin-inline: auto;
	padding: 56px var(--soc-yatay) 120px;
}

.soc-il-kartlar {
	max-width: var(--soc-kap);
	margin: -72px auto 0;
	padding-inline: var(--soc-yatay);
	position: relative;
	z-index: 5;
}

.soc-il-kartlar__izgara {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.soc-il-kart {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-xl);
	padding: 30px 28px;
	display: block;
	box-shadow: var(--soc-golge-md);
	color: var(--soc-metin);
}

a.soc-il-kart:hover {
	transform: translateY(-4px);
	color: var(--soc-metin);
}

.soc-il-kart--amber {
	background: var(--soc-amber);
	border-color: var(--soc-amber);
	color: var(--soc-lacivert-900);
	box-shadow: 0 18px 44px rgba(6, 18, 50, 0.18);
}

a.soc-il-kart--amber:hover {
	color: var(--soc-lacivert-900);
}

.soc-il-kart__etiket {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.soc-il-kart__buyuk {
	font-size: 26px;
	font-weight: 800;
	margin-top: 10px;
	line-height: 1.2;
}

.soc-il-kart__orta {
	font-size: 20px;
	font-weight: 800;
	margin-top: 10px;
	color: var(--soc-metin);
	line-height: 1.3;
}

.soc-il-kart__adres {
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.55;
	margin-top: 10px;
	color: var(--soc-metin);
}

.soc-il-kart__alt {
	font-size: 13.5px;
	font-weight: 700;
	margin-top: 8px;
	color: var(--soc-mut);
}

.soc-il-kart--amber .soc-il-kart__alt {
	color: var(--soc-lacivert-900);
	opacity: 0.8;
}

.soc-il-govde {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 24px;
	align-items: stretch;
}

.soc-form-kutu {
	background: var(--soc-yuzey);
	border: 1px solid var(--soc-kenar);
	border-radius: var(--soc-r-2xl);
	padding: 40px 38px;
}

.soc-harita-kutu {
	border-radius: var(--soc-r-2xl);
	overflow: hidden;
	border: 1px solid var(--soc-kenar);
	display: flex;
	flex-direction: column;
}

.soc-harita-kutu iframe {
	width: 100%;
	flex: 1;
	min-height: 420px;
	border: none;
	display: block;
	background: var(--soc-bg-alt);
}

.soc-harita-kutu__alt {
	background: var(--soc-lacivert-900);
	color: #fff;
	padding: 22px 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.soc-harita-kutu__alt a {
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	color: #fff;
	padding: 11px 20px;
	border-radius: var(--soc-r-tam);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.soc-harita-kutu__alt a:hover {
	border-color: var(--soc-amber);
	color: var(--soc-amber);
}

/* --------------------------------------------------------------------------
   24. Form
   -------------------------------------------------------------------------- */
.soc-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 26px;
}

.soc-form__satir {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.soc-form label {
	font-size: 13px;
	font-weight: 700;
	color: var(--soc-metin-3);
	display: block;
	margin-bottom: 6px;
}

.soc-form input[type="text"],
.soc-form input[type="tel"],
.soc-form input[type="email"],
.soc-form select,
.soc-form textarea {
	border: 1.5px solid var(--soc-kenar-2);
	border-radius: var(--soc-r-sm);
	padding: 14px 16px;
	font-family: inherit;
	font-size: 14px;
	color: var(--soc-metin);
	background: var(--soc-bg);
	/* outline: none KULLANILMAZ — küresel :focus-visible halkasını ezer ve
	 * klavye kullanıcısı odağı kaybeder. Şeffaf çerçeve, yer tutucu görevi görür. */
	outline: 2px solid transparent;
	outline-offset: 2px;
	width: 100%;
	transition: border-color 0.18s ease;
}

.soc-form textarea {
	resize: vertical;
	min-height: 110px;
}

.soc-form input:focus,
.soc-form select:focus,
.soc-form textarea:focus {
	border-color: var(--soc-lacivert-700);
}

.soc-form input:focus-visible,
.soc-form select:focus-visible,
.soc-form textarea:focus-visible,
.soc-arama input[type="search"]:focus-visible {
	outline: 3px solid var(--soc-lacivert-700);
	outline-offset: 2px;
}

.soc-form input::placeholder,
.soc-form textarea::placeholder {
	color: var(--soc-mut);
}

.soc-form input[aria-invalid="true"],
.soc-form textarea[aria-invalid="true"],
.soc-form select[aria-invalid="true"] {
	border-color: var(--soc-kirmizi);
}

.soc-form__gonder {
	background: var(--soc-lacivert-700);
	color: #fff;
	border: none;
	border-radius: var(--soc-r-tam);
	padding: 16px 28px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.2s ease, opacity 0.2s ease;
}

.soc-form__gonder:hover {
	background: var(--soc-lacivert-900);
}

.soc-form__gonder[disabled] {
	opacity: 0.65;
	cursor: not-allowed;
}

.soc-form__gonder--basarili {
	background: var(--soc-yesil);
}

.soc-form__gonder--basarili:hover {
	background: var(--soc-yesil);
}

.soc-form__mesaj {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
	padding: 14px 16px;
	border-radius: var(--soc-r-sm);
	display: none;
}

.soc-form__mesaj[data-tur="basarili"] {
	display: block;
	background: rgba(31, 175, 84, 0.10);
	color: #14733a;
	border: 1px solid rgba(31, 175, 84, 0.3);
}

.soc-form__mesaj[data-tur="hata"] {
	display: block;
	background: rgba(217, 45, 32, 0.08);
	color: var(--soc-kirmizi);
	border: 1px solid rgba(217, 45, 32, 0.25);
}

.soc-form__kvkk {
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--soc-mut);
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.soc-form__kvkk input {
	margin-top: 3px;
	accent-color: var(--soc-lacivert-700);
	flex-shrink: 0;
}

/* Bal küpü — bot tuzağı */
.soc-hp {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* --------------------------------------------------------------------------
   25. Yazı / sayfa içeriği
   -------------------------------------------------------------------------- */
.soc-icerik {
	font-size: 16px;
	line-height: 1.8;
	color: var(--soc-metin-4);
}

.soc-icerik > * + * {
	margin-top: 18px;
}

.soc-icerik h2 { font-size: 26px; margin-top: 36px; color: var(--soc-metin); }
.soc-icerik h3 { font-size: 21px; margin-top: 28px; color: var(--soc-metin); }
.soc-icerik h4 { font-size: 18px; margin-top: 24px; color: var(--soc-metin); }

.soc-icerik ul,
.soc-icerik ol {
	padding-left: 24px;
}

.soc-icerik li + li {
	margin-top: 8px;
}

.soc-icerik a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Gövde içindeki butonlar altı çizili basılmamalı. Özgüllük (0,2,1) olduğu için
 * hem .soc-icerik a hem .soc-detay__metin a kurallarını yener. */
.soc-icerik a.soc-btn,
.soc-detay__metin a.soc-btn {
	text-decoration: none;
}

.soc-icerik img,
.soc-icerik figure {
	border-radius: var(--soc-r-lg);
	max-width: 100%;
}

.soc-icerik blockquote {
	border-left: 4px solid var(--soc-amber);
	padding: 4px 0 4px 20px;
	margin-inline: 0;
	font-size: 17px;
	color: var(--soc-metin-2);
}

.soc-icerik table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
}

.soc-icerik th,
.soc-icerik td {
	border: 1px solid var(--soc-kenar);
	padding: 10px 14px;
	text-align: left;
}

.soc-icerik th {
	background: var(--soc-bg-alt);
	font-weight: 800;
}

.soc-icerik code,
.soc-icerik pre {
	background: var(--soc-bg-alt);
	border-radius: 8px;
	padding: 2px 6px;
	font-size: 14px;
}

.soc-icerik pre {
	padding: 16px;
	overflow-x: auto;
}

/* Sayfalama */
.soc-sayfalama {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 48px;
	justify-content: center;
}

.soc-icerik .soc-sayfalama a {
	text-decoration: none;
}

.soc-sayfalama .page-numbers {
	text-decoration: none;
	border: 1px solid var(--soc-kenar);
	background: var(--soc-yuzey);
	border-radius: 10px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 700;
	color: var(--soc-lacivert-700);
}

.soc-sayfalama .page-numbers:hover {
	border-color: var(--soc-lacivert-700);
}

.soc-sayfalama .page-numbers.current {
	background: var(--soc-lacivert-700);
	border-color: var(--soc-lacivert-700);
	color: #fff;
}

/* Arama formu */
.soc-arama {
	display: flex;
	gap: 10px;
	max-width: 520px;
}

.soc-arama input[type="search"] {
	flex: 1;
	border: 1.5px solid var(--soc-kenar-2);
	border-radius: var(--soc-r-sm);
	padding: 13px 16px;
	font-family: inherit;
	font-size: 14px;
	background: var(--soc-yuzey);
	color: var(--soc-metin);
	outline: 2px solid transparent;
	outline-offset: 2px;
}

.soc-arama input[type="search"]:focus {
	border-color: var(--soc-lacivert-700);
}

/* 404 */
.soc-404 {
	text-align: center;
	padding-block: 100px;
}

.soc-404__kod {
	font-size: clamp(72px, 14vw, 130px);
	font-weight: 800;
	color: var(--soc-amber);
	line-height: 1;
	letter-spacing: -0.04em;
}

/* --------------------------------------------------------------------------
   26. Duyarlı düzen
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.soc-izgara--4 { grid-template-columns: repeat(3, 1fr); }
	.soc-footer__ust { grid-template-columns: 1.4fr 1fr 1fr; }
	.soc-footer__ust > div:last-child { grid-column: 1 / -1; }
	.soc-detay { grid-template-columns: 1fr; gap: 40px; }
	.soc-yan { position: static; }
	.soc-neden { grid-template-columns: 1fr; gap: 40px; }
	.soc-yapiskan { position: static; }
}

@media (max-width: 980px) {
	:root {
		--soc-yapiskan-ofset: 84px;
	}

	.soc-menu-btn {
		display: flex;
	}

	.soc-header__ic {
		gap: 16px;
		flex-wrap: wrap;
	}

	.soc-nav {
		display: none;
		order: 10;
		flex-basis: 100%;
		flex-direction: column;
		gap: 0;
		margin-left: 0;
		border-top: 1px solid var(--soc-kenar);
		padding-top: 8px;
		margin-top: 4px;
		max-height: 70vh;
		overflow-y: auto;
	}

	.soc-nav[data-acik="1"] {
		display: flex;
	}

	.soc-nav > li {
		width: 100%;
		border-bottom: 1px solid var(--soc-kenar);
	}

	.soc-nav > li:last-child {
		border-bottom: none;
	}

	.soc-nav a {
		padding: 14px 4px;
		font-size: 15px;
	}

	.soc-nav .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		border-left: 2px solid var(--soc-kenar);
		border-radius: 0;
		margin: 0 0 10px 8px;
		padding: 0 0 0 8px;
	}

	.soc-header__tel {
		margin-left: auto;
		padding: 10px 16px;
		font-size: 13.5px;
	}

	.soc-hero__ic,
	.soc-ic-hero__izgara {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.soc-hero__ic {
		padding-top: 48px;
		padding-bottom: 64px;
	}

	.soc-hero__gorsel img {
		height: 300px;
	}

	.soc-ic-hero__gorsel {
		height: 260px;
	}

	.soc-statlar__ic {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
	}

	.soc-izgara--4,
	.soc-izgara--3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.soc-iletisim-kutu,
	.soc-il-govde {
		grid-template-columns: 1fr;
	}

	.soc-harita {
		min-height: 340px;
	}

	.soc-il-kartlar__izgara {
		grid-template-columns: 1fr;
	}

	.soc-bolum {
		padding-block: 64px;
	}

	.soc-bolum--sik {
		padding-block: 56px;
	}

	.soc-cta {
		padding: 40px 32px;
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 700px) {
	:root {
		--soc-yatay: 18px;
	}

	.soc-izgara--4,
	.soc-izgara--3,
	.soc-izgara--2,
	.soc-ozellikler,
	.soc-form__satir,
	.soc-kutu-izgara {
		grid-template-columns: 1fr;
	}

	.soc-izgara {
		margin-top: 28px;
	}

	.soc-hero__pul {
		position: static;
		margin-top: 14px;
		box-shadow: var(--soc-golge-md);
	}

	.soc-hero__gorsel img {
		height: 240px;
	}

	.soc-acil {
		font-size: 12.5px;
		padding: 8px 14px;
		line-height: 1.5;
	}

	.soc-footer__ust {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-top: 48px;
	}

	.soc-footer__ust > div:last-child {
		grid-column: auto;
	}

	.soc-footer__telif {
		flex-direction: column;
		gap: 8px;
	}

	.soc-footer--sade .soc-footer__satir {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.soc-iletisim-kutu__sol,
	.soc-form-kutu {
		padding: 32px 24px;
	}

	.soc-il-hero__ic {
		padding-bottom: 100px;
	}

	.soc-fab {
		right: 16px;
		bottom: 16px;
	}

	.soc-fab a {
		width: 52px;
		height: 52px;
	}

	.soc-bolgeler__basi {
		flex-direction: column;
		align-items: flex-start;
	}

	.soc-cta__btnler {
		width: 100%;
	}

	.soc-cta__btnler .soc-btn {
		flex: 1;
	}

	.soc-sss__btn {
		font-size: 15px;
		padding: 16px 18px;
	}

	.soc-sss__cevap {
		padding: 0 18px 18px;
	}
}

/* --------------------------------------------------------------------------
   27. Hareket azaltma & yazdırma
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

@media print {
	.soc-header,
	.soc-fab,
	.soc-acil,
	.soc-harita,
	.soc-harita-kutu,
	.soc-cta {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	.soc-hero,
	.soc-ic-hero {
		background: #fff !important;
		color: #000 !important;
	}
}

/* --------------------------------------------------------------------------
   Blog / rehber düzeni
   -------------------------------------------------------------------------- */
.soc-yazi__ust {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 22px 0 0;
}

.soc-cip {
	display: inline-block;
	background: var(--soc-amber-zemin);
	color: var(--soc-amber-koyu);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: var(--soc-r-tam);
}

.soc-cip:hover {
	background: var(--soc-amber-200);
	color: var(--soc-lacivert-900);
}

.soc-cip--sade {
	background: transparent;
	color: var(--soc-amber-koyu);
	padding: 0;
	font-size: 12px;
}

.soc-yazi__meta {
	font-size: 13px;
	font-weight: 600;
	/* --soc-mut-2 (#8a93a8) 13px'te 3:1 altında kalıyor; AA için --soc-mut. */
	color: var(--soc-mut);
}

.soc-yazi__h1 {
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.2;
	color: var(--soc-lacivert-700);
	margin: 18px 0 16px;
}

.soc-yazi__ozet {
	font-size: 18px;
	line-height: 1.7;
	color: var(--soc-mut);
	margin: 0 0 28px;
}

.soc-yazi__kapak {
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
	border-radius: var(--soc-r-xl);
	box-shadow: var(--soc-golge-md);
}

/* Yazı içi çağrı bandı */
.soc-yazi__cta {
	background: var(--soc-grad-kutu);
	border-radius: var(--soc-r-xl);
	padding: 30px 32px;
	margin-top: 36px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.soc-yazi__cta strong {
	display: block;
	font-family: var(--soc-font-baslik);
	font-size: 21px;
	font-weight: 800;
	color: #fff;
}

.soc-yazi__cta span {
	display: block;
	font-size: 15px;
	color: var(--soc-ust-2);
	margin-top: 6px;
}

/* Kenar çubuğu listeleri (içindekiler, ilgili hizmetler) */
.soc-icindekiler {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: 14.5px;
	font-weight: 600;
	counter-reset: soc-bolum;
}

.soc-icindekiler li {
	margin: 0;
}

.soc-icindekiler a {
	color: var(--soc-mut);
}

.soc-icindekiler a:hover {
	color: var(--soc-lacivert-700);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* WhatsApp yeşili buton — kenar çubuğu ve yazı içi kullanımlar için */
.soc-btn--wa {
	background: var(--soc-yesil);
	color: #fff;
}

.soc-btn--wa:hover {
	background: var(--soc-wa);
	color: #fff;
}

/* Blog kartlarındaki üst satır */
.soc-kart__ust {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

/* NOT: Başlık çapaları için ayrıca scroll-margin-top VERİLMEZ.
 * html üzerindeki scroll-padding-top (120px) tüm fragment hedefleri için
 * zaten uygulanıyor; ikisi birlikte kullanılınca ofsetler toplanır ve
 * hedef başlık ekranın 220px altına kayar. */

/* --------------------------------------------------------------------------
   Görselli kart (öne çıkan görsel atanmış hizmet/bölge kartları)
   -------------------------------------------------------------------------- */
.soc-kart--gorselli {
	/* Görsel kenardan kenara oturur; dolgu gövdeye taşınır. */
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.soc-kart__gorsel {
	width: 100%;
	height: 185px;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.soc-kart--gorselli .soc-kart__govde {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* NOT: Görselsiz kartta .soc-kart__govde için ayrı kural GEREKMEZ.
 * Blok bir div, .soc-kart'ın kendi dolgusu içinde akışı değiştirmez;
 * display:contents ise erişilebilirlik ağacından öğe düşürme riski taşır. */

@media (max-width: 700px) {
	.soc-kart__gorsel {
		height: 165px;
	}
}

/* --------------------------------------------------------------------------
   Fotoğraflı iç sayfa hero'su (bölge sayfaları)
   -------------------------------------------------------------------------- */
.soc-ic-hero--gorselli {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.soc-ic-hero__fon {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

/* Metnin okunabilirliği fotoğrafa bırakılmaz: lacivert gradyan örtü,
 * kaynak tasarımdaki oranlarla (solda koyu, sağda şeffaflaşan). */
.soc-ic-hero--gorselli::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(
		100deg,
		rgba(11, 22, 56, 0.95) 0%,
		rgba(11, 22, 56, 0.78) 50%,
		rgba(11, 22, 56, 0.42) 100%
	);
}

@media (max-width: 900px) {
	/* Dar ekranda metin fotoğrafın üstüne tek sütun düştüğü için örtü koyulaşır. */
	.soc-ic-hero--gorselli::before {
		background: linear-gradient(
			160deg,
			rgba(11, 22, 56, 0.94) 0%,
			rgba(11, 22, 56, 0.88) 100%
		);
	}
}
