/*
 * Gizem Ünal teması — ana stiller (mobile-first).
 *
 * Kırılımlar: 40rem (640px) · 48rem (768px) · 64rem (1024px, masaüstü menü) · 75rem (1200px)
 * Kontrast notları CLAUDE.md içinde.
 */

/* ---------- Fontlar (self-host, latin + latin-ext) ---------- */

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Merriweather";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/merriweather-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Merriweather";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/merriweather-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Merriweather";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/merriweather-latin-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Merriweather";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/merriweather-latin-ext-400-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Merriweather";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/merriweather-latin-700-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Merriweather";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/merriweather-latin-ext-700-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Token'lar: Sunset Horizon (açık tema) ---------- */

:root {
	--background: #fffbf8;
	--foreground: #3d3637;
	--card: #ffffff;
	--card-foreground: #3d3637;
	--primary: #ff8163;
	--primary-foreground: #3d3637; /* Spec: #fff — beyaz bu zeminde 2.45:1, koyu metin 4.81:1. */
	--secondary: #ffedea;
	--secondary-foreground: #b45340;
	--muted: #fff2ee;
	--muted-foreground: #6e6864; /* Spec: #76706c — --muted üzerinde 4.46:1, bu ton 5.01:1. */
	--accent: #fdb57e;
	--accent-foreground: #3d3637;
	--border: #ffe0d6;
	--input: #ffe0d6;
	--ring: #ff8163;
	--chart-3: #ffcba9;
	--chart-4: #ffad8f;
	--chart-5: #cf6b58;
	--radius: 0.625rem;
	--font-sans: "Montserrat", ui-sans-serif, system-ui, sans-serif;
	--font-serif: "Merriweather", Georgia, serif;
	--shadow: 0 6px 12px -3px hsl(0 0% 0% / 0.09), 0 1px 2px -4px hsl(0 0% 0% / 0.09);
	--shadow-lg: 0 18px 40px -12px hsl(10 30% 25% / 0.18), 0 2px 6px -2px hsl(0 0% 0% / 0.06);

	/* Projeye özgü */
	--link: #a84c39;          /* Küçük metin/link: beyaz 5.59, şeftali 4.94, muted 5.11 */
	--focus: #a84c39;
	--primary-hover: #ff9273; /* Koyu metinle 5.40:1 */
	--footer-bg: #3d3637;
	--footer-fg: #f1e9e5;
	--footer-muted: #c9bdb8;
	--footer-accent: #fdb57e;
	--cta-bg: #b45340;         /* CTA bandı zemini (= --secondary-foreground); beyaz metin 5.12:1 */
	--success: #18794e;       /* Beyaz zeminde 5.36:1 */
	--wa: #25d366;            /* WhatsApp marka yeşili (istek üzerine); beyaz ikon dekoratif, etiket aria-label'da. */
	--icon-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z'/%3E%3C/svg%3E");

	--radius-md: 0.875rem;
	--radius-lg: 1.25rem;
	--radius-xl: 1.75rem;
	--radius-pill: 999px;

	--gutter: clamp(1rem, 4vw, 2rem);
	--container: 75rem;
	--header-h: 4.5rem;
	--section-y: clamp(3.5rem, 8vw, 6.5rem);
	--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/*
 * Koyu tema token'ları. data-theme, <head>'deki satır içi betikle CSS'ten önce yazılır
 * (kayıtlı tercih → prefers-color-scheme). JS yoksa site açık temada kalır.
 * Spec'ten ölçülmüş sapmalar (koyu zeminler: --background #2c2025, --card #3a2f36, --secondary #453940):
 *   --primary-foreground  spec #ffffff → #2c2025  (beyaz/#ff8163 2.45:1 FAIL; koyu 6.40:1)
 *   --link (yeni)         #ffa48c                 (zemin 8.16, kart 6.67, secondary 5.72)
 *   --cta-bg (yeni)       #8f4535                 (beyaz metin 6.84:1; spec'teki #f1e9e5 zemin beyaz metni taşımaz)
 */
:root {
	color-scheme: light;
}

[data-theme="dark"] {
	color-scheme: dark;
	--background: #2c2025;
	--foreground: #f1e9e5;
	--card: #3a2f36;
	--card-foreground: #f1e9e5;
	--primary: #ff8163;
	--primary-foreground: #2c2025; /* Spec: #fff — 2.45:1 FAIL. */
	--secondary: #453940;
	--secondary-foreground: #f1e9e5;
	--muted: #3a2f36;
	--muted-foreground: #d6c7bf;
	--accent: #fdb57e;
	--accent-foreground: #2c2025;
	--border: #453940;
	--input: #453940;
	--ring: #ff8163;
	--chart-3: #6b4a50;
	--chart-4: #8a5a52;
	--chart-5: #cf6b58;       /* Dekoratif çerçeve; zeminde 4.40:1 */
	--shadow: 0 6px 12px -3px hsl(0 0% 0% / 0.35), 0 1px 2px -4px hsl(0 0% 0% / 0.3);
	--shadow-lg: 0 18px 40px -12px hsl(0 0% 0% / 0.6), 0 2px 6px -2px hsl(0 0% 0% / 0.3);

	--link: #ffa48c;
	--focus: #fdb57e;
	--primary-hover: #ff9273; /* Koyu metinle 7.17:1 */
	--footer-bg: #1f1619;     /* Sayfadan koyu; metin 14.77, soluk metin 9.65 */
	--footer-fg: #f1e9e5;
	--footer-muted: #c9bdb8;
	--footer-accent: #fdb57e;
	--success: #7ad9a0;
	--cta-bg: #8f4535;
}

/* ---------- Temel ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--header-h) + 1rem);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	background: var(--background);
	color: var(--foreground);
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

@media (min-width: 48rem) {
	body {
		font-size: 1.0625rem;
	}
}

html:has(> body.nav-open),
body.nav-open {
	overflow: hidden;
}

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

img {
	height: auto;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 0.5em;
	font-family: var(--font-serif);
	font-weight: 700;
	line-height: 1.25;
	color: var(--foreground);
	text-wrap: balance;
}

h1 {
	font-size: clamp(2rem, 1.45rem + 2.4vw, 3.25rem);
}

h2 {
	font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.375rem);
}

h3 {
	font-size: 1.25rem;
}

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

a {
	color: var(--link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection {
	background: var(--chart-3);
	color: var(--foreground);
}

.icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
}

.container {
	width: 100%;
	max-width: calc(var(--container) + var(--gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.container--read {
	max-width: calc(46rem + var(--gutter) * 2);
}

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

.skip-link {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100;
	padding: 0.75rem 1.25rem;
	border-radius: var(--radius);
	background: var(--foreground);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transform: translateY(-200%);
}

.skip-link:focus {
	transform: none;
}

.site-main:focus {
	outline: none;
}

/* ---------- Butonlar ---------- */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.875rem;
	padding: 0.7rem 1.5rem;
	border: 1.5px solid transparent;
	border-radius: var(--radius-pill);
	font: 600 0.9375rem/1.2 var(--font-sans);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
}

.btn:hover {
	text-decoration: none;
}

.btn:active {
	transform: translateY(1px);
}

.btn .icon {
	width: 1.15rem;
	height: 1.15rem;
}

.btn--primary {
	background: var(--primary);
	color: var(--primary-foreground);
	box-shadow: 0 6px 16px -8px hsl(12 100% 55% / 0.6);
}

.btn--primary:hover {
	background: var(--primary-hover);
	color: var(--primary-foreground);
	box-shadow: 0 10px 22px -10px hsl(12 100% 55% / 0.7);
}

.btn--outline {
	background: transparent;
	border-color: var(--chart-5);
	color: var(--foreground);
}

.btn--outline:hover {
	background: var(--secondary);
	border-color: var(--secondary-foreground);
	color: var(--foreground);
}

.btn--light {
	background: #fff;
	color: var(--foreground);
}

.btn--light:hover {
	background: var(--secondary);
	color: var(--foreground);
}

.btn--ghost-light {
	border-color: rgb(255 255 255 / 0.75);
	color: #fff;
}

.btn--ghost-light:hover {
	background: rgb(255 255 255 / 0.12);
	border-color: #fff;
	color: #fff;
}

.btn--block {
	width: 100%;
}

/* ---------- Header ---------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--background);
	border-bottom: 1px solid transparent;
	transition: box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}

.admin-bar .site-header {
	top: 46px;
}

@media (min-width: 783px) {
	.admin-bar .site-header {
		top: 32px;
	}
}

.site-header.is-scrolled {
	border-bottom-color: var(--border);
	box-shadow: var(--shadow);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: var(--header-h);
}

.brand {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--foreground);
	text-decoration: none;
}

.brand__title {
	font-family: var(--font-serif);
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.1875rem);
	font-weight: 700;
	line-height: 1.2;
}

.custom-logo-link {
	display: inline-flex;
}

.custom-logo {
	width: auto;
	height: 3.25rem;
}

.custom-logo--light { display: none; }
[data-theme="dark"] .custom-logo--dark { display: none; }
[data-theme="dark"] .custom-logo--light { display: block; }

@media (min-width: 64rem) {
	:root { --header-h: 5.5rem; }
	.custom-logo { height: 4rem; }
}

.services-menu__head { display: flex; align-items: center; }
.services-menu__head .services-menu__link { flex: 1; }
.services-menu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--foreground);
	cursor: pointer;
}
.services-menu__toggle .icon { width: 1.15rem; height: 1.15rem; transition: transform .2s var(--ease); }
.services-menu__toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
.services-menu__submenu { margin: 0; padding: .4rem; list-style: none; }
.services-menu__submenu[hidden] { display: none; }
.services-menu__submenu .services-menu__all { margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--border); }

/* Hamburger */

.nav-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--card);
	color: var(--foreground);
	font: 600 0.875rem/1 var(--font-sans);
	cursor: pointer;
}

.nav-toggle .icon {
	width: 1.25rem;
	height: 1.25rem;
}

.nav-toggle__close,
.nav-toggle[aria-expanded="true"] .nav-toggle__open {
	display: none;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__close {
	display: block;
}

.no-js .nav-toggle {
	display: none;
}

/* Mobil menü paneli */

.site-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__list a {
	display: flex;
	align-items: center;
	min-height: 3rem;
	color: var(--foreground);
	font-weight: 500;
	text-decoration: none;
}

.site-nav__list .current-menu-item > a,
.site-nav__list a[aria-current="page"] {
	color: var(--link);
	font-weight: 700;
}

.no-js .site-header__inner {
	flex-wrap: wrap;
}

.no-js .site-nav {
	width: 100%;
	padding-bottom: 1rem;
}

.no-js .site-nav__list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.25rem;
}

.no-js .site-nav__cta {
	margin-top: 0.5rem;
}

@media (max-width: 63.999rem) {
	.js .site-nav {
		position: fixed;
		inset: var(--header-h) 0 0;
		z-index: 39;
		display: flex;
		flex-direction: column;
		padding: 0.5rem var(--gutter) calc(1.5rem + env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--background);
		border-top: 1px solid var(--border);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-0.5rem);
		transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0s linear 0.2s;
	}

	.admin-bar.js .site-nav {
		top: calc(var(--header-h) + 46px);
	}

	.js .site-nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0s;
	}

	.js .site-nav__list a {
		min-height: 3.5rem;
		font-family: var(--font-serif);
		font-size: 1.25rem;
		font-weight: 400;
		border-bottom: 1px solid var(--border);
	}
	.js .services-menu__head > a { border-bottom: 1px solid var(--border); }
	.js .services-menu__toggle { min-width: 3.5rem; min-height: 3.5rem; border-bottom: 1px solid var(--border); }
	.js .services-menu__submenu { padding: .25rem 0 .75rem 1rem; background: var(--secondary); border-radius: 0 0 var(--radius) var(--radius); }
	.js .services-menu__submenu a { min-height: 2.75rem; border: 0; font-family: var(--font-sans); font-size: 1rem; }

	.js .site-nav__list .current-menu-item > a,
	.js .site-nav__list a[aria-current="page"] {
		font-weight: 700;
	}

	.site-nav__cta {
		margin-top: auto;
		padding-top: 2rem;
	}

	.site-nav__button {
		width: 100%;
		min-height: 3.25rem;
		font-size: 1rem;
	}
}

/* Masaüstü menü */

@media (min-width: 64rem) {
	.nav-toggle {
		display: none;
	}

	.site-nav,
	.no-js .site-nav {
		display: flex;
		align-items: center;
		gap: 2rem;
		width: auto;
		padding: 0;
	}

	.site-nav__list,
	.no-js .site-nav__list {
		display: flex;
		gap: 0.25rem;
	}

	.site-nav__list a {
		position: relative;
		justify-content: center;
		min-width: 2.75rem;
		min-height: 2.75rem;
		padding: 0 0.75rem;
		font-size: 0.9375rem;
		border-radius: var(--radius-pill);
		transition: color 0.2s var(--ease), background-color 0.2s var(--ease);
	}

	.site-nav__list a:hover {
		background: var(--secondary);
		color: var(--foreground);
	}

	.site-nav__list .current-menu-item > a,
	.site-nav__list a[aria-current="page"] {
		background: var(--secondary);
		color: var(--link);
		font-weight: 700;
	}

	.site-nav__cta,
	.no-js .site-nav__cta {
		margin: 0;
	}
	.menu-item--services { position: relative; }
	.services-menu__head .services-menu__link { padding-right: .15rem; }
	.services-menu__toggle { margin-left: -.35rem; border-radius: var(--radius-pill); }
	.services-menu__toggle:hover { background: var(--secondary); }
	.services-menu__submenu {
		position: absolute;
		top: calc(100% + .45rem);
		left: 0;
		z-index: 50;
		width: max-content;
		min-width: 15rem;
		padding: .55rem;
		border: 1px solid var(--border);
		border-radius: var(--radius);
		background: var(--card);
		box-shadow: var(--shadow);
	}
	.services-menu__submenu a { justify-content: flex-start; min-height: 2.75rem; padding-inline: 1rem; }
	.services-menu__submenu a:hover { box-shadow: inset .2rem 0 var(--primary); }
}

.breadcrumb { padding-top: 1rem; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; color: var(--muted-foreground); font-size: .875rem; }
.breadcrumb li { display: flex; gap: .35rem; }
.breadcrumb a { color: var(--link); }

/* Tema düğmesi: masaüstünde "Randevu Al"ın solunda yuvarlak ikon, mobil menüde anahtarlı satır. */

.theme-toggle {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--card);
	color: var(--foreground);
	font: 500 1rem/1.2 var(--font-sans);
	cursor: pointer;
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.theme-toggle:hover {
	border-color: var(--chart-5);
	background: var(--secondary);
}

.theme-toggle .icon {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
}

.theme-toggle__sun,
.theme-toggle[aria-pressed="true"] .theme-toggle__moon {
	display: none;
}

.theme-toggle[aria-pressed="true"] .theme-toggle__sun {
	display: block;
}

.theme-toggle__switch {
	position: relative;
	flex: none;
	width: 2.75rem;
	height: 1.5rem;
	margin-left: auto;
	border: 1.5px solid var(--muted-foreground);
	border-radius: var(--radius-pill);
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.theme-toggle__switch::after {
	content: "";
	position: absolute;
	top: 0.1875rem;
	left: 0.1875rem;
	width: 0.875rem;
	height: 0.875rem;
	border-radius: 50%;
	background: var(--muted-foreground);
	transition: transform 0.2s var(--ease);
}

.theme-toggle[aria-pressed="true"] .theme-toggle__switch {
	border-color: var(--primary);
	background: var(--primary);
}

.theme-toggle[aria-pressed="true"] .theme-toggle__switch::after {
	background: var(--primary-foreground);
	transform: translateX(1.25rem);
}

.no-js .theme-toggle {
	display: none;
}

@media (max-width: 63.999rem) {
	.js .site-nav__cta {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
	}

	.theme-toggle {
		justify-content: flex-start;
		width: 100%;
		min-height: 3.25rem;
		padding: 0 1.25rem;
	}
}

@media (min-width: 64rem) {
	.site-nav__cta {
		display: flex;
		align-items: center;
		gap: 0.625rem;
	}

	.theme-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.theme-toggle__switch {
		display: none;
	}
}

/* 1024–1199px: 6 menü öğesi + tema düğmesi + buton tek satıra sığsın. */
@media (min-width: 64rem) {
	.brand__title,
	.site-nav__list a,
	.site-nav__button {
		white-space: nowrap;
	}
}

@media (min-width: 64rem) and (max-width: 74.999rem) {
	.site-nav,
	.no-js .site-nav {
		gap: 1rem;
	}

	.site-nav__list,
	.no-js .site-nav__list {
		gap: 0;
	}

	.site-nav__list a {
		padding: 0 0.5rem;
	}

	.site-nav__button {
		padding-inline: 1.125rem;
	}
}

/* ---------- Bölümler ---------- */

.section {
	padding-block: var(--section-y);
}

.section--peach {
	background: var(--secondary);
}

.section--muted {
	background: var(--muted);
}

.section-head {
	max-width: 42rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.section-head__label {
	display: inline-block;
	margin: 0 0 1rem;
	padding: 0.3rem 0.95rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--card);
	color: var(--link);
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.01em;
}

.section-head__title {
	margin-bottom: 0.4em;
}

.section-head__text {
	margin: 0 auto;
	max-width: 36rem;
	color: var(--muted-foreground);
}

.section-head__prose {
	max-width: 42rem;
	margin: -1rem auto 2.5rem;
	text-align: center;
	color: var(--muted-foreground);
}

.section__more {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	text-align: center;
}

.grid {
	display: grid;
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 48rem) {
	.grid--services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grid--posts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) {
	.grid--services {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.empty {
	padding: 2rem;
	text-align: center;
	color: var(--muted-foreground);
}

/* ---------- Hero ---------- */

.hero {
	padding-block: clamp(2rem, 6vw, 5.5rem) clamp(3rem, 7vw, 6rem);
	overflow: hidden;
}

.hero__inner {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: center;
}

.hero__media,
.about__media {
	position: relative;
	isolation: isolate;
	width: min(100%, 17rem);
	margin-inline: auto;
}

.hero__shape {
	position: absolute;
	inset: 9% -11% -7% 12%;
	z-index: -1;
	background: var(--accent);
	opacity: 0.55;
	border-radius: 62% 38% 55% 45% / 48% 58% 42% 52%;
}

.hero__img,
.about__img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
}

/* Ana sayfa fotoğrafı 3:4, kutu 4:5: yüz üst üçte birde kalsın. */
.hero__img {
	object-position: 50% 30%;
}

.is-placeholder {
	background: var(--muted);
}

.hero__title {
	margin-bottom: 0.35em;
	font-size: clamp(2.75rem, 1.9rem + 4vw, 4.75rem);
	line-height: 1.05;
	letter-spacing: -0.01em;
}

.hero__lead {
	max-width: 34ch;
	font-size: clamp(1.125rem, 1rem + 0.6vw, 1.4375rem);
	font-weight: 500;
	line-height: 1.5;
}

.hero__text {
	max-width: 52ch;
	color: var(--muted-foreground);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

@media (min-width: 48rem) {
	.hero__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	}

	.hero__media {
		width: 100%;
		max-width: 26rem;
		margin-inline: 0;
	}
}

@media (max-width: 23rem) {
	.hero__actions .btn {
		flex: 1 1 100%;
	}
}

/* ---------- Hizmet kartı ---------- */

.service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0.625rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--muted);
}

.service-card__media {
	overflow: hidden;
	border-radius: var(--radius-md);
	background: var(--secondary);
}

.service-card__img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 0.5s var(--ease);
}

.service-card:hover .service-card__img {
	transform: scale(1.03);
}

.service-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	padding: 1.25rem 0.75rem 0.875rem;
	text-align: center;
}

.service-card__title {
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
}

.service-card__text {
	margin-bottom: 1.25rem;
	color: var(--muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.service-card__link {
	margin-top: auto;
	min-height: 2.75rem;
	padding-inline: 1.375rem;
	font-size: 0.875rem;
}

/* ---------- Blog kartı ---------- */

.post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.375rem 1.375rem 0.625rem;
	border-radius: var(--radius-lg);
	background: var(--card);
	box-shadow: 0 1px 2px hsl(10 30% 30% / 0.04);
	transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}

.post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.post-card:focus-within {
	outline: 3px solid var(--focus);
	outline-offset: 3px;
}

.post-card__date {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--muted-foreground);
	font-size: 0.8125rem;
	font-weight: 500;
}

.post-card__title {
	display: -webkit-box;
	margin: 0 0 1.25rem;
	overflow: hidden;
	font-family: var(--font-sans);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.post-card__link {
	color: var(--foreground);
	text-decoration: none;
}

.post-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.post-card__link:focus-visible {
	outline: none;
}

.post-card__media {
	margin: auto -0.75rem 0;
	overflow: hidden;
	border-radius: var(--radius-md);
	background: var(--muted);
}

.post-card__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-position: center top;
	object-fit: cover;
}

/* Görselsiz kart: gün batımı geçişi + kategori adı (koyu metin; geçişin en koyu tonu #ff9273'te 5.4:1). */
.post-card__cover {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 16 / 9;
	padding: 1.125rem 1.25rem;
	isolation: isolate;
	background: linear-gradient(135deg, var(--secondary) 0%, var(--chart-3) 55%, var(--primary-hover) 100%);
}

@media (min-width: 40rem) {
	.post-card__cover {
		aspect-ratio: 4 / 3;
	}
}

.post-card__cover--2 {
	background: linear-gradient(160deg, var(--muted) 0%, var(--accent) 60%, var(--chart-4) 100%);
}

.post-card__cover--3 {
	background: linear-gradient(200deg, var(--chart-3) 0%, var(--border) 55%, var(--secondary) 100%);
}

.post-card__cover-shape {
	position: absolute;
	top: -18%;
	right: -12%;
	z-index: -1;
	width: 62%;
	aspect-ratio: 1;
	border-radius: 62% 38% 55% 45% / 48% 58% 42% 52%;
	background: var(--card);
	opacity: 0.35;
}

.post-card__cover-cat {
	color: var(--foreground);
	font: 700 1.25rem/1.3 var(--font-serif);
}

/* ---------- Kategori filtresi ve sayfalama ---------- */

.filter {
	margin: -0.5rem 0 clamp(2rem, 4vw, 2.75rem);
}

.filter__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.filter__item {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 1.125rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--card);
	color: var(--foreground);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
}

.filter__item:hover {
	border-color: var(--chart-5);
}

.filter__item[aria-current="page"] {
	border-color: var(--foreground);
	background: var(--foreground);
	color: #fff;
	font-weight: 600;
}

.pagination {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	background: var(--card);
	color: var(--foreground);
	font-weight: 600;
	font-size: 0.9375rem;
	text-decoration: none;
}

.pagination .page-numbers.current {
	border-color: var(--primary);
	background: var(--primary);
	color: var(--primary-foreground);
}

.pagination .page-numbers.dots {
	border: 0;
	background: none;
}

.pagination a.page-numbers:hover {
	border-color: var(--chart-5);
}

/* ---------- Randevu çağrısı bandı ---------- */

.cta-band {
	padding-block: var(--section-y);
}

.section--peach + .cta-band {
	padding-top: var(--section-y);
}

.cta-band__inner {
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

.cta-band__inner > * {
	position: relative;
}

.cta-band__inner {
	position: relative;
	padding-block: clamp(2rem, 5vw, 3.5rem);
	isolation: isolate;
}

.cta-band__inner::before {
	content: "";
	position: absolute;
	inset: 0 var(--gutter);
	z-index: -1;
	border-radius: var(--radius-xl);
	background: var(--cta-bg);
}

.cta-band__copy {
	padding-inline: clamp(1.5rem, 5vw, 3.5rem);
	color: #fff;
}

.cta-band__title {
	margin-bottom: 0.4em;
	color: #fff;
	font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.125rem);
}

.cta-band__text {
	max-width: 46ch;
	margin: 0;
	color: #fff;
}

.cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding-inline: clamp(1.5rem, 5vw, 3.5rem);
}

.cta-band .btn--primary {
	background: #fff;
	color: var(--foreground);
	box-shadow: none;
}

.cta-band .btn--primary:hover {
	background: var(--secondary);
}

/* Buton beyaz kalır; yalnızca WhatsApp ikonu marka yeşili. */
.cta-band .icon--whatsapp {
	width: 1.375rem;
	height: 1.375rem;
	color: var(--wa);
}

.cta-band .btn--outline {
	border-color: rgb(255 255 255 / 0.8);
	color: #fff;
}

.cta-band .btn--outline:hover {
	background: rgb(255 255 255 / 0.12);
	border-color: #fff;
}

.cta-band :focus-visible {
	outline-color: #fff;
}

@media (min-width: 48rem) {
	.cta-band__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.cta-band__actions {
		justify-content: flex-end;
	}
}

/* ---------- Sayfa başlığı, metin ---------- */

.page-header {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.page-header__back,
.article__back {
	margin-bottom: 1rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.page-header__title {
	margin-bottom: 0.4em;
}

.page-header__text {
	max-width: 52ch;
	color: var(--muted-foreground);
	font-size: 1.125rem;
}

.page-article {
	padding-bottom: var(--section-y);
}

.prose {
	max-width: 70ch;
}

.prose > :first-child {
	margin-top: 0;
}

.prose > :last-child {
	margin-bottom: 0;
}

.prose p,
.prose ul,
.prose ol {
	margin: 0 0 1.25em;
}

.prose h2 {
	margin-top: 2em;
	font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
}

.prose h3 {
	margin-top: 1.75em;
	font-family: var(--font-sans);
	font-size: 1.1875rem;
}

.prose ul,
.prose ol {
	padding-left: 1.25em;
}

.prose li {
	margin-bottom: 0.4em;
}

.prose li::marker {
	color: var(--secondary-foreground);
}

.prose blockquote {
	margin: 2em 0;
	padding: 1.5rem 1.75rem;
	border-radius: var(--radius-lg);
	background: var(--secondary);
	font-family: var(--font-serif);
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.7;
}

.prose blockquote p:last-child {
	margin: 0;
}

.prose img,
.prose figure img {
	border-radius: var(--radius-md);
}

.prose figure {
	margin: 2em 0;
}

.prose figcaption,
.wp-caption-text,
.gallery-caption {
	margin-top: 0.5rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	text-align: center;
}

.prose hr {
	margin: 2.5em 0;
	border: 0;
	border-top: 1px solid var(--border);
}

.prose a {
	font-weight: 500;
}

.prose h4 {
	margin-top: 1.5em;
	font-family: var(--font-sans);
	font-size: 1.0625rem;
}

.prose .is-indent-1 { margin-left: 1.5em; }
.prose .is-indent-2 { margin-left: 3em; }
.prose .is-indent-3 { margin-left: 4.5em; }
.prose .is-indent-4 { margin-left: 6em; }

/* Onay listesi (editördeki "Yapılacaklar listesi") */
.prose .is-style-checklist {
	padding-left: 0;
	list-style: none;
}

.prose .is-style-checklist li {
	position: relative;
	padding-left: 1.75em;
}

.prose .is-style-checklist .check-mark {
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1.05em;
	height: 1.05em;
	border: 2px solid var(--secondary-foreground);
	border-radius: 0.25em;
}

.prose .is-style-checklist .is-checked .check-mark {
	background: var(--secondary-foreground);
}

.prose .is-style-checklist .is-checked .check-mark::after {
	content: "";
	position: absolute;
	top: 0.05em;
	left: 0.28em;
	width: 0.3em;
	height: 0.55em;
	border: solid var(--background);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* YouTube: tıklanana kadar yalnızca yer tutucu (main.js iframe'i koyar) */
.video-embed__frame {
	position: relative;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 0.75rem;
	aspect-ratio: 16 / 9;
	padding: 1rem;
	overflow: hidden;
	border-radius: var(--radius-md);
	background: var(--foreground);
	color: var(--background);
	text-align: center;
}

.video-embed__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.prose .video-embed__play {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 2.75rem;
	padding: 0.625rem 1.25rem 0.625rem 0.875rem;
	border-radius: 999px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-weight: 600;
	text-decoration: none;
}

.prose .video-embed__play:hover,
.prose .video-embed__play:focus-visible {
	background: var(--background);
	color: var(--foreground);
}

.video-embed__icon {
	width: 0;
	height: 0;
	margin-left: 0.35rem;
	border-top: 0.45rem solid transparent;
	border-bottom: 0.45rem solid transparent;
	border-left: 0.75rem solid currentColor;
}

.prose .video-embed__note {
	margin: 0;
	font-size: 0.8125rem;
	opacity: 0.85;
}

.alignleft {
	float: left;
	margin: 0.25em 1.5em 1em 0;
}

.alignright {
	float: right;
	margin: 0.25em 0 1em 1.5em;
}

.aligncenter {
	display: block;
	margin-inline: auto;
}

.wp-caption {
	max-width: 100%;
}

.sticky,
.bypostauthor {
	position: relative;
}

/* ---------- Tekil yazı ---------- */

.article__header {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-bottom: 1.75rem;
}

.article__title {
	font-size: clamp(1.875rem, 1.4rem + 2.2vw, 3rem);
}

.article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.25rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	font-weight: 500;
}

.article__meta li {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.article__meta .icon {
	width: 1rem;
	height: 1rem;
}

.article__cat {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border-radius: var(--radius-pill);
	background: var(--secondary);
	font-weight: 600;
	text-decoration: none;
}

.article__media {
	margin: 0 auto;
	max-width: calc(70rem + var(--gutter) * 2);
}

/* Kapak kırpılmaz: oran (--ar) korunur, yükseklik ekranın %80'i / 46rem ile sınırlı, ortalı. */
.article__img {
	display: block;
	width: min(100%, calc(min(80svh, 46rem) * var(--ar, 2)));
	height: auto;
	margin-inline: auto;
	border-radius: var(--radius-xl);
}

.article__body {
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: var(--section-y);
}

.article__body .prose {
	font-size: 1.0625rem;
	line-height: 1.8;
}

.article__footer {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--border);
}

.article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
}

.article__tags a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	color: var(--foreground);
	font-size: 0.875rem;
	text-decoration: none;
}

.article__tags a::before {
	content: "#";
	color: var(--link);
}

.page-links {
	margin-top: 2rem;
	font-weight: 600;
}

.page-links a,
.page-links > span:not(:first-child) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	margin-left: 0.25rem;
}

.share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.share__label {
	margin: 0;
	font-weight: 600;
	font-size: 0.9375rem;
}

.share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 50%;
	background: var(--card);
	color: var(--foreground);
	cursor: pointer;
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.share__link:hover {
	border-color: var(--chart-5);
	background: var(--secondary);
}

.share__link.is-copied {
	border-color: var(--success);
	color: var(--success);
}

/* ---------- Hizmet detay ---------- */

.service__layout {
	display: grid;
	gap: 2.5rem;
	padding-bottom: var(--section-y);
}

.service__lead {
	max-width: 62ch;
	margin: 0;
	color: var(--foreground);
	font-size: clamp(1.125rem, 1.05rem + 0.45vw, 1.375rem);
	line-height: 1.6;
}

.service__hero {
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.service__img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center 30%;
	border-radius: var(--radius-xl);
}

.service__section > h2 {
	scroll-margin-top: calc(var(--header-h) + 1rem);
}

.service__section:first-child > h2 {
	margin-top: 0;
}

/* Numaralı adım kartları ("Süreç nasıl ilerler?"); numara CSS sayacından, metne girmez. */
.prose .service-steps {
	display: grid;
	gap: 0.875rem;
	margin: 1.5em 0 1.75em;
	padding: 0;
	list-style: none;
	counter-reset: adim;
}

.prose .service-step {
	position: relative;
	margin: 0;
	padding: 1.25rem 1.25rem 1.25rem 4.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--card);
	counter-increment: adim;
}

.prose .service-step::before {
	content: counter(adim);
	position: absolute;
	top: 1.15rem;
	left: 1.25rem;
	display: grid;
	place-items: center;
	width: 2.125rem;
	height: 2.125rem;
	border-radius: 50%;
	background: var(--secondary);
	color: var(--secondary-foreground);
	font: 700 1rem/1 var(--font-sans);
}

.prose .service-step__title {
	margin: 0.3rem 0 0.5rem;
	font-size: 1.0625rem;
	line-height: 1.4;
}

.prose .service-step p {
	margin: 0 0 0.75em;
	color: var(--muted-foreground);
}

.prose .service-step p:last-child {
	margin-bottom: 0;
}

/* Numaralı liste ("Seansa nasıl hazırlanılır?") */
.prose .service-ol {
	padding-left: 0;
	list-style: none;
	counter-reset: madde;
}

.prose .service-ol li {
	position: relative;
	margin-bottom: 0.6em;
	padding-left: 2.25rem;
	counter-increment: madde;
}

.prose .service-ol li::before {
	content: counter(madde);
	position: absolute;
	top: 0.15em;
	left: 0;
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--secondary);
	color: var(--secondary-foreground);
	font: 700 0.8125rem/1 var(--font-sans);
}

.prose .service-faq {
	margin: 1.25em 0 0;
}

.prose .service-faq .faq__answer p {
	margin: 0;
}

.prose .service__closing {
	margin-top: 2.5em;
	padding-top: 1.5rem;
	border-top: 1px solid var(--border);
}

/* "e-posta" tirede bölünmesin. */
.service__closing a {
	white-space: nowrap;
}

.service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

@media (min-width: 48rem) {
	.service__img {
		aspect-ratio: 2 / 1;
	}
}

.aside-box {
	padding: 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--muted);
}

.aside-box + .aside-box {
	margin-top: 1rem;
}

.aside-box--cta {
	background: var(--secondary);
}

.aside-box__title {
	font-size: 1.25rem;
}

.aside-box p {
	color: var(--muted-foreground);
	font-size: 1rem;
}

.aside-box__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aside-box__list a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	border-bottom: 1px solid var(--border);
	color: var(--foreground);
	font-weight: 500;
	text-decoration: none;
}

.aside-box__list li:last-child a {
	border-bottom: 0;
}

.aside-box__list a:hover {
	color: var(--link);
}

@media (min-width: 64rem) {
	.service__layout {
		grid-template-columns: minmax(0, 1fr) 20rem;
		gap: 3.5rem;
		align-items: start;
	}

	.service__aside {
		position: sticky;
		top: calc(var(--header-h) + 1.5rem);
	}
}

/* ---------- SSS ---------- */

.faq {
	display: grid;
	gap: 0.75rem;
}

.faq__item {
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--card);
	transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.faq__item[open] {
	border-color: var(--chart-3);
	box-shadow: var(--shadow);
}

.faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.5rem;
	padding: 1rem 1.25rem;
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
}

.faq__question::-webkit-details-marker {
	display: none;
}

.faq__question:focus-visible {
	outline-offset: -3px;
	border-radius: var(--radius-md);
}

.faq__icon {
	position: relative;
	flex: none;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--secondary);
}

.faq__icon::before,
.faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.75rem;
	height: 2px;
	margin: -1px 0 0 -0.375rem;
	border-radius: 2px;
	background: var(--secondary-foreground);
	transition: transform 0.25s var(--ease);
}

.faq__icon::after {
	transform: rotate(90deg);
}

.faq__item[open] .faq__icon::after {
	transform: rotate(0deg);
}

.faq__answer {
	padding: 0 1.25rem 1.25rem;
	color: var(--muted-foreground);
}

.faq-cta {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding: clamp(1.75rem, 4vw, 2.5rem);
	border-radius: var(--radius-lg);
	background: var(--secondary);
	text-align: center;
}

.faq-cta__title {
	font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
}

.faq-cta p {
	max-width: 40ch;
	margin-inline: auto;
	margin-bottom: 1.5rem;
	color: var(--muted-foreground);
}

/* ---------- Hakkında ---------- */

.about {
	overflow-x: clip; /* Dekoratif şekil taşmasın. */
}

.about__layout {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	padding-block: clamp(2.5rem, 6vw, 5rem) var(--section-y);
}

.about__media {
	width: min(100%, 20rem);
}

.about__title {
	font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
	line-height: 1.25;
	text-wrap: balance;
}

.about__intro {
	margin-top: 1.5rem;
	font-size: 1.125rem;
	line-height: 1.8;
}

@media (min-width: 48rem) {
	.about__layout {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		align-items: center;
	}

	.about__media {
		width: 100%;
		max-width: 28rem;
		margin: 0;
	}
}

.about-section {
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

.about-section--tint {
	background: var(--muted);
}

.about-section__layout {
	display: grid;
	gap: 1.5rem;
}

.about-section__title {
	margin: 0;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	line-height: 1.3;
	text-wrap: balance;
}

.about-section__body {
	font-size: 1.0625rem;
	line-height: 1.8;
}

@media (min-width: 64rem) {
	.about-section__layout {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		gap: clamp(2.5rem, 5vw, 5rem);
		align-items: start;
	}

	.about-section__title {
		position: sticky;
		top: calc(var(--header-h) + 2rem);
	}
}

/* ---------- İçerik blok stilleri (Hakkında + blog) ---------- */

/* Kartlar: "Destek verdiğim alanlar" */
.prose .is-style-cards {
	display: grid;
	gap: 0.875rem;
	padding: 0;
	list-style: none;
}

.prose .is-style-cards li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 4rem;
	margin: 0;
	padding: 1rem 1.25rem 1rem 3.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--card);
	color: var(--card-foreground);
	font-weight: 500;
	line-height: 1.5;
	box-shadow: 0 1px 2px hsl(10 30% 30% / 0.04);
}

.prose .is-style-cards li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.25rem;
	width: 0.875rem;
	height: 0.875rem;
	margin-top: -0.4375rem;
	border-radius: 50%;
	background: var(--primary);
	box-shadow: 0 0 0 0.3rem var(--secondary);
}

@media (min-width: 40rem) {
	.prose .is-style-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Zaman çizelgesi: yıl rozeti PHP'de (render_block) işaretlenir. */
.prose .is-style-timeline {
	position: relative;
	margin-bottom: 2em;
	padding: 0 0 0 1.75rem;
	list-style: none;
}

.prose .is-style-timeline::before {
	content: "";
	position: absolute;
	top: 0.5rem;
	bottom: 0.5rem;
	left: 0.4375rem;
	width: 2px;
	background: var(--border);
}

.prose .is-style-timeline li {
	position: relative;
	margin: 0;
	padding-bottom: 1.375rem;
}

.prose .is-style-timeline li:last-child {
	padding-bottom: 0;
}

.prose .is-style-timeline li::before {
	content: "";
	position: absolute;
	top: 0.45rem;
	left: -1.75rem;
	width: 0.875rem;
	height: 0.875rem;
	border: 3px solid var(--background);
	border-radius: 50%;
	background: var(--primary);
	box-shadow: 0 0 0 1px var(--chart-4);
}

.about-section--tint .is-style-timeline li::before {
	border-color: var(--muted);
}

.prose .is-style-timeline .tl-has-year::before {
	top: 0.3rem;
}

.tl-year {
	display: block;
	width: fit-content;
	margin-bottom: 0.25rem;
	padding: 0.125rem 0.625rem;
	border-radius: var(--radius-pill);
	background: var(--secondary);
	color: var(--link);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.6;
	font-variant-numeric: tabular-nums;
}

/* İletişim listesi */
.prose .is-style-contact {
	margin-bottom: 1.75em;
	padding: 0;
	list-style: none;
}

.prose .is-style-contact li {
	margin: 0;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--border);
	overflow-wrap: anywhere;
}

.prose .is-style-contact li:first-child {
	border-top: 1px solid var(--border);
}

/* Kaynakça ve atıflar */
.prose .is-style-references {
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.prose .is-style-references li {
	margin-bottom: 0.625em;
	scroll-margin-top: calc(var(--header-h) + 1.5rem);
}

.prose .is-style-references a {
	font-weight: 400;
}

.prose .is-style-references li:target {
	margin-inline: -0.5rem;
	padding: 0.25rem 0.5rem;
	border-radius: 0.375rem;
	background: var(--secondary);
	color: var(--foreground);
}

.prose .has-bracket-numbers {
	padding-left: 0;
	list-style: none;
}

sup.atif {
	font-size: 0.7em;
	line-height: 0;
	white-space: nowrap;
}

sup.atif a {
	font-weight: 600;
	text-decoration: none;
}

sup.atif a:hover {
	text-decoration: underline;
}

.prose .yazi-notu {
	padding: 1rem 1.25rem;
	border-radius: var(--radius-md);
	background: var(--muted);
	color: var(--muted-foreground);
	font-size: 0.9375rem;
}

/* Bilgi kutusu ve alıntı desenleri */
.prose .bilgi-kutusu {
	margin: 2em 0;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid var(--primary);
	border-radius: var(--radius-md);
	background: var(--muted);
}

/* Klasik temada grup bloğu içeriği __inner-container ile sarar; kenar boşlukları kutu dolgusuna eklenmesin. */
.prose .wp-block-group__inner-container > :first-child,
.prose .bilgi-kutusu > :first-child {
	margin-top: 0;
}

.prose .wp-block-group__inner-container > :last-child,
.prose .bilgi-kutusu > :last-child {
	margin-bottom: 0;
}

.prose blockquote cite {
	display: block;
	margin-top: 0.75rem;
	color: var(--muted-foreground);
	font: 500 0.875rem/1.5 var(--font-sans);
	font-style: normal;
}

/* Blok butonları: tema butonlarıyla aynı görünüm */
.prose .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.5em 0 0;
}

.prose .wp-block-button {
	margin: 0;
}

.prose .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.875rem;
	padding: 0.7rem 1.5rem;
	border: 1.5px solid transparent;
	border-radius: var(--radius-pill);
	background: var(--primary);
	color: var(--primary-foreground);
	font: 600 0.9375rem/1.2 var(--font-sans);
	text-decoration: none;
	box-shadow: 0 6px 16px -8px hsl(12 100% 55% / 0.6);
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.prose .wp-block-button__link:hover {
	background: var(--primary-hover);
	color: var(--primary-foreground);
	text-decoration: none;
}

.prose .is-style-outline .wp-block-button__link {
	border-color: var(--chart-5);
	background: var(--card);
	color: var(--foreground);
	box-shadow: none;
}

.prose .is-style-outline .wp-block-button__link:hover {
	border-color: var(--secondary-foreground);
	background: var(--secondary);
	color: var(--foreground);
}

.prose .wa-buton .wp-block-button__link::before {
	content: "";
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--wa);
	-webkit-mask: var(--icon-wa) center / contain no-repeat;
	mask: var(--icon-wa) center / contain no-repeat;
}

/* Yazı sonu randevu çağrısı */
.prose .randevu-cagrisi {
	margin-top: 3em;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border-radius: var(--radius-lg);
	background: var(--secondary);
}

.prose .randevu-cagrisi h2 {
	margin-top: 0;
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.625rem);
}

.prose .randevu-cagrisi p {
	margin-bottom: 0;
}

/*
 * ---------- Editör paleti ve yazı boyutları ----------
 * global-styles ön yüzde yüklenmediği için sınıflar burada; token'a bağlı oldukları için koyu temada da doğru renk.
 * Sözlük inc/admin.php (editor-color-palette, editor-font-sizes) ile aynı.
 */

.has-foreground-color {
	color: var(--foreground) !important;
}

.has-muted-foreground-color {
	color: var(--muted-foreground) !important;
}

.has-link-color {
	color: var(--link) !important;
}

.has-primary-color {
	color: var(--primary) !important;
}

.has-accent-color {
	color: var(--accent) !important;
}

.has-secondary-color {
	color: var(--secondary) !important;
}

.has-muted-color {
	color: var(--muted) !important;
}

.has-card-color {
	color: var(--card) !important;
}

.has-foreground-background-color {
	background-color: var(--foreground) !important;
}

.has-muted-foreground-background-color {
	background-color: var(--muted-foreground) !important;
}

.has-link-background-color {
	background-color: var(--link) !important;
}

.has-primary-background-color {
	background-color: var(--primary) !important;
}

.has-accent-background-color {
	background-color: var(--accent) !important;
}

.has-secondary-background-color {
	background-color: var(--secondary) !important;
}

.has-muted-background-color {
	background-color: var(--muted) !important;
}

.has-card-background-color {
	background-color: var(--card) !important;
}

p.has-background,
.wp-block-group.has-background {
	padding: 1.25rem 1.5rem;
	border-radius: var(--radius-md);
}

.has-small-font-size {
	font-size: 0.9375rem !important;
}

.has-normal-font-size {
	font-size: 1.0625rem !important;
}

.has-large-font-size {
	font-size: 1.25rem !important;
}

.has-x-large-font-size {
	font-size: 1.5rem !important;
}

/* ---------- İletişim ---------- */

.map {
	height: 20rem;
	background: var(--muted);
}

.map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

@media (min-width: 48rem) {
	.map {
		height: 30rem;
	}
}

.contact {
	position: relative;
	z-index: 1;
	padding-top: 1.5rem;
	padding-bottom: var(--section-y);
}

@media (min-width: 64rem) {
	.contact {
		margin-top: -7.5rem;
		padding-top: 0;
	}

	.contact--no-map {
		margin-top: 0;
		padding-top: 2.5rem;
	}
}

.contact__card {
	display: grid;
	gap: 0.5rem;
	padding: 0.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-xl);
	background: var(--card);
	box-shadow: var(--shadow-lg);
}

@media (min-width: 64rem) {
	.contact__card {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		gap: 0.75rem;
		padding: 0.75rem;
	}
}

.contact__info {
	padding: clamp(1.25rem, 4vw, 2.75rem);
}

.contact__label {
	font-family: var(--font-sans);
}

.contact__title {
	font-size: clamp(1.75rem, 1.35rem + 1.7vw, 2.5rem);
}

.contact__text {
	max-width: 44ch;
	color: var(--muted-foreground);
}

.contact__list {
	display: grid;
	gap: 1rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.contact__list li {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
}

.contact__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--secondary);
	color: var(--secondary-foreground);
}

.contact__key {
	display: block;
	color: var(--muted-foreground);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.5;
}

.contact__list a {
	color: var(--foreground);
	font-weight: 600;
	text-decoration: none;
	word-break: break-word;
}

.contact__list a:hover {
	color: var(--link);
	text-decoration: underline;
}

.contact__route {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	margin-top: 1.5rem;
	font-weight: 600;
}

/* Form kutusu (koyu) */

.contact__form {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: var(--radius-lg);
	background: var(--footer-bg);
	color: var(--footer-fg);
	scroll-margin-top: calc(var(--header-h) + 1rem);
}

.contact__form :focus-visible {
	outline-color: var(--footer-accent);
}

.form-title {
	margin-bottom: 1.25rem;
	color: #fff;
	font-size: 1.375rem;
}

.form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.form__grid {
	display: grid;
	gap: 1rem;
}

@media (min-width: 40rem) {
	.form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.field--full {
		grid-column: 1 / -1;
	}
}

.field__label {
	display: block;
	margin-bottom: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.field__optional {
	color: var(--footer-muted);
	font-weight: 400;
}

.field__input {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1.5px solid transparent;
	border-radius: var(--radius);
	background: var(--background);
	color: var(--foreground);
	font: 400 1rem/1.5 var(--font-sans);
	transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.field__input:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px var(--footer-accent);
}

.field__input[aria-invalid="true"] {
	border-color: #ffb9a3;
	box-shadow: 0 0 0 2px #ffb9a3;
}

.field__select {
	appearance: none;
	padding-right: 2.75rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%233d3637' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.875rem center;
	background-size: 1.25rem;
}

.field__textarea {
	min-height: 8rem;
	resize: vertical;
}

.field__hint {
	margin: 0.375rem 0 0;
	color: var(--footer-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.field__error {
	margin: 0.375rem 0 0;
	color: #ffb9a3;
	font-size: 0.875rem;
	font-weight: 600;
}

.field--check {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25rem 0.75rem;
	align-items: start;
	font-size: 0.875rem;
	line-height: 1.55;
}

.field--check .field__error {
	grid-column: 2;
}

.field__check {
	width: 1.375rem;
	height: 1.375rem;
	margin: 0.05rem 0 0;
	accent-color: var(--primary);
	cursor: pointer;
}

.field--check a {
	color: var(--footer-accent);
}

.form__submit {
	margin-top: 1.5rem;
	min-height: 3.25rem;
	font-size: 1rem;
}

.notice {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin-bottom: 1.25rem;
	padding: 0.875rem 1rem;
	border-radius: var(--radius);
	font-size: 0.9375rem;
	font-weight: 500;
}

.notice p {
	margin: 0;
}

.notice:focus {
	outline: 3px solid var(--footer-accent);
	outline-offset: 2px;
}

.notice--success {
	background: #eaf6ee;
	color: #1f5131;
}

.notice--error {
	background: #fff1ee;
	color: #8a2e1d;
}

/* ---------- Randevu penceresi ---------- */

.appt {
	width: min(25rem, calc(100vw - 2rem));
	max-height: calc(100dvh - 2rem);
	padding: 0;
	border: 0;
	border-radius: var(--radius-lg);
	background: var(--card);
	color: var(--foreground);
	box-shadow: var(--shadow-lg);
}

.appt[open] {
	animation: appt-in 0.22s var(--ease);
}

.appt::backdrop {
	background: hsl(355 6% 22% / 0.5);
}

@keyframes appt-in {
	from {
		opacity: 0;
		transform: translateY(0.75rem) scale(0.98);
	}
}

.appt__inner {
	position: relative;
	padding: 1.75rem 1.5rem 1.5rem;
}

.appt__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--foreground);
	cursor: pointer;
}

.appt__close:hover {
	background: var(--secondary);
}

.appt__title {
	margin: 0 2.5rem 0.375rem 0;
	font-size: 1.375rem;
}

.appt__desc {
	margin-bottom: 1.25rem;
	color: var(--muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.appt__options {
	display: grid;
	gap: 0.625rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.appt__option {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	color: var(--foreground);
	text-decoration: none;
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}

.appt__option:hover {
	border-color: var(--chart-4);
	background: var(--muted);
}

.appt__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--secondary);
	color: var(--secondary-foreground);
}

.appt__option--wa .appt__icon {
	background: var(--wa);
	color: #fff;
}

.appt__text {
	display: grid;
	min-width: 0;
}

.appt__text strong {
	font-weight: 600;
}

.appt__text small {
	overflow: hidden;
	color: var(--muted-foreground);
	font-size: 0.8125rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- Footer ---------- */

.site-footer {
	padding-top: clamp(3rem, 7vw, 5rem);
	background: var(--footer-bg);
	color: var(--footer-fg);
	font-size: 0.9375rem;
}

.site-footer a {
	color: var(--footer-fg);
	text-decoration: none;
}

.site-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.site-footer :focus-visible {
	outline-color: var(--footer-accent);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem 1.5rem;
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

/* Mobilde Sayfalar + Hizmetler yan yana; tanıtım ve iletişim tam genişlik. */
@media (max-width: 63.999rem) {
	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 39.999rem) {
	.site-footer__grid > :last-child {
		grid-column: 1 / -1;
	}
}

@media (min-width: 64rem) {
	.site-footer__grid {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.3fr);
		gap: 3rem;
	}
}

.site-footer__name {
	margin-bottom: 0.75rem;
	color: #fff;
	font-family: var(--font-serif);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.site-footer__text {
	max-width: 34ch;
	color: var(--footer-muted);
}
.site-footer__logo { display: inline-block; margin-bottom: 1rem; }
.site-footer__logo img { display: block; width: auto; height: 4.25rem; }
@media (min-width: 48rem) {
	.site-footer__logo img { height: 5rem; }
}

.site-footer__title {
	margin-bottom: 1rem;
	color: #fff;
	font-family: var(--font-sans);
	font-size: 0.9375rem;
	font-weight: 700;
}

.site-footer__list {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__list a {
	display: inline-flex;
	align-items: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
}

.site-footer__list .current-menu-item > a {
	color: var(--footer-accent);
}

.site-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	color: var(--footer-fg);
}

.site-footer__contact .icon {
	width: 1.125rem;
	height: 1.125rem;
	margin-top: 0.8125rem;
	color: var(--footer-accent);
}

.site-footer__contact li > span {
	padding-top: 0.5625rem;
}

.site-footer__contact a {
	word-break: break-word;
}

.social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

/* Yalnızca simge; görünür çerçeve yok, dokunma alanı ::before ile 44px. */
.social__link {
	position: relative;
	display: inline-flex;
	color: var(--footer-fg);
	transition: color 0.2s var(--ease);
}
.social__link::before {
	content: "";
	position: absolute;
	inset: -0.5625rem;
}
.social__link .icon { display: block; flex: none; width: 1.625rem; height: 1.625rem; }

.contact-social { display: grid; gap: .5rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.contact-social a { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.75rem; color: var(--link); font-weight: 600; text-decoration: none; }
.contact-social .icon { width: 1.25rem; height: 1.25rem; }
.contact-social .ext-icon { width: 1rem; height: 1rem; }

.cookie-banner {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 100;
	max-width: 42rem;
	margin-inline: auto;
	padding: 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--card);
	box-shadow: 0 1rem 3rem rgb(30 25 25 / .22);
}
.cookie-banner p { margin: 0 0 .75rem; }
.cookie-banner__actions { display: flex; justify-content: flex-end; gap: .65rem; }

.site-footer .social__link:hover,
.site-footer .social__link:focus-visible {
	color: var(--primary);
	text-decoration: none;
}

/* Dış bağlantı oku (iletişim sayfası). */
.contact-social a:hover,
.contact__route,
.contact__route:hover { text-decoration: none; }
.ext-icon {
	flex: none;
	width: 1rem;
	height: 1rem;
	transition: transform 0.2s var(--ease);
}
a:hover > .ext-icon,
a:focus-visible > .ext-icon { transform: translate(2px, -2px); }

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	padding-block: 1.5rem;
	border-top: 1px solid rgb(241 233 229 / 0.15);
	color: var(--footer-muted);
	font-size: 0.875rem;
}

.site-footer__bottom p {
	margin: 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__legal a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--footer-muted);
	text-decoration: underline;
}

/* ---------- Sabit WhatsApp butonu ----------
   .wa-dock main'in son çocuğu, yüksekliği 0 ve sticky: sayfa boyunca ekranın
   altına yapışır, main bitince orada kalır; böylece footer'ın üstüne binmez.
   z-index header'ın (40) ve açık menünün altında. */

.wa-dock {
	position: sticky;
	bottom: 0;
	z-index: 30;
	height: 0;
	pointer-events: none;
}

.wa-float {
	position: absolute;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--wa);
	color: #fff;
	box-shadow: 0 6px 16px -6px hsl(0 0% 0% / 0.3);
	pointer-events: auto;
	transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.wa-float .icon {
	width: 1.75rem;
	height: 1.75rem;
}

.wa-float:hover {
	color: #fff;
	box-shadow: 0 10px 22px -8px hsl(0 0% 0% / 0.35);
	transform: scale(1.08);
}

.wa-float:focus-visible {
	outline-color: var(--foreground);
}

.nav-open .wa-float {
	display: none;
}

/* Mobilde form alanı yazılırken (klavye açıkken) gönder butonunu kapatmasın. */
@media (max-width: 63.999rem) {
	body:has(.form :is(input, textarea, select):focus) .wa-float {
		visibility: hidden;
	}
}

@media (min-width: 48rem) {
	.wa-float {
		right: max(1.5rem, env(safe-area-inset-right));
		bottom: max(1.5rem, env(safe-area-inset-bottom));
		width: 3.5rem;
		height: 3.5rem;
	}

	.wa-float .icon {
		width: 1.875rem;
		height: 1.875rem;
	}
}

/* ---------- 404 ---------- */

.not-found {
	text-align: left;
}

.not-found__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

/* ---------- Koyu tema: sabit renkli bileşenler ---------- */

/* Tema değişirken renkler yumuşakça geçer (sınıfı JS ~0.4 sn ekler; hareket azaltmada yok). */
@media (prefers-reduced-motion: no-preference) {
	.theme-switching,
	.theme-switching *,
	.theme-switching *::before,
	.theme-switching *::after {
		transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease), color 0.3s var(--ease), filter 0.3s var(--ease) !important;
	}
}

[data-theme="dark"] img {
	filter: brightness(0.92);
}

[data-theme="dark"] .skip-link,
[data-theme="dark"] .filter__item[aria-current="page"] {
	color: var(--background);
}

[data-theme="dark"] .btn--light {
	background: var(--foreground);
	color: var(--background);
}

[data-theme="dark"] .cta-band .btn--primary {
	background: var(--foreground);
	color: var(--background);
}

[data-theme="dark"] .cta-band .btn--primary:hover {
	background: #fff;
	color: var(--background);
}

[data-theme="dark"] .hero__shape {
	opacity: 0.3;
}

[data-theme="dark"] .post-card__cover {
	background: linear-gradient(135deg, #453940 0%, #5c3d40 55%, #7a4034 100%);
}

[data-theme="dark"] .post-card__cover--2 {
	background: linear-gradient(160deg, #3a2f36 0%, #57423a 60%, #6e4a3a 100%);
}

[data-theme="dark"] .post-card__cover--3 {
	background: linear-gradient(200deg, #5c3d40 0%, #4a3a42 55%, #3a2f36 100%);
}

[data-theme="dark"] .post-card__cover-shape {
	background: var(--accent);
	opacity: 0.14;
}

/* Form kutusu koyu temada sayfadan da koyu; alan sınırları görünür kalsın (panelde 4.40:1). */
[data-theme="dark"] .field__input:not(:focus):not([aria-invalid="true"]) {
	border-color: #8c7a82;
}

[data-theme="dark"] .field__select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23f1e9e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
}

[data-theme="dark"] .notice--success {
	background: #1d3a2a;
	color: #c8f0d6;
}

[data-theme="dark"] .notice--error {
	background: #4a2620;
	color: #ffd6cc;
}

[data-theme="dark"] .appt::backdrop {
	background: hsl(0 0% 0% / 0.6);
}

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

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		/* Süreyi kısaltmak yetmez: varsayılan transition-property "all" olduğundan
		   kalıtılan visibility de geçişe girer ve açılan menüdeki linkler bir an
		   odaklanamaz. JS transitionend'e bağlı değil. */
		transition: none !important;
		scroll-behavior: auto !important;
	}

	.post-card:hover,
	.service-card:hover .service-card__img,
	.wa-float:hover,
	.btn:active {
		transform: none;
	}
}

/* ---------- Yazdırma ---------- */

@media print {
	.site-header,
	.site-footer,
	.wa-float,
	.cta-band,
	.share,
	.appt {
		display: none !important;
	}
}

/* ==========================================================================
   WordPress çekirdek blok stilleri (Next.js sürümü)
   WordPress bu kuralları satır içi basıyordu; içerik aynı sınıflarla üretildiği
   için görünümün birebir kalması adına yalnızca kullanılan kısım buraya alındı.
   ========================================================================== */

ol,
ul {
	box-sizing: border-box;
}

:where(figure) {
	margin: 0 0 1em;
}

.wp-block-group,
.wp-block-buttons {
	box-sizing: border-box;
}

.wp-element-button {
	cursor: pointer;
}

:where(.is-layout-flex) {
	gap: 0.5em;
}

body .is-layout-flex {
	display: flex;
}

.is-layout-flex {
	flex-wrap: wrap;
	align-items: center;
}

.is-layout-flex > :is(*, div) {
	margin: 0;
}

.wp-block-buttons > .wp-block-button {
	display: inline-block;
	margin: 0;
}

.wp-block-buttons .wp-block-button__link {
	width: 100%;
}

.wp-block-button__link {
	align-content: center;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	height: 100%;
	text-align: center;
	word-break: break-word;
}

:where(.wp-block-button__link) {
	border-radius: 9999px;
	box-shadow: none;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
	text-decoration: none;
}

:root :where(.wp-block-button.is-style-outline > .wp-block-button__link) {
	border: 2px solid;
	padding: 0.667em 1.333em;
}

:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)) {
	color: currentColor;
}

:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background)) {
	background-color: initial;
	background-image: none;
}

.has-text-align-center {
	text-align: center;
}
