/* =========================================================================
   Pati Kuaför — ana stil dosyası
   Sıra: 1) Tokenlar  2) Temel  3) Bileşenler  4) Bölümler  5) Responsive
   ========================================================================= */

/* -------------------------------------------------------------------------
   1) Tasarım tokenları (mockup'tan damlalıkla alındı)
   ---------------------------------------------------------------------- */
:root {
	/* Renkler */
	--orange:        #f7841f;
	--orange-dark:   #e26f0c;
	--orange-soft:   #fdece0;
	--ink:           #2c2c2c;
	--ink-soft:      #3d3a38;
	--muted:         #6b7280;
	--muted-light:   #8b8f96;
	--green:         #7cb342;
	--green-dark:    #5e9c33;
	--sage:          #b0bf88;
	--sage-soft:     #e7efdc;
	--cream:         #fdf8f3;
	--cream-2:       #fff7ef;
	--footer-bg:     #faf4ec;
	--peach:         #fcdabe;
	--peach-2:       #fbd0a9;
	--card:          #ffffff;
	--border:        #f0eae3;
	--border-2:      #ece6df;

	/* Gölgeler */
	--shadow-xs: 0 1px 3px rgba(44, 44, 44, .04);
	--shadow-sm: 0 4px 14px rgba(44, 44, 44, .05);
	--shadow-md: 0 10px 30px rgba(44, 44, 44, .07);
	--shadow-lg: 0 18px 44px rgba(44, 44, 44, .10);

	/* Ölçüler */
	--radius-sm: 10px;
	--radius:    16px;
	--radius-lg: 20px;
	--container: 1200px;
	--gutter:    20px;

	/* Dikey ritim olcegi — tum bolum bosluklari buradan yonetilir.
	   Mobil/tablet degerleri en alttaki media sorgularinda ezilir. */
	--section-y:    85px;  /* iki bolum arasindaki NET gorunen bosluk (tek yonlu) */
	--head-gap:     32px;  /* baslik blogu -> icerik (kart izgarasi) */
	--eyebrow-gap:  14px;  /* eyebrow -> baslik */
	--header-top:   26px;  /* yuzen header kartinin ust bosluu */
	--header-h:     calc(var(--header-top) + 60px);  /* ust bosluk + bar yuksekligi */
	--title-gap:    22px;  /* sola hizali baslik -> liste */
	--block-gap:    20px;  /* bolum ici ikincil bloklar */

	/* Tipografi */
	--font-head: "Poppins", "Segoe UI", system-ui, sans-serif;
	--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* -------------------------------------------------------------------------
   2) Temel
   ---------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 100px; }

body {
	margin: 0;
	background: #fff;
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

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

h1, h2, h3, h4 {
	font-family: var(--font-head);
	color: var(--ink);
	margin: 0;
	line-height: 1.25;
	font-weight: 600;
}

p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

a { color: var(--orange); text-decoration: none; }
a:hover { color: var(--orange-dark); }

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

.container {
	width: min(100% - (var(--gutter) * 2), var(--container));
	margin-inline: auto;
}

.text-orange { color: var(--orange); }

.icon {
	width: 20px;
	height: 20px;
	flex: none;
}

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

.skip-link:focus {
	position: fixed; top: 12px; left: 12px;
	z-index: 999;
	width: auto; height: auto;
	clip: auto; clip-path: none;
	padding: 10px 16px;
	background: #fff;
	border-radius: 8px;
	box-shadow: var(--shadow-md);
}

/* -------------------------------------------------------------------------
   3) Bileşenler
   ---------------------------------------------------------------------- */

/* --- Butonlar --- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 46px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: var(--font-head);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease,
	            background-color .18s ease, color .18s ease;
}
.btn .icon { width: 18px; height: 18px; }

.btn.btn--primary {
	background: var(--orange);
	color: #fff;
	box-shadow: 0 8px 18px rgba(247, 132, 31, .28);
}
.btn.btn--primary:hover {
	background: var(--orange-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(247, 132, 31, .34);
}

.btn.btn--ghost {
	background: #fff;
	color: var(--ink);
	border-color: #e4e9de;
	box-shadow: var(--shadow-xs);
}
.btn.btn--ghost:hover {
	color: var(--ink);
	border-color: var(--orange);
	transform: translateY(-2px);
}

.btn--sm { height: 40px; padding: 0 18px; font-size: 14px; }
.btn--sm .icon { width: 17px; height: 17px; }
.btn--lg { height: 42px; padding: 0 26px; font-size: 15px; }

/* --- Logo --- */
.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ink);
	flex: none;
}
.brand:hover { color: var(--ink); }

.brand__mark { display: inline-flex; color: var(--orange); }
.brand__mark .icon {
	width: 30px; height: 30px;
	stroke: none;
	fill: currentColor;
}

.brand__text {
	font-family: var(--font-head);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.01em;
}
.brand__text strong { color: var(--orange); font-weight: 700; }

/* Logo sarmalayıcısı artık bir <div>; asıl bağlantı içeride durduğu için
   hizalama iç bağlantılara verilir (custom-logo, yedek ve mobil logo). */
.brand > .custom-logo-link,
.brand__fallback,
.brand__mobile {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ink);
	text-decoration: none;
}
.brand__fallback:hover,
.brand__mobile:hover { color: var(--ink); }

.brand img { max-height: 44px; width: auto; display: block; }

/* Header logosunun yüksekliği Customizer'daki "Masaüstü logo yüksekliği"
   slider'ından gelir (--logo-h). Yalnızca header kapsamı: footer logosu
   kendi ölçüsünde kalır. .brand img'den daha özgül olduğu için ezer. */
.site-header .brand img { max-height: var(--logo-h, 44px); width: auto; max-width: 100%; }

/* Emniyet supabı: yüksek bir değer dar ekranda header'ı taşırmasın. Boş yer
   varken hiçbir etkisi yok; ancak satır sığmadığında logo oranını koruyarak
   küçülür, sağdaki ikonlar yerinde kalır. */
.site-header .brand { flex-shrink: 1; min-width: 0; }

/* Mobil logo: masaüstünde gizli, kırılım altında normal logonun yerine geçer. */
.brand__mobile { display: none; }
.brand__mobile img { max-height: var(--mobile-logo-h, 38px); width: auto; }

/* --- Bölüm başlıkları --- */
/* Bosluk tek yonlu verilir (yalnizca ust) — iki bolumun padding-i toplanmasin. */
.section { position: relative; padding: var(--section-y) 0 0; }

.section__head { text-align: center; margin-bottom: var(--head-gap); }

.eyebrow {
	font-family: var(--font-head);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--orange);
	margin-bottom: var(--eyebrow-gap);
}

.section__title {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.01em;
}
.section__title--left { text-align: left; }

/* --- Arka plan dekorları --- */
.deco {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	line-height: 0;
}
.deco--paw-left {
	top: calc(var(--section-y) - 8px); left: 27%;
	color: #f1eeea;
	transform: rotate(-14deg);
}
.deco--paw-left .icon { width: 42px; height: 42px; stroke: none; fill: currentColor; }

.deco--heart-right {
	top: calc(var(--section-y) - 22px); right: 0;
	width: 120px;
	color: #fbe0cc;
}
.deco--paw-right {
	top: calc(var(--section-y) + 6px); right: 1%;
	color: #fbe6d5;
	transform: rotate(12deg);
}
.deco--paw-right .icon { width: 78px; height: 78px; stroke: none; fill: currentColor; }

.deco--swirl {
	bottom: 40px; right: -10px;
	width: 170px;
	color: #f9dcc3;
}

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

/* ===== Header ===== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 60;
	padding: var(--header-top) 0 0;
	transition: padding .2s ease, background-color .2s ease;
}
/* Ön sayfada header hero'nun ÜZERİNE binen yüzen bir kart olur: akıştan çıkar,
   dikey yer kaplamaz, etrafı şeffaf kalır; böylece hero görseli sayfanın en üst
   kenarına kadar görünür. Diğer sayfalarda sticky davranış aynen korunur. */
body.home .site-header,
body.patik-contact-page .site-header {
	position: fixed;
	left: 0;
	right: 0;
}

.site-header.is-stuck {
	padding: 10px 0;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(44, 44, 44, .05);
}

.header-bar {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 60px;
	padding: 8px 8px 8px 24px;
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--shadow-md);
}

.site-nav { margin-left: auto; }

.nav-menu {
	display: flex;
	align-items: center;
	gap: 30px;
}
.nav-menu a {
	position: relative;
	display: block;
	padding: 6px 0;
	color: var(--ink-soft);
	font-family: var(--font-head);
	font-size: 15px;
	font-weight: 500;
	transition: color .18s ease;
}
.nav-menu a:hover { color: var(--orange); }

/* Aktif menü öğesinin altındaki turuncu çizgi */
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a { color: var(--orange); }
.nav-menu .current-menu-item > a::after,
.nav-menu .current_page_item > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--orange);
}

/* Alt menüler */
.nav-menu .sub-menu {
	position: absolute;
	top: 100%; left: 0;
	min-width: 190px;
	padding: 8px;
	background: #fff;
	border-radius: 12px;
	box-shadow: var(--shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all .18s ease;
}
.nav-menu li { position: relative; }
.nav-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu .sub-menu a { padding: 8px 12px; border-radius: 8px; }
.nav-menu .sub-menu a:hover { background: var(--cream); }

/* Hesap bağlantısı — Randevu Al butonunun solunda, sade ikon + metin. */
.account-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: none;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: #fff;
	color: var(--ink-soft);
	font-family: var(--font-head);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	transition: border-color .18s ease, color .18s ease, transform .18s ease;
}
.account-link:hover {
	border-color: var(--orange);
	color: var(--orange);
	transform: translateY(-1px);
}
.account-link .icon { width: 17px; height: 17px; }

/* Giriş yapılmışsa hafif vurgulu */
.account-link--in {
	background: var(--cream);
	border-color: #f2e3d4;
	color: var(--ink);
}

.header-cta { flex: none; }


.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	margin-left: auto;
	padding: 0;
	background: var(--cream);
	border: 0;
	border-radius: 12px;
	color: var(--ink);
	cursor: pointer;
}
.nav-toggle .icon { width: 22px; height: 22px; }
.nav-toggle__close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }

/* ===== 1) Hero ===== */
.hero {
	position: relative;
	isolation: isolate;
	min-height: 400px;
	padding: 32px 0 82px;
	background: linear-gradient(180deg, #fff 0%, var(--cream) 100%);
	overflow: hidden;
}

/* Header artık yer kaplamadığı için hero top:0'dan başlar; metnin header'ın
   altına girmemesi adına üst padding header yüksekliği kadar artırılır. */
body.home .hero { padding-top: calc(var(--header-h) + 32px); }

.hero__media {
	position: absolute;
	inset: 0 0 0 auto;
	width: 58%;
	z-index: -1;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 26%);
}
.hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 66% 60%;
	transform: scale(1.14);
	transform-origin: 68% 58%;
}

/* Sol üstteki soft yaprak dokusu */
.hero__leaf {
	position: absolute;
	top: -40px; left: -70px;
	width: 260px; height: 300px;
	z-index: -1;
	background:
		radial-gradient(closest-side, rgba(124, 179, 66, .22), transparent 72%),
		radial-gradient(closest-side at 70% 60%, rgba(124, 179, 66, .16), transparent 70%);
	filter: blur(6px);
}
.hero__glow {
	position: absolute;
	right: 34%; top: 20%;
	width: 320px; height: 320px;
	z-index: -1;
	background: radial-gradient(closest-side, rgba(247, 132, 31, .07), transparent 70%);
}

.hero__text { max-width: 540px; padding-left: 44px; }

.hero__title {
	font-size: 45px;
	font-weight: 700;
	line-height: 1.13;
	letter-spacing: -.02em;
	margin-bottom: 20px;
}

.hero__lead {
	max-width: 430px;
	margin-bottom: 24px;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.7;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* ===== 2) İstatistik barı ===== */
.stats {
	position: relative;
	z-index: 5;
	margin-top: -46px;
}

.stats__bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	padding: 18px 10px;
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--shadow-md);
}

.stat {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 26px;
}
.stat + .stat { border-left: 1px solid var(--border); }

.stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px; height: 48px;
	border-radius: 50%;
	flex: none;
}
.stat__icon .icon { width: 24px; height: 24px; }
.stat__icon--orange {
	background: linear-gradient(150deg, #fca24a, var(--orange));
	color: #fff;
}
.stat__icon--sage {
	background: var(--sage);
	color: #33401f;
}

.stat__body { display: flex; flex-direction: column; line-height: 1.3; }
.stat__value {
	font-family: var(--font-head);
	font-size: 17px;
	font-weight: 600;
	color: var(--ink);
}
.stat__label { font-size: 14px; color: var(--muted); }

/* ===== 3) Hizmetler ===== */
.services { padding-top: var(--section-y); }
.services .container { position: relative; z-index: 1; }

.service-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}

.service-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 26px 13px 28px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-xs);
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-card:hover {
	transform: translateY(-4px);
	border-color: #f6e2cf;
	box-shadow: var(--shadow-md);
}

.service-card__icon {
	display: block;
	width: 96px; height: 96px;
	margin-bottom: 18px;
	border-radius: 50%;
	overflow: hidden;
}
.service-card__icon img { width: 100%; height: 100%; object-fit: cover; }

.service-card__title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 9px;
}
.service-card__text {
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}

/* ===== 4) Neden biz ===== */
.why .container { position: relative; z-index: 1; }

.why__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: center;
}

.why__media img {
	width: 100%;
	aspect-ratio: 1.9;
	object-fit: cover;
	object-position: center 38%;
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}

.why__content .eyebrow { margin-bottom: var(--eyebrow-gap); }
.why__content .section__title { margin-bottom: var(--title-gap); }

.reason-list { display: flex; flex-direction: column; gap: 14px; }

.reason { display: flex; gap: 13px; align-items: flex-start; }

.reason__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 23px; height: 23px;
	margin-top: 2px;
	background: var(--sage-soft);
	border-radius: 50%;
	color: var(--green-dark);
	flex: none;
}
.reason__check .icon { width: 13px; height: 13px; stroke-width: 2.6; }

.reason__body { display: flex; flex-direction: column; }
.reason__title {
	font-family: var(--font-head);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.34;
}
.reason__text {
	font-size: 13px;
	line-height: 1.35;
	color: var(--muted);
}

/* ===== 5) Öncesi & sonrası ===== */
.compare-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 44px;
}

.ba {
	--pos: 50%;
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	overflow: hidden;
	background: #e8e4e0;
	box-shadow: var(--shadow-sm);
	touch-action: pan-y;
	user-select: none;
	cursor: ew-resize;
}

img.ba__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 32%;
	pointer-events: none;
}

/* Yatan/alçak duran hayvanlar için kadrajı aşağı al (2. kart: kedi) */
.ba--low img.ba__img { object-position: center 56%; }

/* Sonrası sağ yarıya, öncesi sol yarıya yaslanır */
img.ba__img--after { transform: translateX(12%); }
.ba__before img.ba__img { transform: translateX(-12%); }

/* Öncesi katmanı ayraca göre kırpılır */
.ba__before {
	position: absolute;
	inset: 0;
	clip-path: inset(0 calc(100% - var(--pos)) 0 0);
}
.ba__before img.ba__img { filter: saturate(.86) brightness(.95); }

.ba__label {
	position: absolute;
	bottom: 10px;
	z-index: 3;
	padding: 4px 12px;
	border-radius: 8px;
	background: rgba(43, 40, 38, .62);
	backdrop-filter: blur(3px);
	color: #fff;
	font-family: var(--font-head);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	pointer-events: none;
}
.ba__label--before { left: 10px; }
.ba__label--after  { right: 10px; }

.ba__divider {
	position: absolute;
	top: 0; bottom: 0;
	left: var(--pos);
	z-index: 4;
	width: 2px;
	margin-left: -1px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 0 6px rgba(0, 0, 0, .18);
}

.ba__handle {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	padding: 0;
	background: #fff;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .22);
	color: var(--ink);
	cursor: ew-resize;
}
.ba__handle .icon { width: 18px; height: 18px; }

/* ===== 6) Paketler ===== */
.package-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: stretch;
}

.package {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px 22px 18px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-xs);
	transition: transform .2s ease, box-shadow .2s ease;
}
.package:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

/* Öne çıkan paket biraz daha büyük ve turuncu çerçeveli */
.package--featured {
	margin: -12px 0;
	border-color: var(--orange);
	box-shadow: 0 10px 30px rgba(247, 132, 31, .14);
}

.package__badge {
	position: absolute;
	top: 22px; right: 20px;
	padding: 4px 12px;
	background: var(--orange);
	border-radius: 999px;
	color: #fff;
	font-family: var(--font-head);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.5;
}

.package__head {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-bottom: 16px;
}
.package__paw { display: inline-flex; color: var(--sage); }
.package__paw .icon { width: 26px; height: 26px; stroke: none; fill: currentColor; }
.package--featured .package__paw { color: #f9b779; }

.package__name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}
.package__sub {
	font-size: 13px;
	line-height: 1.4;
	color: var(--muted);
}

.package__features {
	display: flex;
	flex-direction: column;
	gap: 11px;
	margin-bottom: 18px;
	flex: 1 1 auto;
}
.package__features li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--ink-soft);
}
.package__features .icon {
	width: 14px; height: 14px;
	stroke-width: 2.6;
	color: var(--green);
}
.package--featured .package__features .icon { color: var(--orange); }

.package__foot {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--border);
}
.package__from {
	font-family: var(--font-head);
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}
.package__price {
	font-family: var(--font-head);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--green-dark);
}
.package--featured .package__price { color: var(--orange); }

/* ===== 7) Yorumlar ===== */

/* Carousel: --per = görünüm başına kart, --gap = kartlar arası boşluk. */
.review-carousel {
	position: relative;
	--per: 3;
	--gap: 30px;
}

.review-viewport {
	overflow: hidden;
	/* Kart gölgeleri kırpılmasın diye içeriden nefes payı. */
	margin: -6px;
	padding: 6px;
}

.review-grid {
	display: flex;
	gap: var(--gap);
	margin: 0;
	padding: 0;
	list-style: none;
	transition: transform .45s cubic-bezier(.22, .8, .3, 1);
	will-change: transform;
}
.review-grid.is-dragging { transition: none; cursor: grabbing; }

/* Her kart tam olarak 1/--per genişlik kaplar. */
.review-carousel .review {
	flex: 0 0 calc((100% - (var(--gap) * (var(--per) - 1))) / var(--per));
	min-width: 0;
}

.review {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-xs);
}

img.review__avatar {
	width: 56px; height: 56px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}

.review__name {
	font-family: var(--font-head);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.4;
}
.review__stars {
	margin: 1px 0 6px;
	color: #f9a825;
	font-size: 14px;
	letter-spacing: 2px;
	line-height: 1;
}
.review__text {
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}

.review-dots {
	display: flex;
	justify-content: center;
	gap: 9px;
	margin-top: var(--block-gap);
}
.review-dots[hidden] { display: none; }
.review-dots li { display: flex; }
.review-dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 1px solid #e0dcd6;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.review-dots button:hover { border-color: var(--orange); transform: scale(1.15); }
.review-dots button:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.review-dots li.is-active button {
	background: var(--orange);
	border-color: var(--orange);
}


/* ===== 8) SSS (FAQ) ===== */
/* Kart dili paket/yorum kartlarıyla aynı: beyaz zemin, yumuşak kenarlık,
   Poppins başlık, turuncu vurgu. Yeni bölüm; mevcut bölümlerin stiline
   dokunmaz. */
.faq-list {
	max-width: 820px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.faq-item {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-xs);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover { box-shadow: var(--shadow-sm); }
.faq-item.is-open { border-color: var(--orange-soft); box-shadow: var(--shadow-sm); }

/* Başlık gerçek bir h3; görünümü butondan gelir. */
.faq-item__q { margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; }

.faq-item__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px 22px;
	background: none;
	border: 0;
	border-radius: var(--radius);
	color: var(--ink);
	font-family: var(--font-head);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	cursor: pointer;
}
.faq-item__trigger:hover { color: var(--orange); }
.faq-item__trigger:focus-visible {
	outline: 2px solid var(--orange);
	outline-offset: -2px;
}
.faq-item.is-open .faq-item__trigger { color: var(--orange); }

.faq-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 30px; height: 30px;
	border-radius: 50%;
	background: var(--cream);
	color: var(--orange);
	transition: transform .22s ease, background-color .22s ease;
}
.faq-item__icon svg { width: 17px; height: 17px; }
.faq-item.is-open .faq-item__icon { background: var(--orange-soft); transform: rotate(180deg); }

.faq-item__panel { padding: 0 22px 20px; }
.faq-item__a {
	margin: 0;
	max-width: 68ch;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.75;
}

/* ===== 9) CTA bandı ===== */
.cta-section { padding: var(--section-y) 0; }

.cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 131px;
	padding: 8px 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
	/* Renkler değişken üzerinden: Elementor'daki CTA widget'ı bunları ezebilir.
	   Ezilmezse aşağıdaki varsayılanlar (mevcut tasarım) geçerlidir. */
	background: linear-gradient(100deg,
		var(--cta-edge, var(--peach-2)) 0%,
		var(--cta-mid, var(--peach)) 26%,
		var(--cta-center, #fde3cd) 50%,
		var(--cta-mid, var(--peach)) 74%,
		var(--cta-edge, var(--peach-2)) 100%);
}

/* CTA'daki hayvanlar: iç kenarları banda karışsın diye maskeli */
img.cta__pet {
	position: absolute;
	top: 0; bottom: 0;
	width: 23%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}
img.cta__pet--dog {
	left: 0;
	object-position: 60% 32%;
	-webkit-mask-image: linear-gradient(90deg, #000 46%, transparent 96%);
	        mask-image: linear-gradient(90deg, #000 46%, transparent 96%);
}
img.cta__pet--cat {
	right: 0;
	object-position: 42% 38%;
	-webkit-mask-image: linear-gradient(270deg, #000 46%, transparent 96%);
	        mask-image: linear-gradient(270deg, #000 46%, transparent 96%);
}

.cta__body { position: relative; z-index: 2; text-align: center; }

.cta__title {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
	margin-bottom: 4px;
}
.cta__text {
	margin-bottom: 8px;
	color: #6f5a48;
	font-size: 13px;
	line-height: 1.45;
}

.cta__button-wrap { position: relative; display: inline-flex; }

.cta__arrow {
	position: absolute;
	left: calc(100% + 14px);
	top: 50%;
	width: 68px;
	margin-top: -6px;
	color: #f0a765;
	line-height: 0;
}

/* ===== Footer ===== */
.site-footer {
	padding: calc(var(--section-y) * .62) 0 22px;
	background: var(--footer-bg);
	color: var(--ink);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 34px;
}
.footer-col + .footer-col {
	padding-left: 40px;
	border-left: 1px solid #efe4d5;
}

.brand--footer { margin-bottom: 12px; }
.brand--footer .brand__text { font-size: 19px; }
.brand--footer .brand__mark .icon { width: 25px; height: 25px; }

.footer-about {
	max-width: 280px;
	margin-bottom: 16px;
	color: var(--muted);
	font-size: 12.5px;
	line-height: 1.45;
}

.socials { display: flex; gap: 10px; }
.socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	background: #f5ece0;
	border-radius: 50%;
	color: #57534e;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.socials a:hover { background: var(--orange); color: #fff; transform: translateY(-2px); }
.socials .icon { width: 17px; height: 17px; }

.footer-title {
	margin-bottom: 16px;
	font-size: 15px;
	font-weight: 600;
}

.contact-list { display: flex; flex-direction: column; gap: 13px; }
.contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--ink-soft);
}
.contact-list a { color: var(--ink-soft); }
.contact-list a:hover { color: var(--orange); }
.contact-list__icon { color: #57534e; margin-top: 1px; }
.contact-list__icon .icon { width: 17px; height: 17px; }

.hours-list { display: flex; flex-direction: column; gap: 11px; }
.hours-list li { display: flex; flex-direction: column; }
.hours-list strong {
	font-family: var(--font-head);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
.hours-list span { font-size: 12.5px; line-height: 1.3; color: var(--muted); }

.footer-map {
	display: block;
	max-width: 272px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	box-shadow: var(--shadow-xs);
	transition: transform .2s ease, box-shadow .2s ease;
}
.footer-map:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.footer-map svg { display: block; width: 100%; height: auto; }

/* Gerçek Google Haritalar gömmesi: sütun genişliğini tam kaplayan,
   sabit oranlı bir kutu. Sabit piksel yükseklik yerine aspect-ratio
   kullanılır ki her kırılımda dengeli dursun. */
.footer-map--embed {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--cream);
	border: 1px solid #efe4d5;
}
.footer-map--embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
/* Gömme tıklanabilir olduğu için hover’da yükselme yapmıyoruz. */
.footer-map--embed:hover { transform: none; box-shadow: var(--shadow-xs); }

/* Alt bar — ayraç çizgisinin ortasında küçük turuncu pati */
.footer-bottom {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid #efe4d5;
}
.footer-bottom__paw {
	position: absolute;
	top: -11px; left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	padding: 0 8px;
	background: var(--footer-bg);
	color: var(--orange);
	line-height: 0;
}
.footer-bottom__paw .icon { width: 20px; height: 20px; stroke: none; fill: currentColor; }

.footer-copy { font-size: 13px; color: var(--muted); }

.footer-menu { display: flex; align-items: center; gap: 14px; }
.footer-menu li + li::before {
	content: "|";
	margin-right: 14px;
	color: #ddd2c4;
}
.footer-menu a { color: var(--muted); font-size: 13px; }
.footer-menu a:hover { color: var(--orange); }

/* -------------------------------------------------------------------------
   İç sayfalar (page.php / single.php / index.php)
   ---------------------------------------------------------------------- */
.page-hero {
	padding: 48px 0 30px;
	background: linear-gradient(180deg, var(--cream-2), #fff);
	text-align: center;
}
.page-hero__title { font-size: 36px; font-weight: 600; }

.page-body { padding: calc(var(--section-y) * .4) 0 var(--section-y); }
.entry-content { font-size: 16px; line-height: 1.75; color: var(--ink-soft); }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: 27px; }
.entry-content h3 { font-size: 21px; }
.entry-content img { border-radius: var(--radius); }
.entry-content a { text-decoration: underline; }

/* Liste sayfalarında başlık bloğu ile ızgara arası ölçülü dursun. */
.archive .page-hero,
.blog .page-hero,
.search .page-hero { padding-bottom: 22px; }

.archive .page-hero .eyebrow,
.blog .page-hero .eyebrow,
.search .page-hero .eyebrow { margin-bottom: 10px; }

/* --- Blog kart ızgarası ---
   Referans: design/blog-card.png (kart genişliği 613px). Ölçüler o karttan
   yüzde olarak çıkarılıp cqw cinsinden yazıldı; kart daralınca oranlar
   korunur, clamp() alt sınırları mobilde okunabilirliği tutar. */
.post-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin-top: 4px;
	align-items: stretch;      /* satırdaki kartlar aynı boyda */
}

.post-card {
	container-type: inline-size;   /* cqw = kart genişliğinin %1'i */
	display: flex;
	flex-direction: column;
	height: 100%;              /* ızgara hücresini doldur → eşit boy */
	background: var(--card);
	border: 1px solid #efe7dd;
	border-radius: clamp(14px, 3.9cqw, 24px);
	overflow: hidden;
	/* İnce çizgi + katmanlı yumuşak gölge: karanlık değil, zeminden ayrışan. */
	box-shadow: 0 1px 2px rgba(44, 44, 44, .04), 0 18px 40px rgba(44, 44, 44, .09);
	transition: transform .24s cubic-bezier(.22, .8, .3, 1),
	            box-shadow .24s ease, border-color .24s ease;
}
.post-card:hover {
	transform: translateY(-6px);
	border-color: #f4d9bd;
	box-shadow: 0 2px 5px rgba(44, 44, 44, .05), 0 28px 56px rgba(44, 44, 44, .14);
}

/* Görsel alanı: rozet buranın içinde konumlanır. */
.post-card__media {
	position: relative;
	flex: none;
	border-radius: clamp(14px, 3.9cqw, 24px) clamp(14px, 3.9cqw, 24px) 0 0;
	overflow: hidden;
}

.post-card__thumb {
	display: block;
	aspect-ratio: 613 / 502;   /* referanstan ölçülen oran (1.22) */
	overflow: hidden;
	background: var(--cream);
}
.post-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.22, .8, .3, 1);
}
.post-card:hover .post-card__thumb img { transform: scale(1.05); }

/* Görselin sol-alt köşesine binen kategori rozeti */
.post-card__badge {
	position: absolute;
	left: clamp(12px, 4.57cqw, 28px);
	bottom: clamp(10px, 3.26cqw, 20px);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: clamp(6px, 1.8cqw, 11px);
	padding: clamp(7px, 3.1cqw, 19px) clamp(11px, 3.9cqw, 24px)
	         clamp(7px, 3.1cqw, 19px) clamp(9px, 3.1cqw, 19px);
	border-radius: clamp(8px, 2.1cqw, 13px);
	background: var(--orange);
	color: #fff;
	font-family: var(--font-head);
	font-size: clamp(11.5px, 2.8cqw, 17px);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(247, 132, 31, .32);
	transition: background-color .18s ease, transform .18s ease;
}
.post-card__badge .icon {
	width: clamp(14px, 4cqw, 24px);
	height: clamp(14px, 4cqw, 24px);
	flex: none;
	stroke-width: 1.8;
}
.post-card__badge:hover { background: var(--orange-dark); color: #fff; transform: translateY(-1px); }

/* Görseli olmayan yazı: krem zeminde soluk pati */
.post-card__ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%; height: 100%;
	background: linear-gradient(140deg, var(--cream-2) 0%, var(--cream) 60%, #fbeada 100%);
	color: #f3d3b3;
}
.post-card__ph .icon {
	width: clamp(48px, 12cqw, 74px);
	height: clamp(48px, 12cqw, 74px);
	stroke: none;
	fill: currentColor;
}

/* Gövde: referanstaki bol iç boşluk */
.post-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: clamp(18px, 7.8cqw, 48px) clamp(17px, 7.83cqw, 48px) clamp(16px, 6.5cqw, 40px);
}

.post-card__title {
	margin: 0 0 clamp(8px, 3.3cqw, 20px);
	font-size: clamp(17.5px, 5.71cqw, 35px);
	font-weight: 700;
	line-height: 1.57;
	letter-spacing: -.3px;
	/* En fazla 2 satır; 1 satırlık başlıkta da 2 satırlık yer ayrılır ki
	   özet ve meta satırı her kartta aynı hizada dursun. */
	min-height: calc(2 * 1.57em);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.post-card__title a { color: var(--ink); text-decoration: none; transition: color .18s ease; }
.post-card__title a:hover { color: var(--orange); }

.post-card__excerpt {
	margin: 0 0 clamp(18px, 11.2cqw, 69px);
	font-size: clamp(13.5px, 3.84cqw, 23.5px);
	color: var(--muted);
	line-height: 1.84;
	min-height: calc(3 * 1.84em);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Kart daraldığında (4'lü/3'lü ızgara, mobil) referansın geniş satır
   aralığı fazla gelir; oranları koruyup ritmi sıkıştırıyoruz. */
@container (max-width: 400px) {
	.post-card__title {
		line-height: 1.32;
		min-height: calc(2 * 1.32em);
		letter-spacing: -.1px;
	}
	.post-card__excerpt {
		line-height: 1.65;
		min-height: calc(3 * 1.65em);
		margin-bottom: clamp(16px, 8cqw, 26px);
	}
	.post-card__foot { padding-top: clamp(14px, 6cqw, 22px); }
}

/* Ayraç + meta: margin-top:auto ile her kartta en alta sabitlenir */
.post-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(8px, 2.3cqw, 14px);
	margin-top: auto;
	padding-top: clamp(14px, 7.34cqw, 45px);
	border-top: 1px solid #ece5dc;
}

.post-card__date {
	display: inline-flex;
	align-items: center;
	gap: clamp(7px, 2.3cqw, 14px);
	font-size: clamp(12px, 3.43cqw, 21px);
	color: var(--ink-soft);
	white-space: nowrap;
}
.post-card__date-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(26px, 6.5cqw, 40px);
	height: clamp(26px, 6.5cqw, 40px);
	flex: none;
	border-radius: clamp(8px, 2cqw, 12px);
	background: var(--orange-soft);
	color: var(--orange);
}
.post-card__date-ic .icon {
	width: clamp(14px, 3.4cqw, 21px);
	height: clamp(14px, 3.4cqw, 21px);
}

.post-card__more {
	display: inline-flex;
	align-items: center;
	gap: clamp(6px, 2cqw, 12px);
	color: var(--orange);
	font-family: var(--font-head);
	font-size: clamp(12px, 3.43cqw, 21px);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.post-card__more:hover { color: var(--orange-dark); }
.post-card__more .icon {
	width: clamp(15px, 4.2cqw, 26px);
	height: clamp(15px, 4.2cqw, 26px);
	transition: transform .18s ease;
}
.post-card__more:hover .icon { transform: translateX(4px); }

/* --- Boş durum (arama sonucu yok) --- */
.post-empty {
	max-width: 460px;
	margin: 10px auto 0;
	padding: 36px 26px;
	background: var(--cream);
	border: 1px dashed #e6ded5;
	border-radius: var(--radius);
	text-align: center;
}
.post-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px; height: 56px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: #fff;
	color: var(--orange);
}
.post-empty__icon .icon { width: 26px; height: 26px; stroke: none; fill: currentColor; }
.post-empty__title { margin: 0 0 6px; font-size: 19px; }
.post-empty__text { margin: 0 0 16px; font-size: 14px; color: var(--muted); line-height: 1.6; }
/* 404 sayfasındaki dönüş butonları — dar ekranda alt alta geçer. */
.post-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 18px;
}

/* --- Tekil yazı --- */
.page-hero--post .eyebrow a { color: var(--orange); text-decoration: none; }
.page-hero__desc { max-width: 620px; margin: 10px auto 0; color: var(--muted); font-size: 15px; line-height: 1.7; }

.post-meta {
	margin-top: 10px;
	font-size: 13.5px;
	color: var(--muted);
}
.post-meta__sep { margin: 0 6px; color: #d8d2cc; }

/* Okunabilir genişlik */
.post-single { max-width: 760px; margin-inline: auto; }

.post-single__thumb {
	margin: 0 0 28px;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}
.post-single__thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

.post-single .entry-content { font-size: 16.5px; line-height: 1.8; }
.post-single .entry-content > * + * { margin-top: 1.2em; }
.post-single .entry-content h2 { margin-top: 1.6em; font-size: 24px; }
.post-single .entry-content h3 { margin-top: 1.4em; font-size: 20px; }
.post-single .entry-content blockquote {
	margin: 1.6em 0;
	padding: 16px 20px;
	border-left: 3px solid var(--orange);
	background: var(--cream);
	border-radius: 0 12px 12px 0;
	color: var(--ink-soft);
}

.post-tags { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.post-tags a {
	padding: 4px 12px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: #fff;
	color: var(--muted);
	font-size: 12.5px;
	text-decoration: none;
}
.post-tags a:hover { border-color: var(--orange); color: var(--orange); }

.post-single__foot { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.icon--flip { transform: rotate(180deg); }

/* --- Yorumlar --- */
.comments-area { margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--border); }

.comments-title,
.comment-reply-title {
	margin: 0 0 16px;
	font-family: var(--font-head);
	font-size: 20px;
	font-weight: 600;
	color: var(--ink);
}

.comment-list { margin: 0 0 30px; padding: 0; list-style: none; }
.comment-list li { list-style: none; }
.comment-body {
	padding: 16px 18px;
	margin-bottom: 12px;
	background: var(--cream);
	border: 1px solid var(--border);
	border-radius: 12px;
}
.comment-author { font-family: var(--font-head); font-size: 14.5px; font-weight: 600; }
.comment-author img { border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.comment-metadata { font-size: 12.5px; color: var(--muted-light); margin-bottom: 8px; }
.comment-metadata a { color: var(--muted-light); }
.comment-content { font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }
.comment-content p + p { margin-top: .8em; }
.reply a { font-family: var(--font-head); font-size: 13px; font-weight: 600; color: var(--orange); }

.comment-respond { padding: 22px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); }
.comment-notes,
.comment-form-cookies-consent label,
.logged-in-as { font-size: 13.5px; color: var(--muted); line-height: 1.6; }

.comment-form label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--font-head);
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--cream);
	font-family: var(--font-body);
	font-size: 14.5px;
	color: var(--ink);
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.comment-form textarea { min-height: 130px; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	background: #fff;
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(247, 132, 31, .14);
}
.comment-form p { margin: 0 0 14px; }
.comment-form .form-submit { margin-bottom: 0; }

.comment-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--orange);
	color: #fff;
	font-family: var(--font-head);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 8px 18px rgba(247, 132, 31, .28);
	transition: background-color .18s ease, transform .18s ease;
}
.comment-form input[type="submit"]:hover {
	background: var(--orange-dark);
	color: #fff;
	transform: translateY(-2px);
}

/* Önceki / sonraki yazı */
.post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 22px;
}
.post-nav__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 15px 18px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.post-nav__item:hover { border-color: var(--orange); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.post-nav__item--next { text-align: right; }
.post-nav__label { font-size: 12px; color: var(--muted-light); }
.post-nav__title { font-family: var(--font-head); font-size: 14.5px; font-weight: 600; color: var(--ink); line-height: 1.4; }

/* -------------------------------------------------------------------------
   Yasal sayfalar (template-legal.php)
   ---------------------------------------------------------------------- */
.page-hero--legal { text-align: left; }
.page-hero--legal .page-hero__title { max-width: 760px; }

.legal-updated {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 12px 0 0;
	padding: 5px 13px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--border);
	font-size: 13px;
	color: var(--muted);
}
.legal-updated .icon { width: 15px; height: 15px; color: var(--orange); }

/* Okunur genişlik */
.legal { max-width: 760px; margin-inline: auto; }

.legal__content { font-size: 16.5px; line-height: 1.85; color: var(--ink-soft); }
.legal__content > * + * { margin-top: 1.15em; }
.legal__content h2 {
	margin-top: 2em;
	font-family: var(--font-head);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--ink);
}
.legal__content h2:first-child { margin-top: 0; }
.legal__content h3 { margin-top: 1.5em; font-size: 17px; font-weight: 600; color: var(--ink); }
.legal__content strong { color: var(--ink); font-weight: 600; }
.legal__content a { color: var(--orange); }
.legal__content a:hover { color: var(--orange-dark); }
/* Tema listelerde list-style'i sifirliyor; yasal metinde madde imleri gerekli. */
.legal__content ul { list-style: disc; margin-left: 0; padding-left: 22px; }
.legal__content ol { list-style: decimal; margin-left: 0; padding-left: 22px; }
.legal__content li { display: list-item; }
.legal__content li + li { margin-top: .5em; }
.legal__content li::marker { color: var(--orange); }

/* Taslak uyarısı */
.legal-note {
	padding: 15px 18px;
	border-radius: 14px;
	border: 1px solid #f3ddc4;
	border-left: 3px solid var(--orange);
	background: var(--cream-2);
}
.legal-note p { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }

/* İletişim kutusu */
.legal__contact {
	margin-top: 40px;
	padding: 22px 24px;
	background: var(--cream);
	border-radius: var(--radius);
}
.legal__contact-title {
	margin: 0 0 14px;
	font-family: var(--font-head);
	font-size: 17px;
	font-weight: 700;
	color: var(--ink);
}
.legal__contact-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 11px; }
.legal__contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--muted);
}
.legal__contact-list .icon { width: 18px; height: 18px; flex: none; margin-top: 3px; color: var(--orange); }
.legal__contact-list a { color: var(--muted); text-decoration: none; }
.legal__contact-list a:hover { color: var(--orange); }

/* Diğer yasal sayfaya geçiş */
.legal__cross { margin: 26px 0 0; }
.legal__cross-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-head);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--orange);
	text-decoration: none;
}
.legal__cross-link .icon { width: 17px; height: 17px; transition: transform .18s ease; }
.legal__cross-link:hover { color: var(--orange-dark); }
.legal__cross-link:hover .icon { transform: translateX(3px); }

/* --- Kırıntı yolu (breadcrumb) --- */
.breadcrumb { margin: 0 0 14px; }
.breadcrumb__list {
	/* Satır içi akış: uzun başlık sarınca ayraç metinden kopmasın.
	   (flex kullanılınca ayraç, sarmış öğenin dikey ortasında kalıyordu.) */
	display: block;
	text-align: center;   /* iç sayfa başlıkları ortalı */
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-head);
	font-size: 13px;
	line-height: 1.5;
}
.breadcrumb__item { display: inline; }
.breadcrumb__sep {
	display: inline-block;
	margin: 0 8px;
	color: #d9cfc4;
	font-size: 14px;
	line-height: 1;
}
.breadcrumb--start .breadcrumb__list { text-align: left; }
.breadcrumb__home {
	width: 14px;
	height: 14px;
	margin-right: 6px;
	vertical-align: -2px;
}
.breadcrumb__link {
	color: var(--orange);
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .18s ease, border-color .18s ease;
}
.breadcrumb__link:hover,
.breadcrumb__link:focus-visible {
	color: var(--orange-dark);
	border-bottom-color: currentColor;
}
.breadcrumb__current {
	color: var(--muted);
	font-weight: 500;
	/* Dar ekranda taşmasın; uzun başlık zaten PHP tarafında kısaltılıyor. */
	overflow-wrap: anywhere;
}

.pagination { margin-top: 34px; }
.pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 38px; height: 38px; padding: 0 10px;
	border: 1px solid var(--border); border-radius: 10px;
	color: var(--ink-soft); font-size: 14px;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover { background: var(--orange); border-color: var(--orange); color: #fff; }

/* -------------------------------------------------------------------------
   4b) İletişim sayfası (page-iletisim.php)

   Referans: design/contact-design.png — kapsayıcı 1024px ölçülerek
   1200px kapsayıcıya oranlandı (×1.17).
   ---------------------------------------------------------------------- */

/* --- Hero --- */
.contact-hero {
	position: relative;
	background: var(--cream);
	overflow: hidden;
}
.contact-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 42%);   /* sağ yarı görsele ayrılır */
	align-content: center;
	min-height: 430px;
	/* Header yer kaplamadığı (fixed) için üst boşluk onun yüksekliği kadar. */
	padding: calc(var(--header-h) + 14px) 0 44px;
}
.contact-hero__text { min-width: 0; }

.contact-hero__title {
	margin: 10px 0 0;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.5px;
	color: var(--ink);
}
.contact-hero__accent { color: var(--orange); }

.contact-hero__lead {
	margin: 18px 0 0;
	max-width: 420px;
	font-size: 16.5px;
	line-height: 1.72;
	color: var(--muted);
}

/* İki özellik öğesi */
.contact-perks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 26px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}
.contact-perk {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}
.contact-perk__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border-radius: 50%;
	background: var(--orange-soft);
	color: var(--orange);
}
.contact-perk__icon .icon { width: 20px; height: 20px; }
.contact-perk__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.contact-perk__title {
	font-family: var(--font-head);
	font-size: 15.5px;
	font-weight: 600;
	color: var(--ink);
}
.contact-perk__desc { font-size: 13.5px; line-height: 1.5; color: var(--muted); }

/* Görsel: sağ kenara tam kanar, sol köşesi geniş elips yayı */
.contact-hero__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 54.5%;
	overflow: hidden;
	/* Referansta sol kenar ~46px yatay, ~245px dikey yarıçapla kavisleniyor. */
	border-radius: 54px 0 0 0 / 290px 0 0 0;
}
.contact-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	display: block;
}

/* --- Form + bilgiler --- */
.contact-main { padding: 46px 0 0; }
.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr);
	gap: 42px;
	align-items: start;
}

.contact-card {
	padding: 30px 32px 34px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(44, 44, 44, .03), 0 12px 30px rgba(44, 44, 44, .05);
}
.contact-card__title {
	margin: 0;
	font-size: 23px;
	font-weight: 700;
	color: var(--ink);
}
.contact-card__lead {
	margin: 8px 0 24px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--muted);
}

/* --- Form alanları --- */
.contact-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
}
.contact-field { margin: 0 0 16px; min-width: 0; }
.contact-field__label {
	display: block;
	margin-bottom: 7px;
	font-family: var(--font-head);
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ink-soft);
}
.contact-field__input {
	width: 100%;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #fff;
	font-family: var(--font-body);
	font-size: 14.5px;
	color: var(--ink);
	transition: border-color .16s ease, box-shadow .16s ease;
}
.contact-field__input::placeholder { color: #b7b1ab; }
.contact-field__input:focus {
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 3px rgba(247, 132, 31, .14);
}
.contact-field__input.is-invalid {
	border-color: #d9534f;
	box-shadow: 0 0 0 3px rgba(217, 83, 79, .12);
}
.contact-field__textarea { min-height: 118px; resize: vertical; line-height: 1.65; }

/* Açılır liste: yerel oku gizleyip tema okunu koy */
.contact-field__select { position: relative; display: block; }
.contact-field__select select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 40px;
	cursor: pointer;
}
.contact-field__caret {
	position: absolute;
	right: 14px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	color: var(--muted-light);
	transform: rotate(90deg);   /* sağ ok → aşağı ok */
	pointer-events: none;
}

.contact-field__error {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	line-height: 1.45;
	color: #c9302c;
}
.contact-field__error:empty { display: none; }

/* KVKK onayı */
.contact-consent { margin: 4px 0 16px; }
.contact-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--muted);
	cursor: pointer;
}
.contact-consent__label input {
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	flex: none;
	accent-color: var(--orange);
	cursor: pointer;
}
.contact-consent__label a { color: var(--orange); text-decoration: underline; }
.contact-consent__label a:hover { color: var(--orange-dark); }

/* Gönder butonu */
.btn.contact-form__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	border: 0;
	border-radius: 10px;
	font-size: 15.5px;
	cursor: pointer;
}
.btn.contact-form__submit .icon { width: 18px; height: 18px; }
.btn.contact-form__submit.is-busy { opacity: .72; cursor: progress; }
.btn.contact-form__submit[disabled] { pointer-events: none; }

.contact-form__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 14px 0 0;
	font-size: 12.5px;
	color: var(--muted-light);
}
.contact-form__note .icon { width: 14px; height: 14px; }

/* Yanıt kutusu */
.contact-form__feedback { display: none; }
.contact-form__feedback.is-visible {
	display: block;
	margin-top: 16px;
	padding: 13px 16px;
	border-radius: 12px;
	border: 1px solid transparent;
	font-size: 14px;
	line-height: 1.6;
}
.contact-form__feedback--success {
	background: #f1f8ec;
	border-color: #d5e9c6;
	color: var(--green-dark);
}
.contact-form__feedback--error {
	background: #fdf1f0;
	border-color: #f3d4d2;
	color: #c9302c;
}

/* --- İletişim bilgileri --- */
.contact-info { padding-top: 30px; }
.contact-info__list { margin: 0; padding: 0; list-style: none; }
.contact-info__item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.contact-info__item + .contact-info__item { margin-top: 24px; }
.contact-info__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	flex: none;
	border-radius: 50%;
	background: var(--orange-soft);
	color: var(--orange);
}
.contact-info__icon .icon { width: 24px; height: 24px; }
.contact-info__body { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-top: 4px; }
.contact-info__label {
	font-family: var(--font-head);
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
}
.contact-info__value {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--muted);
	overflow-wrap: anywhere;
}
.contact-info__value a { color: var(--muted); text-decoration: none; }
.contact-info__value a:hover { color: var(--orange); }

/* --- Harita + sosyal --- */
.contact-map-section { padding: 40px 0 0; }
.contact-map {
	display: grid;
	grid-template-columns: minmax(0, 1.74fr) minmax(0, 1fr);
	min-height: 258px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(44, 44, 44, .03), 0 12px 30px rgba(44, 44, 44, .05);
}
.contact-map--no-embed { grid-template-columns: minmax(0, 1fr); }
.contact-map__frame { position: relative; min-height: 258px; background: var(--cream); }
.contact-map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.contact-social {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 32px;
}
.contact-social__title { margin: 0; font-size: 20px; font-weight: 700; color: var(--ink); }
.contact-social__lead {
	margin: 9px 0 20px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--muted);
}
.contact-social__list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.contact-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--cream);
	color: var(--ink);
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.contact-social__link .icon { width: 21px; height: 21px; }
.contact-social__link:hover {
	background: var(--orange);
	color: #fff;
	transform: translateY(-2px);
}

/* --- Alt CTA --- */
.contact-cta-section { padding: 40px 0 80px; }
.contact-cta {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 26px 34px;
	background: var(--cream);
	border-radius: 18px;
}
.contact-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	flex: none;
	border-radius: 22px;
	background: #fff;
	color: var(--orange);
}
.contact-cta__icon .icon { width: 30px; height: 30px; }
.contact-cta__body { flex: 1 1 auto; min-width: 0; }
.contact-cta__title { margin: 0; font-size: 22px; font-weight: 700; color: var(--ink); }
.contact-cta__lead {
	margin: 7px 0 0;
	max-width: 420px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--muted);
}
.btn.contact-cta__btn {
	flex: none;
	gap: 10px;
	background: #fff;
}
.btn.contact-cta__btn .icon { width: 17px; height: 17px; }

/* -------------------------------------------------------------------------
   5) Responsive
   ---------------------------------------------------------------------- */

/* --- Geniş tablet --- */
@media (max-width: 1200px) {
	.post-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
	.contact-hero__title { font-size: 40px; }
	.contact-hero__inner { min-height: 390px; }
	.hero__title { font-size: 42px; }
	.service-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.compare-grid { gap: 28px; }
	.package-grid { gap: 22px; }
	.stat { padding: 4px 16px; gap: 11px; }
	.footer-col + .footer-col { padding-left: 26px; }
	.footer-grid { gap: 26px; }
}

/* --- Tablet --- */
@media (max-width: 1024px) {
	/* Tablet: hero görseli alta iner, iki sütunlu bloklar tek sütuna düşer. */
	.contact-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding: 26px 0 30px;
	}
	/* Tabletten itibaren header yeniden akışta; hero görseli de metnin
	   altına iner, dolayısıyla ek üst boşluğa gerek kalmaz. */
	body.patik-contact-page .site-header { position: sticky; }
	.contact-perks { gap: 14px 20px; }
	.contact-hero__media {
		position: relative;
		width: auto;
		margin: 0 var(--gutter) 26px;
		height: 260px;
		border-radius: 18px;
	}
	.contact-hero__title { font-size: 36px; }
	.contact-hero__lead { max-width: none; }
	.contact-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.contact-info { padding-top: 0; }
	.contact-map { grid-template-columns: minmax(0, 1fr); }
	.contact-map__frame { min-height: 240px; }
	.contact-cta-section { padding-bottom: 60px; }

	:root {
		--header-top:  20px;
		--section-y:   63px;
		--head-gap:    25px;
		--eyebrow-gap: 12px;
		--title-gap:   18px;
		--block-gap:   16px;
	}

	.nav-toggle { display: inline-flex; }
	.header-cta { display: none; }

	/* Hesap: yalnızca ikon (metin gizli) */
	.account-link { padding: 0; width: 42px; height: 42px; justify-content: center; }
	.account-link__text { display: none; }

	/* Mobil header dizilimi: solda logo, sağda [Hesabım][Hamburger] grubu.
	   Hesap bağlantısı auto margin ile sağa itilir, hamburger hemen onun
	   sağında kalır; aradaki küçük boşluğu .header-bar gap'i verir. */
	.account-link { margin-left: auto; }
	.nav-toggle { margin-left: 0; flex: none; }

	.site-nav {
		position: absolute;
		top: calc(100% + 10px);
		left: 0; right: 0;
		margin-left: 0;
		padding: 10px;
		background: #fff;
		border-radius: var(--radius);
		box-shadow: var(--shadow-lg);
		display: none;
	}
	.site-nav.is-open { display: block; }
	.header-bar { position: relative; gap: 10px; padding-right: 10px; }

	.nav-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.nav-menu a { padding: 12px 14px; border-radius: 10px; font-size: 15.5px; }
	.nav-menu a:hover { background: var(--cream); }
	.nav-menu .current-menu-item > a::after,
	.nav-menu .current_page_item > a::after { display: none; }
	.nav-menu .sub-menu {
		position: static;
		opacity: 1; visibility: visible; transform: none;
		box-shadow: none; padding: 0 0 0 12px;
	}

	/* Hero: metin üstte, görsel altta */
	.hero {
		display: flex;
		flex-direction: column;
		padding: 26px 0 92px;
	}
	body.home .hero { padding-top: calc(var(--header-h) + 26px); }
	.hero > .container { order: 1; }
	.hero__media {
		position: relative;
		inset: auto;
		order: 2;
		width: min(100% - (var(--gutter) * 2), var(--container));
		height: 300px;
		margin: 28px auto 0;
		border-radius: var(--radius);
		overflow: hidden;
		z-index: 0;
	}
	.hero__media {
		-webkit-mask-image: none;
		        mask-image: none;
	}
	.hero__media img {
		object-position: center 46%;
		transform: none;
	}
	.hero__text { max-width: none; padding-left: 0; }
	.hero__title { font-size: 38px; }
	.hero__lead { max-width: 560px; }

	.stats__bar { grid-template-columns: repeat(2, 1fr); row-gap: 6px; padding: 14px 6px; }
	.stat:nth-child(odd) { border-left: 0; }
	.stat:nth-child(n+3) { border-top: 1px solid var(--border); padding-top: 16px; }

	.why__grid { grid-template-columns: 1fr; gap: 28px; }
	.why__media img { aspect-ratio: 16/9; }

	.compare-grid { grid-template-columns: repeat(2, 1fr); }
	.post-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
	.review-carousel { --per: 2; --gap: 22px; }
	.package--featured { margin: 0; }

	.cta { flex-direction: column; min-height: 0; padding: 26px 20px 30px; }
	img.cta__pet { position: relative; width: 46%; height: 96px; top: auto; bottom: auto; }
	img.cta__pet--dog { order: -1; margin-bottom: 8px; -webkit-mask-image: none; mask-image: none; border-radius: 12px; }
	img.cta__pet--cat { display: none; }
	.cta__arrow { display: none; }

	.footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
	.footer-col + .footer-col { padding-left: 0; border-left: 0; }
	.footer-col:nth-child(n+3) { padding-top: 26px; border-top: 1px solid #efe4d5; }

	.deco { display: none; }
}

/* --- Mobil --- */
@media (max-width: 680px) {
	/* Mobil: her şey tek sütun, taşma yok. */
	.contact-hero__title { font-size: 29px; line-height: 1.28; }
	.contact-hero__lead { font-size: 15px; }
	.contact-hero__media { height: 210px; margin-bottom: 22px; }
	.contact-perks { gap: 16px; }
	.contact-perk { flex: 1 1 100%; }
	.contact-card { padding: 22px 18px 26px; border-radius: 16px; }
	.contact-card__title { font-size: 20px; }
	.contact-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.contact-info__icon { width: 46px; height: 46px; }
	.contact-info__icon .icon { width: 21px; height: 21px; }
	.contact-social { padding: 22px 18px; }
	.contact-cta {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding: 22px 18px 24px;
	}
	.contact-cta-section { padding-bottom: 48px; }
	.contact-cta__title { font-size: 19px; }
	.btn.contact-cta__btn { width: 100%; }

	:root {
		--gutter:      16px;
		--header-top:  15px;
		--section-y:   51px;
		--head-gap:    20px;
		--eyebrow-gap: 11px;
		--title-gap:   15px;
		--block-gap:   13px;
	}

	.hero__title { font-size: 31px; }
	.hero__lead { font-size: 15px; }
	.hero__actions .btn { flex: 1 1 auto; }
	.hero__media { height: 230px; }

	.section__title { font-size: 25px; }

	.stats { margin-top: -38px; }
	.stats__bar { grid-template-columns: 1fr; row-gap: 0; }
	.stat { border-left: 0 !important; padding: 12px 16px; }
	.stat:not(:first-child) { border-top: 1px solid var(--border); }

	.service-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.service-card { padding: 20px 12px 22px; }
	.service-card__icon { width: 78px; height: 78px; margin-bottom: 14px; }

	.compare-grid { grid-template-columns: 1fr; gap: 20px; }
	.package-grid { grid-template-columns: 1fr; gap: 18px; }
	.review-carousel { --per: 1; --gap: 16px; }

	.cta__title { font-size: 23px; }
	.cta__text br { display: none; }
	img.cta__pet { width: 62%; }

	.footer-grid { grid-template-columns: 1fr; }
	.footer-col + .footer-col { padding-top: 24px; border-top: 1px solid #efe4d5; }
	/* Tek sütunda harita tüm genişliği alır; daha yatay bir oran daha dengeli. */
	.footer-map { max-width: none; }
	.footer-map--embed { aspect-ratio: 16 / 10; }
	.footer-bottom { flex-direction: column; text-align: center; gap: 10px; }
	.footer-bottom__paw { display: none; }

	/* Mobil logo yüklüyse dar ekranda normal logonun yerine geçer. */
	.brand--has-mobile > .custom-logo-link,
	.brand--has-mobile .brand__fallback { display: none; }
	.brand--has-mobile .brand__mobile { display: inline-flex; }

	/* Mobil logo yüksekliği: kırılım altında görünen logo hangisiyse (ayrı
	   mobil logo ya da normal logo) yüksekliği "Mobil logo yüksekliği"
	   slider'ından gelir. Masaüstü kuralıyla aynı özgüllükte ama hem media
	   query içinde hem kaynakta sonra olduğu için onu ezer. */
	.site-header .brand img,
	.site-header .brand__mobile img { max-height: var(--mobile-logo-h, 38px); width: auto; }

	.post-list { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 0; }
	/* Mobilde tek sütun: yan yana hizalanacak kart yok, kart içeriği kadar
	   yükselsin — boşuna dikey alan harcanmasın. */
	.post-card__title,
	.post-card__excerpt { min-height: 0; }
	/* Tek sütunda kart tam genişlikte; dar ızgara için düşürülen taban
	   ölçüleri burada rahat okunur değerlere geri açılır. */
	.post-card__excerpt { margin-bottom: 22px; font-size: 15px; }
	.post-card__date,
	.post-card__more { font-size: 13.5px; }
	.post-card__date-ic { width: 30px; height: 30px; }
	.post-card__date-ic .icon { width: 16px; height: 16px; }
	.post-card__badge { font-size: 12.5px; }
	.legal__content { font-size: 16px; line-height: 1.8; }
	.legal__content h2 { font-size: 18.5px; }
	.legal__contact { padding: 18px 16px; }
	.legal-note { padding: 14px 15px; }
	.breadcrumb { margin-bottom: 12px; }
	.breadcrumb__list { font-size: 12.5px; }
	.breadcrumb__sep { margin: 0 6px; }
	.post-single .entry-content { font-size: 16px; }
	.post-single .entry-content h2 { font-size: 21px; }
	.post-nav { grid-template-columns: 1fr; }
	.post-nav__item--next { text-align: left; }
	.post-single__foot .btn { width: 100%; }
	.comment-respond { padding: 18px 15px; }
	.comment-form input[type="submit"] { width: 100%; }
	.page-hero__title { font-size: 28px; }
}

/* --- Hareket azaltma tercihi --- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* === Elementor ile kurulan anasayfa === */
/* Bölümler Elementor container'ları içinde render olur. Elementor'un kendi
   container/widget boşlukları 85px'lik dikey ritmin üzerine binmesin diye
   bu sayfada sıfırlanır. Kapsam yalnızca ön sayfa (.home). */
body.home.elementor-page .e-con,
body.home.elementor-page .e-con-inner,
body.home.elementor-page .elementor-widget-wrap,
body.home.elementor-page .elementor-widget-container {
	padding: 0;
	margin: 0;
	max-width: none;
	gap: 0;
	--gap: 0px;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}

/* Elementor container varsayilan olarak flex; bu sayfada tek cocuklu oldugu
   icin flex hesabi mobilde bolum yuksekligini kilitleyip icerigi tasiriyordu.
   Bolumler kendi yuksekligini belirlesin diye duz bloga cevriliyor. */
body.home.elementor-page .e-con {
	display: block;
	height: auto;
	min-height: 0;
}

body.home.elementor-page .elementor-widget:not(:last-child) {
	margin-block-end: 0;
	margin-bottom: 0;
}

/* Widget sarmalayıcıları düzeni etkilemesin (bölümler kendi genişliğini yönetir). */
body.home.elementor-page .elementor-element {
	width: auto;
}

/* === Elementor ile kurulan İletişim sayfası === */
/* Bölümler kendi boşluklarını yönetiyor; Elementor container/widget
   boşlukları üzerine binmesin diye bu sayfada sıfırlanır. */
body.patik-contact-page.elementor-page .e-con,
body.patik-contact-page.elementor-page .e-con-inner,
body.patik-contact-page.elementor-page .elementor-widget-wrap,
body.patik-contact-page.elementor-page .elementor-widget-container {
	padding: 0;
	margin: 0;
	max-width: none;
	gap: 0;
	--gap: 0px;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}

/* Container'lar düz blok olsun — tek çocuklu flex hesabı bölüm
   yüksekliğini kilitliyordu. Kendi ızgarasını kuran satır hariç. */
body.patik-contact-page.elementor-page .e-con:not(.contact-el-row):not(:has(> .elementor-widget-pati_contact_form)) {
	display: block;
	height: auto;
	min-height: 0;
}

body.patik-contact-page.elementor-page .elementor-widget:not(:last-child) {
	margin-block-end: 0;
	margin-bottom: 0;
}

body.patik-contact-page.elementor-page .elementor-element { width: auto; }

/* Form ve iletişim bilgileri ayrı widget; ikisi bu satırda yan yana durur.
   Ölçüler kodlu şablondaki .contact-main + .container + .contact-grid
   zincirinin aynısı: 46px üst boşluk, 1200px kapsayıcı, 42px sütun arası. */
/* Satır, form widget'ını barındıran container'dır — Elementor kimliğine
   ya da elle girilmiş bir sınıfa bağlı kalmasın diye :has() ile bulunur. */
body.patik-contact-page.elementor-page .e-con.contact-el-row,
body.patik-contact-page.elementor-page .e-con:has(> .elementor-widget-pati_contact_form) {
	display: grid;
	grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr);
	gap: 42px;
	align-items: start;
	width: min(100% - (var(--gutter) * 2), var(--container));
	margin: 46px auto 0;
}

/* Tabletten itibaren tek sütun. Aynı özgüllükteki temel kuraldan SONRA
   gelmeli; aksi hâlde kaynak sırası yüzünden geçersiz kalır. */
@media (max-width: 1024px) {
	body.patik-contact-page.elementor-page .e-con.contact-el-row,
	body.patik-contact-page.elementor-page .e-con:has(> .elementor-widget-pati_contact_form) {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}
}

/* Paket kartındaki opsiyonel buton (varsayılanda kapalı). */
.package__btn {
	align-self: flex-start;
	margin-bottom: 16px;
}
