/* ============================================================
 * Geylani Turizm - Site CSS (MİNİMAL, TEMA-AWARE)
 *
 * Felsefe:
 *   - Renkler tema palette'inden gelir: var(--theme-palette-color-N)
 *   - Tipografi tema'dan: font-family: inherit
 *   - Sadece YAPISAL stil yazılır (layout, grid, animasyon, spacing)
 *   - Hardcoded hex YOK (tek istisna: WhatsApp brand yeşili - global brand kuralı)
 *
 * Palette referansı - BLOCKSY'NİN GERÇEK KONVANSİYONU:
 *   color-1: accent / primary        (link, buton)
 *   color-2: accent hover / kontrast
 *   color-3: koyu başlık rengi
 *   color-4: gövde metni
 *   color-5: açık zemin
 *   color-6: daha açık zemin
 *   color-7: en açık zemin
 *   color-8: beyaz / taban
 *
 * DİKKAT: Bu dosya kaynak projeden fork'landığı için eskiden 6/7/8'i
 * heading/muted/border sanıyordu. Kaynak proje Blocksy'nin slotlarını kendi
 * anlamına eğmişti; Geylani ise Blocksy konvansiyonuna uyuyor. Sonuç:
 * --gk-c-heading beyaza yakın renge (#F7F3EC) bağlıydı. Blocksy'yi eğmek
 * yerine bu eşleme düzeltildi (2026-07-19). Slot anlamını DEĞİŞTİRME,
 * eşlemeyi düzelt.
 * ============================================================ */

/* Geylani Turizm renk sistemi
 *
 * Sıralama: 1) Blocksy palette var(--theme-palette-color-N) → 2) fallback sabit
 * Kullanıcı Blocksy customizer'da Color N ayarlarsa ilgili gk-c-* otomatik takip eder.
 * Fallback'ler customizer'daki değerlerle AYNI olmalı; test-palette.php bunu kilitler.
 */
:root {
	--gk-c-primary:     var(--theme-palette-color-1, #A9843C);
	--gk-c-accent:      var(--theme-palette-color-2, #8A6A30);
	/* Kontrast yeşili palet SLOTU değil, ayrı token.
	 * Sebep: kaynak projeden klonlanan Elementor widget'ları slot 2'yi ALTIN
	 * vurgu olarak kullanıyor. Slot 2'ye yeşil konunca altın olması gereken
	 * her yer yeşile döndü. Yeşil kaybolmadı; bilinçli kullanılan yerlerde
	 * (odak halkası, ikincil vurgu) bu token üzerinden çıkar. */
	--gk-c-contrast:    #123027;
	--gk-c-bg-bold:     var(--theme-palette-color-3, #123027);
	--gk-c-text:        var(--theme-palette-color-4, #22261E);
	--gk-c-bg-subtle:   var(--theme-palette-color-5, #EDE6D6);
	--gk-c-heading:     var(--theme-palette-color-3, #123027);
	/* muted ve border'in Blocksy'de karsiligi yok - turetilir */
	--gk-c-muted:       #6E6B5C;
	--gk-c-border:      color-mix(in srgb, var(--gk-c-primary) 16%, transparent);
	--gk-c-border-soft: color-mix(in srgb, var(--gk-c-primary) 8%, transparent);
	--gk-c-paper:       var(--theme-content-bg, #FFFDF7);
	--gk-content-bg:    var(--theme-content-bg, #ffffff);
	--gk-container-max: 1280px;
	--gk-radius:        var(--theme-border-radius, 8px);

	/* Koyu yüzey üstünde yazı / aksesuar tokenları - hep beyaz/yarısaydam beyaz */
	--gk-c-on-dark:        #ffffff;
	--gk-c-on-dark-strong: rgba(255, 255, 255, .92);
	--gk-c-on-dark-mid:    rgba(255, 255, 255, .75);
	--gk-c-on-dark-soft:   rgba(255, 255, 255, .55);
	--gk-c-on-dark-line:   rgba(255, 255, 255, .10);
	--gk-c-on-dark-tint:   rgba(255, 255, 255, .22);
	/* Tehlike / exclude X */
	--gk-c-danger:         #b85a3e;
	/* WhatsApp brand (global kural - palette dışı) */
	--gk-c-wa:             #1F7A4D;
	--gk-c-wa-hover:       #145a37;
	/* Shadow tokens */
	--gk-shadow-card:      0 4px 14px -6px color-mix(in srgb, var(--gk-c-primary) 18%, transparent);
	--gk-shadow-card-hover: 0 12px 30px -16px color-mix(in srgb, var(--gk-c-primary) 30%, transparent);
	--gk-shadow-panel:     0 8px 24px -12px color-mix(in srgb, var(--gk-c-primary) 20%, transparent);
}

/* Tema editöründe veya kullanıcı override'ında body'ye dark verirse - koru */
body.single-tur {
	background: var(--gk-c-paper) !important;
	color: var(--gk-c-text);
}

/* ============================================================
 * 1) Container & Utility
 * ============================================================ */
.gk-container {
	max-width: var(--gk-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
	box-sizing: border-box;
}
@media (max-width: 768px) {
	.gk-container { padding-left: 16px; padding-right: 16px; }
}

.gk-grid-1, .gk-grid-2, .gk-grid-3, .gk-grid-4, .gk-grid-5, .gk-grid-6 {
	display: grid;
	gap: 24px;
}
.gk-grid-1 { grid-template-columns: 1fr; }
.gk-grid-2 { grid-template-columns: repeat(2, 1fr); }
.gk-grid-3 { grid-template-columns: repeat(3, 1fr); }
.gk-grid-4 { grid-template-columns: repeat(4, 1fr); }
.gk-grid-5 { grid-template-columns: repeat(5, 1fr); }
.gk-grid-6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1024px) {
	.gk-grid-3, .gk-grid-4, .gk-grid-5, .gk-grid-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.gk-grid-2, .gk-grid-3, .gk-grid-4, .gk-grid-5, .gk-grid-6 { grid-template-columns: 1fr; }
}

/* ============================================================
 * 2) Tur kartı (TEK TİP - tema'ya uyumlu)
 *
 * Tema kartlarıyla aynı görüntü için Blocksy'nin native card stilini
 * kullanır (border, radius, shadow tema'dan).
 * ============================================================ */
.gk-tour-card {
	background: var(--theme-content-bg, #fff);
	border: 1px solid var(--gk-c-border-soft);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	box-shadow: 0 2px 10px -6px rgba(22, 22, 22, .12);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.gk-tour-card:hover {
	transform: translateY(-6px);
	border-color: var(--gk-c-primary);
	box-shadow: 0 18px 40px -20px rgba(22, 22, 22, .35);
}
/* Geçmiş tarihli turlar - Settings → Tur Arşivi → Geçmiş turları göster açıksa */
.gk-tour-card--past {
	opacity: .55;
	filter: saturate(.7);
}
.gk-tour-card--past:hover { opacity: .85; }
.gk-tour-card--past::after {
	content: "Geçmiş";
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--gk-c-muted);
	color: var(--gk-c-on-dark);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 3px;
	z-index: 2;
}

/* ─── V Final hibrit (V7 + V8 + V9): overlay title + spec tablo + 2 CTA ─── */
.gk-tour-card-media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	display: block;
	background: var(--gk-c-border-soft);
}
.gk-tour-card-media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
	transition: transform .6s ease;
}
.gk-tour-card:hover .gk-tour-card-media img { transform: scale(1.04); }

/* Variant A - Minimal Premium: overlay kaldırıldı, body'ye taşındı. Gradient sadece TUR# badge okunabilirliği için üst köşede ince */
.gk-tour-card-media::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 70px;
	background: linear-gradient(to bottom, rgba(10, 20, 18, .35) 0%, transparent 100%);
	z-index: 1;
	pointer-events: none;
}

/* Tier gradyanları KALDIRILDI (revizyon §10.2, kullanıcı kararı 2026-07-19):
   tier farkının tek taşıyıcısı "Altın/Standart/Ekonomik" chip'idir; görsel
   üstüne renk yıkaması gold hiyerarşisini bozuyordu (kartta 4 ayrı gold). */

/* Status ribbon - kullanıcının tarayıcıda manuel ayarladığı değerler */
.gk-status-ribbon {
	position: absolute;
	top: 0;
	right: 0;
	width: 118px;
	height: 118px;
	overflow: hidden;
	z-index: 6;
	pointer-events: none;
}
.gk-status-ribbon-text {
	position: absolute;
	top: 24px;
	right: -36px;
	width: 170px;
	padding: 7px 0;
	text-align: center;
	transform: rotate(45deg);
	transform-origin: center;
	color: #fff;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .30);
	white-space: nowrap;
}
/* SON KOLTUKLAR - kırmızı + breath/pulse + uçları doğal koyulaşıyor */
.gk-status-ribbon[data-status="last_seats"] .gk-status-ribbon-text {
	background:
		linear-gradient(135deg, rgba(0,0,0,.55) 0%, transparent 18%, transparent 82%, rgba(0,0,0,.55) 100%),
		linear-gradient(135deg, #d83030 0%, #b71c1c 100%);
	animation: gk-status-breath 2.4s ease-in-out infinite;
}
@keyframes gk-status-breath {
	0%, 100% {
		box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
		filter: brightness(1);
	}
	50% {
		box-shadow: 0 2px 16px rgba(255, 50, 50, .55), 0 2px 6px rgba(0, 0, 0, .22);
		filter: brightness(1.12) saturate(1.15);
	}
}
@media (prefers-reduced-motion: reduce) {
	.gk-status-ribbon[data-status="last_seats"] .gk-status-ribbon-text {
		animation: none;
	}
}
/* TÜKENDİ - koyu gri sabit + uçları doğal koyulaşıyor */
.gk-status-ribbon[data-status="sold_out"] .gk-status-ribbon-text {
	background:
		linear-gradient(135deg, rgba(0,0,0,.65) 0%, transparent 18%, transparent 82%, rgba(0,0,0,.65) 100%),
		linear-gradient(135deg, #4a4a4a 0%, #1f1f1f 100%);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
}

/* Tükendi state - kart görsel olarak pasif (ama ribbon canlı) */
.gk-tour-card--sold .gk-tour-card-media img {
	filter: grayscale(.70) brightness(.85);
	transition: filter .3s ease;
}
.gk-tour-card--sold .gk-card-chip-tier--corner {
	opacity: .80;
}
.gk-tour-card--sold .gk-tour-card-title {
	opacity: .75;
}
.gk-tour-card--sold .gk-tour-card-title a {
	pointer-events: none;
	cursor: not-allowed;
}
.gk-tour-card--sold .gk-tour-card-media {
	pointer-events: none;
}
.gk-tour-card--sold .gk-cta-wa--waitlist {
	background: rgba(255, 165, 60, .12);
	color: #c9501a;
	border-color: rgba(201, 80, 26, .35);
}
.gk-tour-card--sold .gk-cta-wa--waitlist:hover {
	background: #c9501a;
	color: #fff;
	border-color: #c9501a;
}

/* Tier chip - image üzerinde sol-alt köşe (gradient'in olduğu yer) */
.gk-card-chip-tier--corner {
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: 4px;
	line-height: 1;
	border: none;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.gk-card-chip-tier--corner .gk-card-chip-stars {
	font-size: 13px;
	letter-spacing: 0;
}
/* Tier chip rengi kendi tier'ına göre.
   Ekonomik = Siyah · Standart = Gümüş · Premium = Altın */

/* Ekonomik - Siyah chip */
.gk-tour-card[data-tier~="ekonomik"] .gk-card-chip-tier--corner {
	background: linear-gradient(135deg, #1a1a1a 0%, #2c2c2c 100%);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.gk-tour-card[data-tier~="ekonomik"] .gk-card-chip-tier--corner .gk-card-chip-stars {
	color: #e8b948; /* sıcak altın - siyah üstünde net */
}

/* Standart - Gümüş chip (beyaza yakın metalik) */
.gk-tour-card[data-tier~="standart"] .gk-card-chip-tier--corner {
	background: linear-gradient(135deg, #fafbfc 0%, #ecedf0 50%, #dde0e4 100%);
	color: #1a1f28; /* koyu lacivert - açık gümüş üstünde net okuma */
	border: 1px solid rgba(180, 185, 195, .50);
	box-shadow: 0 2px 8px rgba(40, 50, 60, .25);
}
.gk-tour-card[data-tier~="standart"] .gk-card-chip-tier--corner .gk-card-chip-stars {
	color: #1a1f28;
}

/* Premium - Altın chip (sıcak metalik) */
.gk-tour-card[data-tier~="premium"] .gk-card-chip-tier--corner {
	background: linear-gradient(135deg, #d4a747 0%, #b8862a 50%, #9a6b1c 100%);
	color: #ffffff; /* saf beyaz */
	border: 1px solid rgba(255, 240, 200, .35);
	box-shadow: 0 2px 8px rgba(120, 75, 20, .40);
}
.gk-tour-card[data-tier~="premium"] .gk-card-chip-tier--corner .gk-card-chip-stars {
	color: #ffffff;
}

/* Üst-sağ köşe etiketi (Yürüme Mes., Premium, Erken Rezervasyon) */
.gk-tour-card-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	background: rgba(255, 255, 255, .96);
	color: var(--gk-c-heading);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 4px;
	z-index: 3;
	backdrop-filter: blur(8px);
}
.gk-tour-card-badge.gk-gold {
	background: var(--gk-c-accent);
	color: var(--gk-c-on-dark);
}
.gk-tour-card-badge.gk-bordo {
	background: var(--gk-c-bg-bold);
	color: var(--gk-c-on-dark);
}

/* Variant A - Body: image altı, beyaz arka plan, title + chip */
.gk-tour-card-body {
	padding: 18px 20px 4px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.gk-tour-card-eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gk-c-accent);
	font-weight: 700;
	margin-bottom: -2px;
}
.gk-tour-card-daterange {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gk-c-accent);
	font-weight: 700;
	margin-bottom: -2px;
}
.gk-tour-card-daterange .gk-card-chip-sure {
	letter-spacing: .04em;
	text-transform: none;
}

/* Tier chip standalone - body en üstte, sola hizalı */
.gk-tour-card-body > .gk-card-chip-tier {
	align-self: flex-start;
}
.gk-tour-card-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
	color: var(--gk-c-heading);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	letter-spacing: -.005em;
}
.gk-tour-card-title a {
	color: inherit;
	text-decoration: none;
}
.gk-tour-card-title a:hover {
	color: var(--gk-c-accent);
}

/* Chip grupları - body içinde, light tema, 2 satır (ana + service) */
.gk-tour-card-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.gk-tour-card-chips--main {
	margin-top: 2px;
}
.gk-tour-card-chips--svc {
	margin-top: -2px;
	padding-top: 4px;
	border-top: 1px dashed var(--gk-c-border-soft);
}
.gk-card-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	border-radius: 3px;
	background: var(--gk-c-border-soft);
	color: var(--gk-c-heading);
	border: 1px solid var(--gk-c-border-soft);
	line-height: 1.4;
}
.gk-card-chip-stars {
	color: var(--gk-c-accent);
	font-size: 12px;
	letter-spacing: 0;
	font-weight: 700;
}
.gk-card-chip-tier {
	background: #fff;
	border-color: var(--gk-c-border);
}
.gk-card-chip-sure {
	background: var(--gk-c-border-soft);
	color: var(--gk-c-text);
}
.gk-card-chip-tema {
	background: rgba(180, 140, 80, .12);
	border-color: rgba(180, 140, 80, .25);
	color: var(--gk-c-accent);
}
.gk-card-chip-svc {
	background: rgba(10, 80, 60, .08);
	border-color: rgba(10, 80, 60, .2);
	color: rgba(10, 80, 60, .9);
	padding: 4px 8px;
}
.gk-card-chip-svc svg {
	flex-shrink: 0;
}

/* Spec tablo - Tarih / Süre / Rota / Umre satırları */
.gk-tour-card-specs {
	padding: 14px 20px 4px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.gk-spec-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 9px 0;
	border-bottom: 1px solid var(--gk-c-border-soft);
	font-size: 13px;
}
.gk-spec-row:last-child { border-bottom: none; }
.gk-spec-lbl {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--gk-c-text);
	opacity: .75;
	font-weight: 500;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.gk-spec-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	color: var(--gk-c-accent);
	flex-shrink: 0;
}
.gk-spec-ico svg { display: block; }
.gk-spec-val {
	color: var(--gk-c-heading);
	font-weight: 600;
	text-align: right;
	max-width: 60%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Foot - fiyat + 2 CTA */
.gk-tour-card-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 20px 16px;
	border-top: 1px solid var(--gk-c-border-soft);
	margin-top: auto;
}
.gk-tour-card-price { display: flex; flex-direction: column; line-height: 1; min-width: 0; }
.gk-tour-card-price .gk-from {
	font-size: 9.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .55;
	font-weight: 700;
	margin-bottom: 5px;
}
.gk-tour-card-price .gk-amt {
	font-size: 22px;
	font-weight: 800;
	color: var(--gk-c-primary);
	line-height: 1;
}
.gk-tour-card-price .gk-amt small {
	font-size: 11px;
	font-weight: 500;
	opacity: .6;
	margin-left: 2px;
	color: var(--gk-c-text);
}

/* CTA grup (revizyon §10.3 #2-3): Detay BİRİNCİL (aile koyu tonu + beyaz),
   WhatsApp İKİNCİL (ghost). İki eşit CTA'nın yarışması bilinçli olarak bitirildi.
   Koyu ton --gk-family-dark'tan türer (tek kaynak, sabit hex yok). */
.gk-tour-card-cta {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}
.gk-cta-detail {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	background: var(--gk-family-dark, var(--gk-c-heading));
	color: #fff;
	border: 1.5px solid transparent;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: all .2s;
	letter-spacing: .02em;
}
.gk-cta-detail:hover {
	background: color-mix(in srgb, var(--gk-family-dark, var(--gk-c-heading)) 82%, black);
	color: #fff;
}
.gk-cta-wa {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 12px;
	background: transparent;
	color: var(--gk-c-wa, #1da851);
	border: 1.5px solid currentColor;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	transition: all .2s;
	letter-spacing: .02em;
}
.gk-cta-wa:hover { background: var(--gk-c-wa, #25d366); border-color: transparent; color: #fff; }
.gk-cta-wa svg { width: 14px; height: 14px; }

/* Mobile - fiyat üstte, CTA altta */
@media (max-width: 480px) {
	.gk-tour-card-foot {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.gk-tour-card-cta { width: 100%; }
	.gk-tour-card-cta a { flex: 1; justify-content: center; }
}

/* ============================================================
 * 3) Arşiv (filter chips + grid)
 * ============================================================ */
.gk-tour-archive { padding: 32px 0 64px; }

.gk-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gk-c-border-soft);
}
/* Multi-group filter bar - her grup ayrı satır mantığıyla */
.gk-filter-bar {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gk-c-border-soft);
}
.gk-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.gk-filter-group-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gk-c-muted);
	margin-right: 4px;
	min-width: 56px;
}
@media (max-width: 640px) {
	.gk-filter-group { gap: 6px; }
	.gk-filter-group-label { min-width: 0; width: 100%; margin-bottom: 2px; }
}
.gk-chip {
	background: transparent;
	color: var(--gk-c-text);
	border: 1px solid var(--gk-c-border);
	font-size: 13px;
	font-weight: 600;
	padding: 7px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: all .2s;
}
.gk-chip--link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	background: var(--gk-c-primary);
	color: var(--theme-content-bg, #fff);
	border-color: var(--gk-c-primary);
	font-weight: 800;
}
.gk-chip:hover {
	background: var(--gk-c-primary);
	color: var(--theme-content-bg, #fff);
	border-color: var(--gk-c-primary);
}
.gk-chip--link:hover {
	background: var(--gk-c-heading);
	color: #fff;
	border-color: var(--gk-c-heading);
}
.gk-chip--active {
	background: var(--gk-c-primary);
	color: var(--theme-content-bg, #fff);
	border-color: var(--gk-c-primary);
}
.gk-chip--unavailable {
	opacity: .42;
	cursor: pointer; /* TIKLANABİLİR - empty state göstereriz */
}
.gk-chip--unavailable:hover {
	opacity: .6;
	background: transparent;
	color: var(--gk-c-text);
	border-color: var(--gk-c-border);
}
.gk-chip-count {
	font-weight: 500;
	opacity: .7;
	margin-left: 2px;
	font-size: 11.5px;
}

.gk-empty {
	text-align: center;
	padding: 56px 24px;
	max-width: 620px;
	margin: 32px auto;
	background: linear-gradient(180deg, color-mix(in srgb, var(--gk-c-accent) 4%, transparent), transparent);
	border: 1px solid color-mix(in srgb, var(--gk-c-accent) 15%, transparent);
	border-radius: 12px;
}
.gk-empty--hidden { display: none; }
.gk-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin: 0 auto 18px;
	background: color-mix(in srgb, var(--gk-c-accent) 10%, transparent);
	color: var(--gk-c-accent);
	border-radius: 50%;
}
.gk-empty-title {
	font-size: 19px;
	font-weight: 600;
	color: var(--gk-c-heading);
	margin: 0 0 8px;
	letter-spacing: -.005em;
}
.gk-empty-sub {
	font-size: 14px;
	color: var(--gk-c-text);
	margin: 0 0 18px;
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.55;
}
.gk-empty-suggest {
	font-size: 13.5px;
	color: var(--gk-c-text);
	margin: 0 0 22px;
	padding: 12px 18px;
	background: color-mix(in srgb, var(--gk-c-accent) 6%, transparent);
	border-radius: 6px;
	display: inline-block;
}
.gk-empty-suggest:empty { display: none; }
.gk-empty-cta {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}
.gk-empty-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	border: 1.5px solid var(--gk-c-border);
	border-radius: 6px;
	background: #fff;
	color: var(--gk-c-heading);
	cursor: pointer;
	transition: transform .15s ease, border-color .15s ease;
	font-family: inherit;
}
.gk-empty-btn:hover {
	transform: translateY(-1px);
	border-color: var(--gk-c-accent);
}
.gk-empty-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.gk-empty-btn--primary {
	background: var(--gk-c-accent);
	color: #fff;
	border-color: var(--gk-c-accent);
}
.gk-empty-btn--primary:hover {
	background: color-mix(in srgb, var(--gk-c-accent) 85%, #000);
	color: #fff;
	border-color: transparent;
}
.gk-empty-btn--wa {
	background: #25d366;
	color: #fff;
	border-color: #25d366;
}
.gk-empty-btn--wa:hover {
	background: #128c7e;
	color: #fff;
	border-color: #128c7e;
}
.gk-empty-btn--tel:hover {
	color: var(--gk-c-accent);
}
@media (max-width: 520px) {
	.gk-empty { padding: 40px 18px; margin: 20px 12px; }
	.gk-empty-title { font-size: 17px; }
	.gk-empty-cta { flex-direction: column; }
	.gk-empty-btn { justify-content: center; }
}

/* ============================================================
 * 4) Featured tours section
 * (tema kartlarıyla aynı görüntü, sadece grid wrapper)
 * ============================================================ */
.gk-featured-tours { padding: 56px 0; }
.gk-section-head { margin-bottom: 36px; }
.gk-section-head.gk-center {
	text-align: center;
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}
.gk-section-head .eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--gk-c-accent);
	margin-bottom: 10px;
}
.gk-section-head h2 {
	font-size: clamp(24px, 3vw, 36px);
	color: var(--gk-c-heading);
	margin: 0 0 12px;
}
.gk-section-head .gk-serif-em {
	font-style: italic;
	color: var(--gk-c-accent);
	font-weight: 400;
}
.gk-section-head .lead {
	font-size: 16px;
	opacity: .75;
	color: var(--gk-c-text);
}

/* ============================================================
 * 5) Tur Detay - Hero + Layout
 * ============================================================ */
.gk-tour-single { background: var(--theme-content-bg, #fff); }

.gk-detail-hero {
	position: relative;
	min-height: 480px;
	height: 60vh;
	max-height: 680px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.gk-detail-hero img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.gk-detail-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.70) 100%); /* hero darken - okunabilirlik için %70 */
	z-index: 1;
}
.gk-detail-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 48px 0;
	color: var(--gk-c-on-dark);
}
.gk-detail-hero-content h1 {
	color: var(--gk-c-on-dark);
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.1;
	margin: 12px 0 18px;
	max-width: 820px;
}
.gk-breadcrumb {
	font-size: 13px;
	color: var(--gk-c-on-dark-mid);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}
.gk-breadcrumb a { color: inherit; text-decoration: none; }
.gk-breadcrumb a:hover { color: var(--gk-c-on-dark); }
.gk-breadcrumb .sep { opacity: .5; }
.gk-hero-eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gk-c-on-dark-strong);
	margin-bottom: 8px;
}
.gk-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	font-size: 14px;
	color: var(--gk-c-on-dark-strong);
}
.gk-hero-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.gk-hero-meta svg { width: 16px; height: 16px; opacity: .8; }

/* Hero chip blokları - kart paritesi (tier + tema, svc ayrı satır) */
.gk-hero-chips {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 16px 0 4px;
}
.gk-hero-chips-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.gk-hero-chips .gk-card-chip {
	background: rgba(255, 255, 255, .94);
	color: var(--gk-c-heading);
	border-color: rgba(255, 255, 255, .55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.gk-hero-chips .gk-card-chip-tier {
	background: rgba(255, 255, 255, .96);
}
.gk-hero-chips .gk-card-chip-tema {
	background: rgba(180, 140, 80, .85);
	color: #fff;
	border-color: rgba(255, 255, 255, .3);
}
.gk-hero-chips .gk-card-chip-svc {
	background: rgba(10, 80, 60, .85);
	color: #fff;
	border-color: rgba(255, 255, 255, .3);
}

@media (max-width: 768px) {
	.gk-detail-hero { min-height: 400px; height: auto; }
	.gk-detail-hero-content { padding: 32px 0; }
}

/* Layout */
.gk-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 48px;
	padding: 48px 0;
	align-items: flex-start;
}
@media (max-width: 1024px) {
	.gk-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* ============================================================
 * Font tutarlılığı - tema'dan miras
 * Bizim element'ler her zaman tema'nın body/heading font'unu kullanır
 * ============================================================ */
.gk-tour-single,
.gk-tour-single *,
.gk-tour-card,
.gk-tour-card *,
.gk-slider,
.gk-slider *,
.gk-info-panel,
.gk-info-panel *,
.gk-filter-chips,
.gk-filter-chips *,
.gk-price-matrix,
.gk-price-matrix *,
.gk-related-tours,
.gk-related-tours *,
.gk-featured-tours,
.gk-featured-tours *,
.gk-elementor-content,
.gk-elementor-content * {
	font-family: inherit;
}

/* Ana içerik kapsayıcı */
.gk-detail-main {
	font-size: 16px;
	line-height: 1.75;
	color: var(--gk-c-text);
	min-width: 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* === Mock'taki "Genel Bakış" yapısı (detail-block) === */
.gk-detail-block { margin-bottom: 48px; }
.gk-detail-block:last-of-type { margin-bottom: 0; }
.gk-detail-block .gk-eyebrow {
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--gk-c-primary);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}
.gk-detail-block .gk-eyebrow::before {
	content: "";
	width: 24px;
	height: 1px;
	background: var(--gk-c-primary);
	display: inline-block;
}
.gk-detail-block .gk-intro-h2 {
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.15;
	margin: 0 0 18px;
	color: var(--gk-c-heading);
}
.gk-detail-block .gk-em {
	font-style: italic;
	color: var(--gk-c-primary);
	font-weight: 400;
}
.gk-detail-block .gk-arabic {
	font-family: 'Amiri', 'Traditional Arabic', 'Scheherazade New', serif;
	font-size: 22px;
	color: var(--gk-c-bg-bold);
	margin: 0 0 18px;
	font-weight: 400;
}
.gk-detail-block .gk-lead-prose {
	font-size: 17px;
	line-height: 1.75;
	color: var(--gk-c-text);
	margin: 0;
}
.gk-detail-block .gk-lead-prose::first-letter {
	font-size: 62px;
	float: left;
	line-height: .85;
	padding: 6px 12px 0 0;
	color: var(--gk-c-primary);
	font-weight: 700;
}
.gk-content-empty {
	color: var(--gk-c-muted);
	font-style: italic;
}

/* === Program Timeline (gün-gün rota) === */
.gk-timeline {
	margin-top: 18px;
	border-top: 1px solid var(--gk-c-border-soft);
}
.gk-day-row {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 28px;
	padding: 22px 0;
	border-bottom: 1px solid var(--gk-c-border-soft);
	align-items: start;
}
.gk-day-row:last-child { border-bottom: none; }
.gk-day-num {
	font-size: 36px;
	font-weight: 600;
	color: var(--gk-c-primary);
	line-height: 1;
	letter-spacing: -.01em;
}
.gk-day-date {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--gk-c-muted);
	margin-top: 6px;
	font-weight: 700;
}
.gk-day-info { min-width: 0; }
.gk-day-city {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gk-c-primary);
	margin-bottom: 6px;
	font-weight: 700;
}
.gk-day-title {
	font-size: 20px;
	font-weight: 600;
	color: var(--gk-c-heading);
	margin: 0 0 6px;
	line-height: 1.3;
}
.gk-day-desc {
	color: var(--gk-c-text);
	opacity: .8;
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}
@media (max-width: 560px) {
	.gk-day-row { grid-template-columns: 70px 1fr; gap: 16px; }
	.gk-day-num { font-size: 28px; }
}

/* === Includes / Excludes (yes-no kartlar) === */
.gk-includes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid var(--gk-c-border);
	border-radius: var(--gk-radius);
	overflow: hidden;
	margin-top: 16px;
}
@media (max-width: 680px) {
	.gk-includes { grid-template-columns: 1fr; }
}
.gk-inc-card { padding: 26px 24px; }
.gk-inc-card--yes {
	background: var(--gk-c-primary);
	color: var(--gk-c-on-dark);
	border-right: 1px solid var(--gk-c-on-dark-line);
}
.gk-inc-card--no { background: var(--gk-c-paper); }
.gk-inc-ovh {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .26em;
	text-transform: uppercase;
	margin-bottom: 6px;
	opacity: .8;
}
.gk-inc-card--no .gk-inc-ovh { color: var(--gk-c-bg-bold); opacity: 1; }
.gk-inc-h3 {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 18px;
	color: inherit;
	line-height: 1.2;
}
.gk-inc-card--no .gk-inc-h3 { color: var(--gk-c-heading); }
.gk-inc-card ul { list-style: none; padding: 0; margin: 0; }
.gk-inc-card li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	padding: 10px 0;
	line-height: 1.55;
	border-bottom: 1px solid var(--gk-c-on-dark-line);
}
.gk-inc-card--no li {
	color: var(--gk-c-text);
	border-bottom-color: var(--gk-c-border-soft);
}
.gk-inc-card li:last-child { border-bottom: none; }
.gk-inc-card--yes li::before {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--gk-c-on-dark-tint) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M13 4L6 11L3 8' stroke='white' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/10px no-repeat;
}
.gk-inc-card--no li::before {
	content: "×";
	flex-shrink: 0;
	width: 16px;
	text-align: center;
	font-size: 20px;
	color: var(--gk-c-danger);
	font-weight: 500;
	line-height: 1;
}
.gk-content-empty {
	color: var(--gk-c-text);
	opacity: .55;
	font-style: italic;
}

/* Sidebar info-panel */
.gk-detail-sidebar { position: sticky; top: 110px; }
@media (max-width: 1024px) { .gk-detail-sidebar { position: static; } }

.gk-info-panel {
	background: var(--theme-content-bg, #fff);
	border: 1px solid var(--gk-c-border);
	border-radius: var(--theme-border-radius, 8px);
	overflow: hidden;
	box-shadow: var(--gk-shadow-panel);
}
.gk-info-panel-head {
	background: var(--gk-c-primary);
	color: var(--gk-c-on-dark);
	padding: 22px 24px 18px;
}
.gk-info-ovh {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	opacity: .7;
	margin-bottom: 8px;
}
.gk-info-amount {
	display: block;
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.01em;
}
.gk-info-amount small {
	font-size: 13px;
	font-weight: 500;
	opacity: .75;
	margin-left: 3px;
}
.gk-info-sub {
	display: block;
	font-size: 12.5px;
	opacity: .8;
	margin-top: 8px;
	line-height: 1.4;
}
.gk-info-panel-body { padding: 20px 24px 24px; }

.gk-tier-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 18px;
}
.gk-tier {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 13px;
	border-radius: 6px;
	background: var(--gk-c-bg-subtle);
	font-size: 13px;
}
.gk-tier > span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
}
.gk-tier strong { font-size: 16px; font-weight: 700; line-height: 1; }
.gk-tier--best {
	background: var(--gk-c-bg-bold);
	color: var(--gk-c-on-dark);
}
.gk-tier--best strong { color: var(--gk-c-accent); }
.gk-tier-badge {
	display: inline-flex;
	align-items: center;
	font-size: 9px;
	background: var(--gk-c-accent);
	color: var(--gk-c-on-dark);
	padding: 4px 7px;
	border-radius: 3px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1;
}
/* Çocuk fiyat satırı - diğer odalardan görsel olarak ayrı */
.gk-tier--child {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px dashed var(--gk-c-border-soft);
	background: transparent;
	color: var(--gk-c-text);
	opacity: .88;
}
.gk-tier--child > span {
	font-size: 12.5px;
	font-style: italic;
}
.gk-tier--child strong {
	font-size: 14px;
	color: var(--gk-c-text);
}

.gk-info-flights {
	font-size: 13px;
	line-height: 1.6;
	padding: 14px 0 0;
	border-top: 1px dashed var(--gk-c-border);
	margin-top: 18px;
	color: var(--gk-c-text);
}
.gk-info-helper {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px dashed var(--gk-c-border);
	text-align: center;
	font-size: 13px;
	color: var(--gk-c-muted);
	line-height: 1.5;
}
.gk-info-helper strong {
	display: block;
	color: var(--gk-c-heading);
	font-size: 16px;
	font-weight: 700;
	margin-top: 6px;
	letter-spacing: -.005em;
}
.gk-info-flights div + div { margin-top: 6px; }
.gk-info-flights strong { color: var(--gk-c-primary); font-weight: 700; }

.gk-cta-stack {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.gk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 18px;
	border-radius: var(--theme-border-radius, 6px);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: opacity .2s, transform .2s;
	border: 1px solid transparent;
	cursor: pointer;
}
.gk-btn:hover { transform: translateY(-1px); }
.gk-btn svg { width: 17px; height: 17px; }
.gk-btn-wa {
	background: var(--gk-c-wa); /* WhatsApp brand - global kural */
	color: var(--gk-c-on-dark);
}
.gk-btn-wa:hover { background: var(--gk-c-wa-hover); color: var(--gk-c-on-dark); }
.gk-btn-tel {
	background: var(--gk-c-primary);
	color: var(--gk-c-on-dark);
}
.gk-btn-tel:hover { opacity: .9; color: var(--gk-c-on-dark); }
/* Detay sayfasında aksiyon aile KOYU tonundan gelir (revizyon §10.4;
   --gk-family-dark tanımı kart/aile bölümünde, accent'ten türetilir). */
.gk-tour-single .gk-btn-tel {
	background: var(--gk-family-dark, var(--gk-c-primary));
	color: #fff;
}

/* ============================================================
 * 6) Fiyat Matrisi Tablosu
 * ============================================================ */
.gk-price-matrix-section {
	padding: 48px 0 64px;
	background: var(--gk-c-bg-subtle);
	color: var(--gk-c-text);
}
.gk-price-matrix-section * { color: inherit; }
.gk-matrix-title {
	text-align: center;
	margin: 0 0 28px;
	font-size: clamp(22px, 2.6vw, 30px);
	color: var(--gk-c-heading);
}
.gk-matrix-wrap {
	overflow-x: auto;
	border-radius: var(--theme-border-radius, 8px);
	background: var(--theme-content-bg, #fff);
	border: 1px solid var(--gk-c-border-soft);
}
.gk-price-matrix {
	width: 100%;
	border-collapse: collapse;
	min-width: 560px;
}
.gk-price-matrix th,
.gk-price-matrix td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--gk-c-border-soft);
	border-right: 1px solid var(--gk-c-border-soft);
	text-align: center;
	font-size: 14px;
}
.gk-price-matrix tbody tr:last-child th,
.gk-price-matrix tbody tr:last-child td { border-bottom: none; }
.gk-price-matrix td:last-child,
.gk-price-matrix th:last-child { border-right: none; }
.gk-price-matrix thead th {
	background: var(--gk-c-bg-bold);
	color: var(--gk-c-on-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.gk-price-matrix tbody th {
	background: var(--gk-c-bg-subtle);
	text-align: left;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.gk-price-matrix tbody td {
	font-weight: 700;
	color: var(--gk-c-heading);
	font-size: 17px;
}
.gk-matrix-empty { opacity: .35; font-weight: 400; }

/* ============================================================
 * 7) Related Tours
 * ============================================================ */
.gk-related-tours { padding: 48px 0 64px; }
.gk-related-title {
	text-align: center;
	margin: 0 0 28px;
	font-size: clamp(22px, 2.6vw, 30px);
	color: var(--gk-c-heading);
}

/* Elementor full-width content - "Benzer Paketler"in altında */
.gk-elementor-content { padding: 32px 0 64px; }
.gk-elementor-content > .elementor,
.gk-elementor-content > * { display: block; }

/* ============================================================
 * 8) Slider (Carousel)
 * ============================================================ */
.gk-tour-list--carousel .gk-slider {
	position: relative;
	padding: 0 0 40px;
}
.gk-slider-viewport { overflow: hidden; width: 100%; }
.gk-slider-track {
	display: flex;
	gap: 24px;
	transition: transform .5s cubic-bezier(.2,.8,.2,1);
	will-change: transform;
	cursor: grab;
}
.gk-slider-track:active { cursor: grabbing; }
.gk-slider-track > .gk-slide,
.gk-slider-track > .gk-tour-card {
	flex: 0 0 auto;
	width: calc((100% - (var(--gk-slides-per-view, 3) - 1) * 24px) / var(--gk-slides-per-view, 3));
	min-width: 0;
}
.gk-slider-prev,
.gk-slider-next {
	position: absolute;
	top: 38%;
	transform: translateY(-50%);
	background: var(--theme-content-bg, #fff);
	border: 1px solid var(--gk-c-border);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0,0,0,.10);
	transition: all .2s;
	z-index: 5;
	color: var(--gk-c-text);
}
.gk-slider-prev { left: -18px; }
.gk-slider-next { right: -18px; }
.gk-slider-prev:hover,
.gk-slider-next:hover {
	background: var(--gk-c-primary);
	border-color: var(--gk-c-primary);
	color: var(--gk-c-on-dark);
}
.gk-slider-prev:disabled,
.gk-slider-next:disabled { opacity: .35; cursor: not-allowed; }
.gk-slider-prev svg,
.gk-slider-next svg { width: 16px; height: 16px; }
@media (max-width: 768px) {
	.gk-slider-prev { left: 4px; }
	.gk-slider-next { right: 4px; }
}
.gk-slider-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 20px;
}
.gk-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gk-c-border);
	border: none;
	padding: 0;
	cursor: pointer;
	transition: all .2s;
}
.gk-dot:hover { background: var(--gk-c-primary); }
.gk-dot--active {
	background: var(--gk-c-primary);
	width: 20px;
	border-radius: 999px;
}

/* ============================================================
 * Gallery (tur detay alt)
 * ============================================================ */
.gk-gallery-section {
	padding: 40px 0 0;
	background: var(--gk-c-bg-subtle);
}
.gk-gallery {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-rows: 140px;
	gap: 4px;
	border-radius: var(--gk-radius);
	overflow: hidden;
}
.gk-gallery-item {
	display: block;
	overflow: hidden;
	background: var(--gk-c-border-soft);
	transition: opacity .25s ease;
}
.gk-gallery-item:hover { opacity: .9; }
.gk-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* İlk öğe büyük, kalanlar küçük (mock layout) */
.gk-gallery[data-count="1"] .gk-gallery-item--1 { grid-column: 1 / -1; grid-row: 1 / 3; }
.gk-gallery[data-count="2"] .gk-gallery-item--1 { grid-column: 1 / 4; grid-row: 1 / 3; }
.gk-gallery[data-count="2"] .gk-gallery-item--2 { grid-column: 4 / 7; grid-row: 1 / 3; }
.gk-gallery .gk-gallery-item--1 { grid-column: 1 / 4; grid-row: 1 / 3; }
.gk-gallery .gk-gallery-item--2 { grid-column: 4 / 6; }
.gk-gallery .gk-gallery-item--3 { grid-column: 6 / 7; }
.gk-gallery .gk-gallery-item--4 { grid-column: 4 / 5; }
.gk-gallery .gk-gallery-item--5 { grid-column: 5 / 6; }
.gk-gallery .gk-gallery-item--6 { grid-column: 6 / 7; }
@media (max-width: 768px) {
	.gk-gallery {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 120px;
	}
	.gk-gallery .gk-gallery-item--1,
	.gk-gallery .gk-gallery-item--2,
	.gk-gallery .gk-gallery-item--3,
	.gk-gallery .gk-gallery-item--4,
	.gk-gallery .gk-gallery-item--5,
	.gk-gallery .gk-gallery-item--6 {
		grid-column: auto;
		grid-row: auto;
	}
}

/* ============================================================
 * CTA Band ([gk_cta_band] shortcode)
 * ============================================================ */
.gk-cta-band {
	background: var(--gk-c-bg-subtle);
	padding: 56px 0;
	border-top: 1px solid var(--gk-c-border-soft);
	border-bottom: 1px solid var(--gk-c-border-soft);
}
.gk-cta-band-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	align-items: center;
}
.gk-cta-band-text h2 {
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.15;
	margin: 0 0 10px;
	color: var(--gk-c-heading);
}
.gk-cta-band-text p {
	color: var(--gk-c-text);
	opacity: .72;
	font-size: 15px;
	max-width: 520px;
	margin: 0;
}
.gk-cta-band-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.gk-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}
.gk-btn-lg { padding: 14px 28px; font-size: 15px; }
.gk-btn-wa {
	background: var(--gk-c-wa);
	color: var(--gk-c-on-dark);
}
.gk-btn-wa:hover { background: var(--gk-c-wa-hover); transform: translateY(-1px); }
.gk-btn-tel {
	background: var(--gk-c-bg-bold);
	color: var(--gk-c-on-dark);
}
.gk-btn-tel:hover {
	background: var(--gk-c-primary);
	color: var(--gk-c-bg-bold);
	transform: translateY(-1px);
}
@media (max-width: 768px) {
	.gk-cta-band-grid { grid-template-columns: 1fr; text-align: center; }
	.gk-cta-band-actions { justify-content: center; }
}

/* ============================================================
 * color-mix() fallback (eski Safari 16-, Firefox 112-)
 * Tarayıcı color-mix desteklemiyorsa solid alternatives.
 * ============================================================ */
@supports not (color: color-mix(in srgb, red, blue)) {
	:root {
		/* DIKKAT: burasi eskiden --theme-palette-color-8'e baglaniyordu.
		 * Blocksy konvansiyonunda slot 8 BEYAZ tabandir; kenarlik beyaza
		 * baglaninca color-mix desteklemeyen tarayicilarda kenarliklar
		 * gorunmez oluyordu. Ana :root blogundaki ayni hata 2026-07-19'da
		 * duzeltildi, bu yedek yolda kalmisti. Sabit deger kullanilir. */
		--gk-c-border:      rgba(169, 132, 60, .18);
		--gk-c-border-soft: rgba(169, 132, 60, .10);
		--gk-shadow-card:       0 4px 14px -6px rgba(22, 22, 22, .18);
		--gk-shadow-card-hover: 0 12px 30px -16px rgba(22, 22, 22, .30);
		--gk-shadow-panel:      0 8px 24px -12px rgba(22, 22, 22, .20);
	}
}

/* ============================================================
 * Google Reviews - [gk_google_reviews] slider
 * ============================================================ */
.gk-google-reviews {
	padding: 56px 0;
	background: var(--gk-c-bg-subtle);
}
.gk-google-reviews-head {
	text-align: center;
	margin-bottom: 32px;
}
.gk-google-reviews-title {
	font-size: clamp(22px, 2.5vw, 32px);
	line-height: 1.2;
	margin: 6px 0 14px;
	color: var(--gk-c-heading);
}
.gk-google-reviews-summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--gk-c-text);
}
.gk-google-reviews-summary strong {
	font-size: 18px;
	color: var(--gk-c-heading);
}
.gk-google-reviews-summary small {
	color: var(--gk-c-text);
	opacity: .7;
}
.gk-stars {
	color: #f59e0b;
	font-size: 16px;
	letter-spacing: 1px;
	font-family: serif; /* better star rendering */
}

.gk-review-card {
	background: var(--theme-content-bg, #fff);
	border: 1px solid var(--gk-c-border-soft);
	border-radius: var(--gk-radius);
	padding: 22px 22px 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.gk-review-card:hover {
	border-color: var(--gk-c-border);
	box-shadow: var(--gk-shadow-card);
	transform: translateY(-2px);
}
.gk-review-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
}
.gk-review-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
	background: var(--gk-c-border-soft);
}
.gk-review-avatar--placeholder {
	display: grid;
	place-items: center;
	color: var(--gk-c-primary);
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
}
.gk-review-meta { min-width: 0; flex: 1; }
.gk-review-author {
	font-weight: 700;
	font-size: 14px;
	color: var(--gk-c-heading);
	line-height: 1.2;
}
.gk-review-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 3px;
}
.gk-review-rating .gk-stars { font-size: 13px; }
.gk-review-rating small {
	font-size: 11.5px;
	color: var(--gk-c-text);
	opacity: .6;
}
.gk-review-text {
	font-size: 14px;
	line-height: 1.65;
	color: var(--gk-c-text);
	margin: 0;
	font-style: italic;
	position: relative;
	padding-left: 14px;
	border-left: 3px solid var(--gk-c-accent);
}
.gk-review-text::before { content: none; }

/* Hata kutusu (admin'e gözüken) */
.gk-review-error {
	max-width: 820px;
	margin: 24px auto;
	border-radius: 6px;
	font-size: 14px;
}

/* ============================================================
 * Mega Menu - Umre Programları (Content Block stilizasyonu)
 * ============================================================ */
.gk-mega-menu-cols {
	padding: 24px 8px;
	gap: 32px;
}
.gk-mega-menu-cols .wp-block-column {
	min-width: 0;
}
.gk-mega-heading {
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	/* Fallback kaynak projenin altiniydi (#123027) ve slot 3 Geylani'de
	   KOYU basliktir, altin degil - iki hata ust uste duruyordu. */
	color: var(--gk-c-primary);
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid color-mix(in srgb, var(--gk-c-primary) 20%, transparent);
}
.gk-mega-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.gk-mega-list li {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
}
.gk-mega-list li a {
	color: var(--theme-palette-color-2, #8A6A30);
	text-decoration: none;
	display: inline-block;
	transition: color .2s, transform .2s;
	padding: 4px 0;
}
.gk-mega-list li a:hover {
	color: var(--theme-palette-color-3, #123027);
	transform: translateX(3px);
}
.gk-mega-list li a small {
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--theme-palette-color-3, #123027);
	font-weight: 700;
	margin-left: 4px;
	opacity: .7;
}
.gk-mega-list li a strong {
	font-weight: 600;
}

/* Blocksy mega panel container - ekstra padding */
.ct-mega-menu-container .gk-mega-menu-cols {
	padding: 32px 24px;
}

@media (max-width: 768px) {
	.gk-mega-menu-cols {
		gap: 16px;
		padding: 16px 0;
	}
	.gk-mega-heading {
		margin-top: 12px !important;
	}
}

/* ────────────────────────────────────────────────────────────────
   Footer responsive fix - "birbirine girmiş" şikayeti
   Blocksy footer column'larına min-width:0 + gap + responsive collapse
   ──────────────────────────────────────────────────────────────── */
.ct-footer [data-row="middle"],
.ct-footer-middle,
.ct-footer .ct-container [data-section] {
	gap: 32px;
	align-items: start;
}
.ct-footer [data-row="middle"] > *,
.ct-footer .ct-widget-area,
.ct-footer .widget-area {
	min-width: 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.ct-footer .wp-block-group h3,
.ct-footer .wp-block-group h4,
.ct-footer .wp-block-group h5,
.ct-footer .wp-block-group h6 {
	margin-bottom: 14px;
	line-height: 1.35;
}
.ct-footer .wp-block-group p {
	line-height: 1.7;
	margin: 6px 0;
}
.ct-footer .wp-block-group p a,
.ct-footer .wp-block-group a {
	display: inline-block;
	padding: 3px 0;
	text-decoration: none;
}
.ct-footer .wp-block-group a:hover {
	text-decoration: underline;
}

@media (max-width: 1024px) {
	.ct-footer [data-row="middle"] {
		gap: 40px 32px;
	}
}
@media (max-width: 600px) {
	.ct-footer [data-row="middle"] {
		gap: 28px;
	}
	.ct-footer .wp-block-group h5,
	.ct-footer .wp-block-group h6 {
		font-size: 16px;
	}
}

/* ────────────────────────────────────────────────────────────────
   Filter chip "tier" group - Premium altın vurgu
   ──────────────────────────────────────────────────────────────── */
.gk-filter-group[data-gk-filter-group="tier"] .gk-chip[data-gk-filter-value="premium"].gk-chip--active {
	background: var(--gk-c-accent, #b8860b);
	color: #fff;
	border-color: var(--gk-c-accent, #b8860b);
}
.gk-filter-group[data-gk-filter-group="tier"] .gk-chip[data-gk-filter-value="standart"].gk-chip--active {
	background: var(--gk-c-heading, #1f2937);
	color: #fff;
	border-color: var(--gk-c-heading, #1f2937);
}


/* ============================================================
 * Program akışı (madde madde) - single-tur.php
 * Gün etiketi yok, sıralı bullet list. Sapma notu üstte.
 * ============================================================ */
.gk-timeline-note {
	font-size: 12px;
	color: var(--gk-c-muted);
	background: color-mix(in srgb, var(--gk-c-accent) 8%, transparent);
	border-left: 3px solid var(--gk-c-accent);
	padding: 10px 14px;
	border-radius: 4px;
	margin: 0 0 18px;
	font-style: italic;
}
.gk-timeline-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gk-timeline-item {
	display: flex;
	gap: 14px;
	padding: 14px 16px;
	background: color-mix(in srgb, var(--gk-c-primary) 4%, transparent);
	border-radius: 6px;
	border: 1px solid color-mix(in srgb, var(--gk-c-primary) 10%, transparent);
}
.gk-timeline-bullet {
	font-size: 20px;
	line-height: 1;
	color: var(--gk-c-accent);
	font-weight: 900;
	flex-shrink: 0;
	margin-top: 2px;
}
.gk-timeline-info { flex: 1; min-width: 0; }
.gk-timeline-city {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gk-c-accent);
	margin-bottom: 4px;
}
.gk-timeline-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--gk-c-heading);
	margin: 0 0 6px;
	line-height: 1.3;
}
.gk-timeline-desc {
	font-size: 14px;
	line-height: 1.55;
	color: var(--gk-c-text);
	margin: 0;
}

/* Tur No - müşterinin "TUR #1003" diyebilmesi için. Revizyon §10.3 #5:
   medya köşesinden GÖVDEYE indi (köşe kalabalığı; bilgi ama vurgu değil).
   Tarih satırının sağına yaslanır, sessiz durur. */
.gk-tour-card-no {
	margin-left: auto;
	color: var(--gk-c-heading);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	opacity: .5;
	font-family: 'SF Mono', Menlo, monospace;
}

/* Tur No - single-tur hero üstünde küçük chip */
.gk-hero-tour-no {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 4px 10px;
	background: rgba(255,255,255,.92);
	color: var(--gk-c-heading);
	border-radius: 3px;
	font-family: 'SF Mono', Menlo, monospace;
	margin-bottom: 10px;
}

/* ============================================================
 * Otel Bilgileri - single-tur.php (Mekke + Medine 2 kart)
 * ============================================================ */
.gk-hotels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
@media (max-width: 640px) {
	.gk-hotels { grid-template-columns: 1fr; }
}
.gk-hotel-card {
	background: var(--gk-c-paper);
	border: 1px solid color-mix(in srgb, var(--gk-c-primary) 12%, transparent);
	border-radius: 8px;
	padding: 18px 20px;
	box-shadow: var(--gk-shadow-card);
}
.gk-hotel-city {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--gk-c-accent);
	margin-bottom: 6px;
}
.gk-hotel-name {
	font-size: 17px;
	font-weight: 700;
	color: var(--gk-c-heading);
	margin: 0 0 12px;
	line-height: 1.3;
}
.gk-hotel-meta {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.gk-hotel-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--gk-c-border-soft);
	gap: 12px;
}
.gk-hotel-row:last-child { border-bottom: 0; padding-bottom: 0; }
.gk-hotel-row dt {
	font-size: 12px;
	color: var(--gk-c-muted);
	font-weight: 500;
}
.gk-hotel-row dd {
	font-size: 13px;
	font-weight: 600;
	color: var(--gk-c-text);
	margin: 0;
	text-align: right;
}

/* ============================================================
 * Şehir Gezileri - single-tur.php (Mekke + Medine 2 kolon)
 * ============================================================ */
/* Guide badge - base (sidebar varyantı, gerekirse) */
.gk-guide-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 16px 0;
	padding: 14px 16px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--gk-c-accent) 9%, transparent), color-mix(in srgb, var(--gk-c-accent) 3%, transparent));
	border: 1px solid color-mix(in srgb, var(--gk-c-accent) 22%, transparent);
	border-radius: 6px;
}
/* Lead modifier - Program akışı üstünde, full-width uyarı banner'ı */
.gk-guide-badge--lead {
	max-width: 100%;
	width: 100%;
	margin: 0 0 28px;
	padding: 18px 22px;
	background: linear-gradient(135deg,
		color-mix(in srgb, #d68b3a 12%, #fff) 0%,
		color-mix(in srgb, #d68b3a 6%, #fff) 100%);
	border: 1px solid color-mix(in srgb, #d68b3a 25%, transparent);
	border-left: 4px solid #c87528;
	border-radius: 6px;
	box-shadow: 0 2px 8px -4px rgba(150, 95, 30, .15);
}
.gk-guide-badge--lead .gk-guide-badge-ico {
	width: 42px;
	height: 42px;
	background: #c87528;
	flex-shrink: 0;
}
.gk-guide-badge--lead p {
	font-size: 14.5px;
	line-height: 1.6;
	color: #4a3520;
	margin: 0;
}
.gk-guide-badge--lead strong {
	color: #2a1f10;
	font-weight: 700;
}
.gk-guide-badge-ico {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--gk-c-accent);
	color: #fff;
}
.gk-guide-badge p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--gk-c-text);
}
.gk-guide-badge strong {
	color: var(--gk-c-heading);
	font-weight: 700;
}
.gk-visits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
@media (max-width: 640px) {
	.gk-visits-grid { grid-template-columns: 1fr; }
}
.gk-visits-col {
	background: var(--gk-c-paper);
	border: 1px solid color-mix(in srgb, var(--gk-c-primary) 10%, transparent);
	border-radius: 8px;
	padding: 18px 22px;
}
.gk-visits-city {
	font-size: 16px;
	font-weight: 700;
	color: var(--gk-c-heading);
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid color-mix(in srgb, var(--gk-c-accent) 30%, transparent);
}
.gk-visits-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.gk-visits-list li {
	padding: 7px 0 7px 22px;
	font-size: 13.5px;
	color: var(--gk-c-text);
	position: relative;
	border-bottom: 1px solid var(--gk-c-border-soft);
}
.gk-visits-list li:last-child { border-bottom: 0; }
.gk-visits-list li::before {
	content: '✓';
	position: absolute;
	left: 0; top: 7px;
	color: var(--gk-c-accent);
	font-weight: 800;
	font-size: 13px;
}

/* Kart hizmet chip'i */
.gk-card-chip-svc {
	background: color-mix(in srgb, var(--gk-c-primary) 22%, rgba(10,20,18,.65));
	border-color: color-mix(in srgb, var(--gk-c-accent) 50%, transparent);
	color: #fff;
}

/* ============================================================
 * 404 - Branded sayfa (sade, logo + h1 + 4 CTA)
 * ============================================================ */
.gk-404 {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	background: linear-gradient(180deg, var(--gk-c-bg) 0%, color-mix(in srgb, var(--gk-c-accent) 4%, var(--gk-c-bg)) 100%);
}
.gk-404-card {
	max-width: 620px;
	width: 100%;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--gk-c-accent) 18%, transparent);
	border-radius: 12px;
	padding: 56px 44px;
	text-align: center;
	box-shadow: 0 24px 60px -28px rgba(45, 36, 24, .25);
	margin: 0 auto;
}
.gk-404-logo {
	display: inline-block;
	margin-bottom: 28px;
}
.gk-404-logo img {
	display: block;
	width: 180px;
	height: auto;
}
.gk-404-eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .3em;
	color: var(--gk-c-accent);
	padding: 6px 14px;
	border: 1px solid color-mix(in srgb, var(--gk-c-accent) 30%, transparent);
	border-radius: 4px;
	margin-bottom: 22px;
}
.gk-404-title {
	font-size: 26px;
	font-weight: 600;
	color: var(--gk-c-heading);
	margin: 0 0 14px;
	letter-spacing: -.005em;
	line-height: 1.3;
}
.gk-404-lead {
	font-size: 15px;
	color: var(--gk-c-text);
	margin: 0 auto 32px;
	max-width: 460px;
	line-height: 1.6;
}
.gk-404-cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	max-width: 460px;
	margin: 0 auto;
}
.gk-404-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 18px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 6px;
	background: #fff;
	color: var(--gk-c-heading);
	border: 1.5px solid var(--gk-c-border);
	transition: border-color .15s ease, color .15s ease, transform .15s ease;
}
.gk-404-btn:hover {
	border-color: var(--gk-c-accent);
	color: var(--gk-c-accent);
	transform: translateY(-1px);
}
.gk-404-btn svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.gk-404-btn--primary {
	background: var(--gk-c-accent);
	color: #fff;
	border-color: var(--gk-c-accent);
}
.gk-404-btn--primary:hover {
	background: color-mix(in srgb, var(--gk-c-accent) 85%, #000);
	color: #fff;
	border-color: transparent;
}
.gk-404-btn--wa {
	background: #25d366;
	color: #fff;
	border-color: #25d366;
}
.gk-404-btn--wa:hover {
	background: #128c7e;
	color: #fff;
	border-color: #128c7e;
}
@media (max-width: 520px) {
	.gk-404-card { padding: 40px 24px; }
	.gk-404-title { font-size: 22px; }
	.gk-404-cta { grid-template-columns: 1fr; }
}

/* ============================================================
 * Mobile sticky CTA bar - 40+ kitle için bottom-fixed
 * Sadece mobile (≤768px) görünür. WhatsApp + Telefon 50/50.
 * ============================================================ */
.gk-mobile-cta-bar {
	display: none;
}

/* === Tur detay mobil booking kartı (scroll davranışlı) - eski gk-mobile-cta-bar yerine === */
.gk-book-bar { display: none; }
@media (max-width: 768px) {
	.gk-book-bar {
		display: block;
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) - 16px));
		z-index: 9999;
		background: var(--gk-c-paper, #FFFDF7);
		border: 1px solid var(--gk-c-border-soft);
		border-top: 2px solid var(--gk-c-accent);
		border-radius: 16px;
		box-shadow: 0 14px 30px rgba(8, 64, 64, .22);
		padding: 10px 12px;
		transition: transform .38s cubic-bezier(.22, 1, .36, 1), opacity .3s ease;
	}
	.gk-book-bar--hidden {
		transform: translateY(150%);
		opacity: 0;
		pointer-events: none;
	}
	.gk-book-spec {
		display: none;
		border-bottom: 1px dashed var(--gk-c-border-soft);
		padding-bottom: 9px;
		margin-bottom: 9px;
	}
	.gk-book-bar--expanded .gk-book-spec { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
	.bk-fact { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; color: var(--gk-c-heading); }
	.bk-fact svg { width: 13px; height: 13px; fill: none; stroke: var(--gk-c-accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.bk-sep { width: 1px; height: 13px; background: var(--gk-c-border-soft); }
	.bk-svc { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 600; color: var(--gk-c-primary); background: rgba(14, 92, 92, .07); border-radius: 7px; padding: 3px 8px; }
	.bk-svc svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.gk-book-main { display: flex; align-items: center; gap: 12px; }
	.gk-book-info { flex: 1; min-width: 0; line-height: 1.25; display: flex; flex-direction: column; }
	.gk-book-eye { font-size: 9.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--gk-c-accent); }
	.gk-book-price { font-size: 18px; font-weight: 800; color: var(--gk-c-heading); }
	.gk-book-price small { font-size: 11px; font-weight: 600; color: var(--gk-c-muted); }
	.gk-book-date { font-size: 11px; color: var(--gk-c-muted); }
	.gk-book-acts { display: flex; gap: 7px; align-items: center; }
	.gk-book-wa { display: inline-flex; align-items: center; gap: 6px; background: var(--gk-c-wa, #1F7A4D); color: #fff; text-decoration: none; font-size: 13px; font-weight: 700; padding: 10px 14px; border-radius: 11px; }
	.gk-book-wa svg { width: 16px; height: 16px; fill: currentColor; }
	.gk-book-tel { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 11px; background: var(--gk-c-primary); color: #fff; text-decoration: none; }
	.gk-book-tel svg { width: 17px; height: 17px; }
	/* Back-to-top: tur detayda booking kartının üstüne taşı */
	body.single-tur .ct-back-to-top {
		bottom: calc(126px + env(safe-area-inset-bottom, 0px)) !important;
		right: 12px !important;
	}
	/* Footer CTA (1880): mobilde 3 buton alt alta + tam genişlik (masaüstünde row kalır) */
	.elementor-element-de61661 {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
	}
	.elementor-element-de61661 > .elementor-element {
		width: 100% !important;
		max-width: 100% !important;
	}
	.elementor-element-de61661 .elementor-button {
		width: 100%;
		justify-content: center;
	}
}
@media (max-width: 768px) {
	.gk-mobile-cta-bar {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 9999;
		background: #fff;
		box-shadow: 0 -8px 24px -8px rgba(45, 36, 24, .15);
		border-top: 1px solid var(--gk-c-border-soft);
	}
	.gk-mcta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 14px 12px;
		font-size: 15px;
		font-weight: 700;
		text-decoration: none;
		min-height: 50px;
		letter-spacing: .01em;
	}
	.gk-mcta svg {
		width: 18px;
		height: 18px;
		flex-shrink: 0;
	}
	.gk-mcta--wa {
		background: #25d366;
		color: #fff;
	}
	.gk-mcta--wa:hover, .gk-mcta--wa:focus {
		background: #128c7e;
		color: #fff;
	}
	.gk-mcta--tel {
		background: var(--gk-c-heading);
		color: #fff;
	}
	.gk-mcta--tel:hover, .gk-mcta--tel:focus {
		background: #000;
		color: #fff;
	}
	/* FAB stack mobile'da çakışmasın - alt padding aç */
	body.single-tur {
		padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
	}
	/* .gk-fab-stack bottom override kaldırıldı: eski mobil bar gitti, Fab varsayılan konumda */
}

/* === Tarihi geçmiş tur: "tur kalktı" tekil durumu === */
.gk-expired-wrap { padding: clamp(3rem, 6vw, 7rem) 0; }
.gk-tour-expired .gk-empty { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.gk-tour-expired .gk-empty-title { font-size: clamp(1.6rem, 1rem + 2.5vw, 2.4rem); }

/* ============================================================
 * GEYLANI REVİZYON (2026-07) - marka farklılaştırma / kontrast / radius
 * ============================================================ */

/* Kültür turu detayı: aile rengi CONFIG'ten gelir, burada HARDCODE EDİLMEZ.
 *
 * Önceden burada #3F5A6B (arduvaz mavisi) sabit yazılıydı ve families.php'deki
 * kültür accent'ini (#A9543B kiremit) eziyordu. İki sonucu vardı:
 *   1) aynı aile için iki farklı renk - kart ile detay sayfası uyuşmuyordu
 *   2) mavi-gri ton "teal" gibi okunuyordu (kullanıcı bildirimi 2026-07-20)
 *
 * --gk-family-accent kart ve detay kökene inline basılır (config'ten gelir);
 * burada yalnızca ona bağlanılır. Rengi değiştirmek isteyen families.php'yi
 * düzenler - tek kaynak. */
.gk-tour-single--kultur {
	--gk-c-primary: var(--gk-family-accent, #A9543B);
	--gk-c-accent:  var(--gk-family-accent, #A9543B);
}

/* Kültür güzergah / program şehirleri bloğu */
.gk-route-cities {
	list-style: none; margin: 16px 0 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 10px; counter-reset: gk-route;
}
.gk-route-cities li {
	counter-increment: gk-route;
	display: inline-flex; align-items: center; gap: 8px;
	padding: 8px 14px; border-radius: 8px;
	background: var(--gk-c-bg-subtle); border: 1px solid var(--gk-c-border);
	font-weight: 600; font-size: 14px; color: var(--gk-c-heading);
}
.gk-route-cities li::before {
	content: counter(gk-route);
	display: inline-grid; place-items: center;
	width: 22px; height: 22px; border-radius: 6px;
	background: var(--gk-c-primary); color: #fff; font-size: 12px; font-weight: 700;
}

/* Kontrast: gold/aksan zemin üstünde metin koyu olsun (WCAG AA) */
.gk-chip--link,
.gk-chip.gk-chip--active,
.gk-card-chip-tier {
	color: var(--gk-c-bg-bold);
}

/* a11y: klavye odak halkası */
.gk-btn:focus-visible,
.gk-chip:focus-visible,
.gk-cta-detail:focus-visible,
.gk-cta-wa:focus-visible,
.gk-cta-band a:focus-visible,
.gk-card a:focus-visible {
	outline: 2px solid var(--gk-c-primary);
	outline-offset: 2px;
}

/* Blocksy native butonlar.
   NOT: buton radius'u ARTIK BURADA DEGIL. Blocksy'nin kendi ayarinda
   (theme_mods buttonRadius = 8px, set-geylani-style.php yaziyor).
   Burada `!important` ile tekrarlamak iki kaynak yaratiyordu ve
   Customizer'dan yapilan degisikligi sessizce eziyordu.
   Sadece Blocksy'nin dokunmadigi blok editoru butonu hizalanir. */
.wp-block-button__link {
	border-radius: var(--gk-r-sm);
}

/* Feature kutuları: hafif hover-lift (RK düz overlay'inden ayrışan etkileşim) */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image-box .elementor-image-box-wrapper {
	transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
.elementor-widget-image-box:hover .elementor-image-box-wrapper {
	transform: translateY(-4px);
}

/* ==========================================================================
   Shortcode hata kutusu - SADECE editöre görünür (ziyaretçi HTML yorumu alır).
   Kapsamsız tur listesi sessizce boş kalmasın; düzenleyen kişi neden boş
   olduğunu ve nasıl düzelteceğini sayfanın üstünde okusun.
   ========================================================================== */
.gk-shortcode-error {
	margin: 1.5rem auto;
	max-width: 72ch;
	padding: 1rem 1.15rem;
	border: 1px solid #d9534f;
	border-left: 4px solid #d9534f;
	border-radius: 6px;
	background: #fdf3f2;
	color: #7d2b28;
	font-size: .9rem;
	line-height: 1.55;
}
.gk-shortcode-error strong {
	color: #d9534f;
}

/* ==========================================================================
   AİLE SİSTEMİ - accent + kutsal görsel register
   --gk-family-accent inline style ile basılır (config'ten gelir).
   ========================================================================== */

/* Kutsal ailesinin dini registerı: metinsel değil, GÖRSEL.
   Besmele metni yok. Yerine hero'da ince islami geometrik motif ve altın şerit.
   Balkan ve Kültür ailelerinde bu elemanlar hiç basılmaz. */
.gk-hero-motif {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: .10;
	/* 8 köşeli yıldız (rub el hizb) örgüsü - saf CSS, ek istek yok */
	background-image:
		repeating-linear-gradient(45deg, transparent 0 14px, currentColor 14px 15px),
		repeating-linear-gradient(-45deg, transparent 0 14px, currentColor 14px 15px);
	background-size: 42px 42px;
	color: var(--gk-family-accent, #B08D57);
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 65%);
	-webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 65%);
}

.gk-hero-goldband {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		transparent,
		var(--gk-family-accent, #B08D57) 18%,
		color-mix(in oklab, var(--gk-family-accent, #B08D57) 55%, white) 50%,
		var(--gk-family-accent, #B08D57) 82%,
		transparent
	);
}

/* Hero konumlandırma referansı (motif/şerit absolute) */
.gk-detail-hero {
	position: relative;
}

/* Aile accent'i detay sayfasında: eyebrow, timeline noktası, fiyat */
.gk-tour-single .gk-eyebrow,
.gk-tour-single .gk-hero-eyebrow {
	color: var(--gk-family-accent, inherit);
}
.gk-tour-single .gk-timeline-bullet {
	color: var(--gk-family-accent, inherit);
}

/* Konaklama serbest metni (balkan + kultur) */
.gk-accommodation {
	line-height: 1.65;
}
.gk-accommodation p:last-child {
	margin-bottom: 0;
}
.gk-transport-meta {
	margin-top: 1rem;
}

/* --------------------------------------------------------------------------
   Kategori kartları - aile hub'ının alt kategorilere dağıtım şeridi
   -------------------------------------------------------------------------- */
.gk-category-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin-block: 1.5rem 2.5rem;
}

.gk-category-card {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba(0, 0, 0, .09);
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.gk-category-card:hover {
	transform: translateY(-3px);
	border-color: var(--gk-family-accent, #999);
	box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .28);
}
.gk-category-card-label {
	font-weight: 650;
	letter-spacing: -.01em;
}
.gk-category-card-count {
	margin-left: auto;
	font-size: .8rem;
	color: #6b6b6b;
	white-space: nowrap;
}
.gk-category-card-arrow {
	display: inline-flex;
	color: var(--gk-family-accent, #999);
	transition: transform .22s ease;
}
.gk-category-card:hover .gk-category-card-arrow {
	transform: translateX(3px);
}
/* Turu olmayan kategori gizlenmez, soluklaştırılır: ileride tur eklenince
   kimsenin gözünden kaçmasın, ama ziyaretçiye de boş vaat verilmesin. */
.gk-category-card--empty {
	opacity: .62;
}
.gk-category-card--empty .gk-category-card-count {
	font-style: italic;
}

/* --------------------------------------------------------------------------
   Kart: aile modifier'i + accent + kategori rozeti
   --gk-family-accent kart kokune inline basilir (config'ten gelir).
   -------------------------------------------------------------------------- */

/* Kategori rozeti: "Umre" / "Balkan" / "Karadeniz".
   Kartin kendi ailesini ilan etmesi, karisik listelerde (anasayfa vitrini gibi)
   ziyaretcinin ne baktigini bir bakista anlamasini saglar. */
.gk-card-kind {
	position: absolute;
	left: .75rem;
	bottom: .75rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: .3rem .6rem;
	border-radius: 999px;
	background: var(--gk-family-accent, #333);
	color: #fff;
	font-size: .68rem;
	font-weight: 650;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1;
	box-shadow: 0 2px 10px -3px rgba(0, 0, 0, .45);
}

/* Kutsal ailesinde rozet ince geometrik doku alir: dini register GORSEL olarak
   verilir, metinsel degil (besmele yok). Diger ailelerde rozet duz kalir. */
.gk-card-kind--kutsal {
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 3px, transparent 3px 6px);
}

/* --------------------------------------------------------------------------
   Aile KOYU tonu (revizyon §4 + §10.2): aksiyon rengi accent'in koyusudur,
   accent'ten color-mix ile TUREtiLIR - sabit hex yok, yeni aile eklenince
   families.php'deki accent yeter. Fallback: Blocksy global buton değişkeni.
   -------------------------------------------------------------------------- */
.gk-tour-card,
.gk-tour-single {
	--gk-family-dark: color-mix(in srgb,
		var(--gk-family-accent, var(--theme-button-background-initial-color, #444)) 76%, black);
}

/* Gold rezervi (§10.2): kartta parlak accent YALNIZ kategori rozeti + ince
   vurgularda (spec ikonu, tarihsiz etiketi) kalır. Kenarlık/hover/fiyat/buton
   KOYU tona geçer; "Altın" tier chip'i tek parlak gold taşıyıcıdır. */
.gk-tour-card:hover {
	border-color: var(--gk-family-dark, currentColor);
}
.gk-tour-card .gk-amt {
	color: var(--gk-family-dark, inherit);
}
.gk-tour-card .gk-spec-ico {
	color: var(--gk-family-accent, inherit);
}

/* Media kutusu rozetin konumlandirma referansi */
.gk-tour-card-media {
	position: relative;
}

/* Görselsiz durum (§10.3 #6): görseller kullanıcıdan gelene kadar boş gri
   kutu yerine aileden türeyen sakin bir yüzey. Görsel eklenince img bu
   katmanın üstüne biner, kural değişmeden devre dışı kalır. */
.gk-tour-card-media--no-image {
	background: color-mix(in srgb,
		var(--gk-family-accent, var(--gk-c-border-soft)) 14%, white);
}
.gk-detail-hero--no-image {
	background: color-mix(in srgb,
		var(--gk-family-accent, var(--gk-c-heading, #333)) 32%, #14171a);
}

/* --------------------------------------------------------------------------
   Tarihsiz tur ("Surekli kalkisli")
   Tarih satirini bos birakmak yerine turun sattigi seyi soyler: her zaman kalkiyor.
   -------------------------------------------------------------------------- */
.gk-card-dateless {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	color: var(--gk-family-accent, #6b6b6b);
	font-weight: 600;
}
.gk-card-dateless svg {
	flex: none;
	opacity: .85;
}
.gk-hero-eyebrow--dateless {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

/* --------------------------------------------------------------------------
   "Daha fazla göster" progressive reveal (RK 0.2.7'den uyarlandi)
   Sunucu tum turlari basar, JS ilk N kadarini gosterir; buton kalani acar.
   Baslangicta gizli (style=display:none), JS gizli kart varsa gosterir.
   -------------------------------------------------------------------------- */
.gk-loadmore-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}
.gk-loadmore {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .7rem 1.6rem;
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: 999px;
	background: #fff;
	color: inherit;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.gk-loadmore:hover {
	border-color: var(--gk-family-accent, #B08D57);
	background: #faf7f2;
	transform: translateY(-1px);
}
.gk-loadmore-count {
	color: #6b6b6b;
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   Revizyon adım 1 (§4): global buton kimliği - tipografi.
   Blocksy'de buton tipografi seçeneği YOK (tema + Companion Pro tarandı),
   font-weight buradan gelir. Renkler theme mod'da (docs/set-button-styles.php).
   Seçici listesi Blocksy'nin kendi buton kuralından (main.min.css) alındı.
   -------------------------------------------------------------------------- */
.ct-button,
.button,
[type="submit"],
.wp-element-button,
.wp-block-button__link {
	font-weight: 600;
}

/* ============================================================
 * GEYLANİ KİMLİK KATMANI
 *
 * Tema kaynak projeden klonlandı; bileşenlerin YAPISI ve taşıdıkları
 * BİLGİ aynen korunur. Burada değişen yalnızca görsel dil.
 *
 * Kaynak projenin imzası : keskin köşe (3px chip, 0px buton), nötr gri
 *                          gölge, düz kenarlık
 * Geylani'nin imzası     : tutarlı yumuşak ölçek, hap biçimli chip,
 *                          altın tonlu katmanlı gölge, altın kılcal kenarlık
 *
 * Ölçek (Blocksy ayarlarıyla aynı): 4 / 8 / 12 / 16px
 *
 * Bu blok BİLEREK dosyanın sonunda: kaynak dosyanın gövdesine dokunmadan
 * kimliği ayrı bir katmanda tutar, geri almak veya ayarlamak kolaydır.
 * ============================================================ */

:root {
	--gk-r-xs:   4px;   /* rozet, küçük etiket */
	--gk-r-sm:   8px;   /* buton, form alanı */
	--gk-r-md:  12px;   /* kart, panel */
	--gk-r-lg:  16px;   /* hero kutusu, modal */
	--gk-r-pill: 999px; /* chip */

	/* Altın tonlu gölge: nötr griden farklı, palete bağlı */
	/* Gölge: altın TONLU ama nötr bir taban üstünde. Yalnızca altın kullanınca
	   beyaz zeminde kart kenarı eriyordu; taban gri gölge geri getirildi. */
	--gk-shadow-warm:       0 1px 3px rgba(22, 22, 22, .10),
	                        0 6px 16px -10px color-mix(in srgb, var(--gk-c-primary) 45%, transparent);
	--gk-shadow-warm-hover: 0 2px 6px rgba(22, 22, 22, .12),
	                        0 18px 38px -18px color-mix(in srgb, var(--gk-c-primary) 55%, transparent);
}

/* --- Kart gövdesi --- */
.gk-tour-card {
	border-radius: var(--gk-r-md);
	border-color: color-mix(in srgb, var(--gk-c-primary) 34%, transparent);
	box-shadow: var(--gk-shadow-warm);
}

.gk-tour-card:hover {
	/* Kaynak projede -6px sert sıçrama + koyu gri gölge vardı.
	   Geylani'de daha ölçülü kalkış + altın ışıma. */
	transform: translateY(-4px);
	border-color: var(--gk-c-primary);
	box-shadow: var(--gk-shadow-warm-hover);
}

/* Üst kenarda altın vurgu: hover'da beliren ince şerit.
   Kaynak projede böyle bir işaret yok; Geylani'ye özgü. */
.gk-tour-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg,
		var(--gk-c-primary) 0%,
		color-mix(in srgb, var(--gk-c-primary) 55%, var(--gk-c-accent)) 100%);
	opacity: 0;
	transition: opacity .3s ease;
	z-index: 3;
	border-radius: var(--gk-r-md) var(--gk-r-md) 0 0;
}
.gk-tour-card:hover::before { opacity: 1; }

/* --- Chip: hap biçimi (kaynak projede 3px keskindi) --- */
.gk-card-chip {
	border-radius: var(--gk-r-pill);
	padding: 4px 11px;
	background: color-mix(in srgb, var(--gk-c-primary) 9%, transparent);
	border-color: color-mix(in srgb, var(--gk-c-primary) 20%, transparent);
}

/* Tier chip'i SOL-ALT köşede durur (sağ-üst değil - ilk yazımda yanlış
   varsayılmış, yamuk siluet oluşuyordu). Kartın sol-alt köşesini takip eder. */
.gk-card-chip-tier--corner {
	border-radius: 0 var(--gk-r-sm) 0 var(--gk-r-md);
}

/* --- Rozet --- */
.gk-tour-card-badge {
	border-radius: var(--gk-r-xs);
}

/* --- Görsel alanı kartın köşesini takip etsin --- */
.gk-tour-card-media {
	border-radius: var(--gk-r-md) var(--gk-r-md) 0 0;
	overflow: hidden;
}

/* --- Butonlar: Blocksy'deki 8px ile aynı ölçek --- */
.gk-btn,
.gk-btn-lg,
.gk-btn-wa,
.gk-btn-tel,
.gk-tour-card-cta {
	border-radius: var(--gk-r-sm);
}

/* --- Detay sayfası panelleri --- */
.gk-detail-panel,
.gk-info-panel,
.gk-book-bar,
.gk-accommodation,
.gk-program-timeline {
	border-radius: var(--gk-r-md);
}

/* Sticky rezervasyon çubuğu üstte yuvarlanır, altta ekrana yaslanır */
.gk-book-bar {
	border-radius: var(--gk-r-lg) var(--gk-r-lg) 0 0;
	box-shadow: 0 -8px 30px -14px color-mix(in srgb, var(--gk-c-primary) 40%, transparent);
}

/* --- Erişilebilirlik: klavye odağı görünür olmalı --- */
.gk-tour-card a:focus-visible,
.gk-btn:focus-visible,
.gk-chip:focus-visible {
	outline: 2px solid var(--gk-c-contrast);
	outline-offset: 2px;
}

/* --- Hareket azaltma tercihi --- */
@media (prefers-reduced-motion: reduce) {
	.gk-tour-card,
	.gk-tour-card::before,
	.gk-tour-card-media img {
		transition: none;
	}
	.gk-tour-card:hover { transform: none; }
}

/* ------------------------------------------------------------
 * Kart onarımları (bağımsız denetim, 2026-07-20)
 * ---------------------------------------------------------- */

/* 1) İKİ ROZET AYNI KÖŞEDE ÜST ÜSTE
 * .gk-card-kind (kategori: "Umre", "Balkan") ve .gk-card-chip-tier--corner
 * (tier: "Altın") ikisi de sol-alt köşedeydi. Tier opak ve üstte olduğu için
 * kategori rozeti tamamen kayboluyor, kenarından 2px sızıp artefakt gibi
 * duruyordu. Kategori rozeti karşı köşeye alınır.
 * (Kaynak projede kategori rozeti hiç yok, orada çakışma yaşanmıyordu.) */
.gk-tour-card .gk-card-kind {
	left: auto;
	right: 12px;
	bottom: 12px;
	z-index: 4;
}

/* 2) GÖRSELSİZ KARTTA AMAÇSIZ GRADIENT
 * .gk-tour-card-media::after gradient'i TUR# rozetini okunur kılmak içindi;
 * TUR# gövdeye taşındı. Görsel yokken boş krem kutunun üstünde anlamsız koyu
 * leke bırakıyor. Görselsiz kartta kaldırılır. */
.gk-tour-card-media--no-image::after,
.gk-tour-card-media.gk-tour-card-media--no-image::after {
	display: none;
}

/* Görselsiz alan: boş kutu yerine ailenin rengini taşıyan sade bir yüzey */
.gk-tour-card-media--no-image {
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--gk-c-primary) 12%, #F7F3EC) 0%,
			color-mix(in srgb, var(--gk-c-primary)  4%, #FBF9F4) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 3) KONTRAST: opacity ile soluklaştırma WCAG AA'nın altına düşüyordu.
 * Opacity yerine gerçek renk kullanılır. */
.gk-tour-card-no {
	opacity: 1;
	color: color-mix(in srgb, var(--gk-c-text) 62%, transparent);
}
.gk-from {
	opacity: 1;
	color: color-mix(in srgb, var(--gk-c-text) 68%, transparent);
	font-size: 11px;
}
.gk-card-kind {
	background: var(--gk-c-bg-bold);
	color: #ffffff;
	border: none;
}

/* ============================================================
 * Footer CTA - Geylani tasarımı
 *
 * Kaynak projeden gelen hali 5 katmanlı Elementor container yığınıydı ve
 * iki kırık link taşıyordu. Tek HTML bloğuna indirgendi; stil buradan gelir.
 * (docs/rebuild-footer-cta.php)
 * ============================================================ */

.gk-cta {
	background:
		radial-gradient(120% 140% at 85% 0%,
			color-mix(in srgb, var(--gk-c-primary) 26%, transparent) 0%,
			transparent 60%),
		var(--gk-c-bg-bold);
	color: var(--gk-c-on-dark);
	padding: clamp(48px, 7vw, 88px) 20px;
}

.gk-cta-inner {
	max-width: var(--gk-container-max);
	margin: 0 auto;
}

.gk-cta-body {
	max-width: 720px;
}

.gk-cta-eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--gk-c-primary);
}

.gk-cta-title {
	margin: 0 0 14px;
	font-size: clamp(26px, 3.4vw, 42px);
	line-height: 1.15;
	color: var(--gk-c-on-dark);
}

.gk-cta-lead {
	margin: 0 0 28px;
	font-size: clamp(15px, 1.3vw, 17px);
	line-height: 1.65;
	color: var(--gk-c-on-dark-mid);
}

.gk-cta-acts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.gk-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: var(--gk-r-sm);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.gk-cta-btn:hover { transform: translateY(-2px); }

.gk-cta-btn--primary {
	background: var(--gk-c-primary);
	color: #fff;
}
.gk-cta-btn--primary:hover {
	background: color-mix(in srgb, var(--gk-c-primary) 84%, #000);
	color: #fff;
}

/* WhatsApp marka yeşili - palet dışı, global kural */
.gk-cta-btn--wa {
	background: var(--gk-c-wa);
	color: #fff;
}
.gk-cta-btn--wa:hover {
	background: var(--gk-c-wa-hover);
	color: #fff;
}

.gk-cta-btn--ghost {
	background: transparent;
	color: var(--gk-c-on-dark);
	border-color: var(--gk-c-on-dark-tint);
}
.gk-cta-btn--ghost:hover {
	border-color: var(--gk-c-primary);
	color: var(--gk-c-primary);
}

.gk-cta-note {
	margin: 20px 0 0;
	font-size: 13px;
	color: var(--gk-c-on-dark-soft);
}

.gk-cta-btn:focus-visible {
	outline: 2px solid var(--gk-c-primary);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.gk-cta-btn { transition: none; }
	.gk-cta-btn:hover { transform: none; }
}

/* ------------------------------------------------------------
 * Tur detay sayfası - Geylani kimliği
 *
 * Kartlara (arşiv) kimlik katmanı uygulanmıştı ama detay sayfasının
 * panelleri yarım kalmıştı: radius verilmiş, gölge verilmemişti. Sonuç
 * kartlar bir sistem, paneller başka sistem gibi duruyordu.
 *
 * Ayrıca ölçek dışı iki değer vardı:
 *   .gk-visits-col   8px hardcoded
 *   .gk-includes     --gk-radius (Blocksy'nin karışık değeri: 12/15/20px)
 * ---------------------------------------------------------- */

/* Ölçeğe çekilen yüzeyler */
.gk-includes,
.gk-visits-col,
.gk-inc-card,
.gk-hotel-card,
.gk-detail-block > .gk-panel {
	border-radius: var(--gk-r-md);
}

/* Panellere kartlarla AYNI sıcak gölge - iki sistem tek dile gelsin */
.gk-info-panel,
.gk-visits-col,
.gk-includes {
	box-shadow: var(--gk-shadow-warm);
	border-color: color-mix(in srgb, var(--gk-c-primary) 22%, transparent);
}

/* Dahil/hariç kutusu: iki yarım tek gövde, köşeler dışa yuvarlanır */
.gk-includes { overflow: hidden; }
.gk-inc-card { border-radius: 0; }

/* "Dahil" tarafı altın zemin; ayraç çizgisi yerine hafif iç gölge daha
   temiz durur (kaynak projede sert 1px çizgiydi). */
.gk-inc-card--yes {
	border-right: none;
	box-shadow: inset -1px 0 0 color-mix(in srgb, #fff 22%, transparent);
}

/* Ziyaret sütunları: kartlarla aynı hover davranışı */
.gk-visits-col {
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gk-visits-col:hover {
	transform: translateY(-3px);
	border-color: var(--gk-c-primary);
	box-shadow: var(--gk-shadow-warm-hover);
}

/* Hero'daki altın şerit ile kart üst şeridi aynı dil */
.gk-hero-goldband {
	background: linear-gradient(90deg,
		var(--gk-c-primary) 0%,
		color-mix(in srgb, var(--gk-c-primary) 55%, var(--gk-c-contrast)) 100%);
}

/* Sticky rezervasyon çubuğu: üstte yuvarlak, ekrana yaslı */
.gk-book-bar {
	border-top: 1px solid color-mix(in srgb, var(--gk-c-primary) 26%, transparent);
}

@media (prefers-reduced-motion: reduce) {
	.gk-visits-col { transition: none; }
	.gk-visits-col:hover { transform: none; }
}

/* ============================================================
   Tur Tipi (aile) chip satırı - birincil eksen
   ------------------------------------------------------------
   Ay ve Süre "daraltma" filtresidir; Tur Tipi ise ziyaretçinin
   ilk sorusudur ("ne tür gezi"). İkisi aynı görünürse satırlar
   birbirine karışıyor. Bu grup daha büyük, kendi zemininde ve
   her chip kendi AİLE RENGİNİ taşıyor (--gk-chip-accent inline
   gelir; renk listesi CSS'te tekrarlanmaz, families.php tek kaynak).
   ============================================================ */

.gk-filter-group--family {
	gap: 10px;
	padding: 14px 16px;
	margin-bottom: 4px;
	border-radius: var(--gk-r-md);
	background: color-mix(in srgb, var(--gk-c-primary) 5%, transparent);
	border: 1px solid var(--gk-c-border-soft);
}

.gk-filter-group--family .gk-filter-group-label {
	font-size: 12px;
	color: var(--gk-c-heading);
}

.gk-filter-group--family .gk-chip {
	--gk-chip-accent: var(--gk-c-primary);
	position: relative;
	font-size: 14.5px;
	font-weight: 700;
	padding: 9px 18px;
	background: var(--gk-content-bg);
	border-color: color-mix(in srgb, var(--gk-chip-accent) 30%, transparent);
	color: var(--gk-c-heading);
}

/* Ailenin rengi, seçilmeden önce de küçük bir nokta olarak okunur. */
.gk-filter-group--family .gk-chip:not([data-gk-filter-value="all"])::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--gk-chip-accent);
	vertical-align: 1px;
	transition: background-color .2s ease;
}

.gk-filter-group--family .gk-chip:hover {
	background: color-mix(in srgb, var(--gk-chip-accent) 12%, var(--gk-content-bg));
	border-color: var(--gk-chip-accent);
	color: var(--gk-c-heading);
}

.gk-filter-group--family .gk-chip--active {
	background: var(--gk-chip-accent);
	border-color: var(--gk-chip-accent);
	color: #fff;
	box-shadow: 0 2px 8px -3px color-mix(in srgb, var(--gk-chip-accent) 55%, transparent);
}
.gk-filter-group--family .gk-chip--active::before { background: #fff; }

.gk-filter-group--family .gk-chip:focus-visible {
	outline: 2px solid var(--gk-chip-accent);
	outline-offset: 2px;
}

/* Daraltma satırları görsel olarak bir kademe geride kalsın. */
.gk-filter-group--month .gk-filter-group-label,
.gk-filter-group--suresi .gk-filter-group-label,
.gk-filter-group--tier .gk-filter-group-label,
.gk-filter-group--otel .gk-filter-group-label {
	opacity: .85;
}

@media (max-width: 640px) {
	.gk-filter-group--family { padding: 12px; }
	.gk-filter-group--family .gk-chip { font-size: 13.5px; padding: 8px 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.gk-filter-group--family .gk-chip,
	.gk-filter-group--family .gk-chip::before { transition: none; }
}

/* ============================================================
   Kademeli filtre  (data-gk-filter-steps)
   ------------------------------------------------------------
   Tek kural: aile secilmeden diger chip satirlari gorunmez.
   Secildikten sonra hepsi ESKI SISTEMLE AYNI calisir - sayim,
   soluk chip, cascade degismez. Gizleme JS'te `hidden` ile
   yapilir; burasi yalnizca gecisi duzenler.
   ============================================================ */

.gk-filter-group[hidden] { display: none; }

/* JS calismadan ONCE de gizli olsunlar: aksi halde sayfa dort satirla
   basilip hemen tek satira dusuyor, goz kirpmasi gibi gorunuyor.
   JS yoksa filtre zaten hic calismaz, gizlemek bir sey kaybettirmez. */
[data-gk-filter-steps] .gk-filter-group:not(:first-child) { display: none; }
[data-gk-filter-steps] .gk-filter-group:not(:first-child):not([hidden]) { display: flex; }

/* Adim 1: yalniz Tur Tipi satiri. Alt cizgi gereksiz, satir zaten tek. */
.gk-filter-bar--step1 {
	padding-bottom: 0;
	border-bottom: 0;
}

/* Adim 2'de acilan satirlar sessizce belirsin. */
.gk-filter-bar:not(.gk-filter-bar--step1) .gk-filter-group:not(:first-child) {
	animation: gk-filter-in .28s var(--gk-ease, cubic-bezier(.16,1,.3,1)) both;
}
@keyframes gk-filter-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.gk-filter-bar:not(.gk-filter-bar--step1) .gk-filter-group:not(:first-child) {
		animation: none;
	}
}
