/* ==========================================================================
   BakırBul — özel stil dosyası
   Bu dosya tools/deploy.py ile canlıya dağıtılır (stil-<timestamp>.css adıyla).
   Customizer "Ek CSS" alanına YAZMA — oradaki metin bu dosyayı sessizce ezer.
   Marka paleti:
     bakır #B87333 | koyu bakır #A05F28 | espresso #2B1D16
     krem  #F7F1E8 | kum        #D9C3A5 | kızıl vurgu #8C2F1B
     footer zemini #1C1512 | çizgi #e5e5e5 / #f1ece4
   ========================================================================== */

:root {
	--zbx-bakir: #b87333;
	--zbx-bakir-koyu: #a05f28;
	--zbx-espresso: #2b1d16;
	--zbx-krem: #f7f1e8;
	--zbx-kum: #d9c3a5;
	--zbx-kizil: #8c2f1b;
	--zbx-footer: #1c1512;
	--zbx-cizgi: #e5e5e5;

	/* Aksiyon renkleri (2026-08-07) — sepete ekle butonları ve fiyatlar. */
	--zbx-aksiyon: #cf3700;
	--zbx-aksiyon-koyu: #932700;
	--zbx-kargo: #005f93;
	--zbx-kart-cizgi: #c7c8c9;
}

/* --------------------------------------------------------------------------
   FİLTRE (HUSKY/WOOF) — o kategoride ürünü olmayan seçenekleri gizle
   HUSKY sıfır seçenekleri silmiyor, `disabled` yapıp ekranda bırakıyor.
   Müşteri tıklayamadığı 25+ ölü seçenek görüyor. Gizliyoruz; hepsi ölü olan
   blok da başlığıyla birlikte kalkıyor. JS yedeği betik.js'te (AJAX sonrası).
   -------------------------------------------------------------------------- */
.woof_list li:has(input[disabled]) { display: none !important; }
.woof_container:not(:has(.woof_list li:not(:has(input[disabled])))) { display: none !important; }
.zbx-woof-bos { display: none !important; }

/* --------------------------------------------------------------------------
   ÜRÜN KART GÖRSELİ — kırpma yok, ürün tam görünsün
   Katalog karışık oranda geliyor: 600x900 (2:3), 1000x1000 (1:1), 600x400 (3:2)…
   Eskiden kart 3:4 kutuya `object-fit: cover` ile basıyordu; kare görseller
   yanlardan kesiliyor, ürünün bir kısmı ve sağ alt köşe ekrandan taşıyordu.
   Artık `contain`: görsel kutuya tam sığıyor. Kart yüksekliği `aspect-ratio`
   ile sabit kaldığı için grid hizası bozulmuyor.
   WooCommerce tarafında da kırpma kapalı (`woocommerce_thumbnail_cropping =
   uncropped`) — snippet 417 bunu koruyor.
   Bu kural WPCode snippet 416'dan buraya taşındı: WPCode kendi önbelleğinden
   eski sürümü servis ediyordu ve düzeltme canlıya hiç çıkmıyordu.
   -------------------------------------------------------------------------- */
ul.products li.product figure .ct-media-container,
body.home ul.products li.product figure .ct-media-container,
.woocommerce ul.products li.product figure .ct-media-container,
ul.products li.product .ct-media-container {
	aspect-ratio: 3 / 4 !important;
	background: #fff !important;
}
ul.products li.product .ct-media-container img,
ul.products li.product img.wp-post-image {
	object-fit: contain !important;
	object-position: center !important;
	width: 100% !important;
	height: 100% !important;
}

/* --------------------------------------------------------------------------
   ÜRÜN SAYFASI GALERİSİ — ekrana sığsın
   Tedarikçi görselleri 2:3 dikey (600x900). Blocksy galeriyi tam genişlikte
   basınca ~960px yüksekliğe çıkıyor, ürün adı/fiyat/Sepete Ekle ekranın
   altında kalıyordu. Görseli görünür alanla sınırlıyoruz; oran korunuyor
   (object-fit: contain), kırpma yok.
   -------------------------------------------------------------------------- */
.single-product .woocommerce-product-gallery,
.single-product .ct-product-gallery-container { max-height: 74vh; }
.single-product .woocommerce-product-gallery .flexy-item img,
.single-product .ct-product-gallery-container .flexy-item img {
	max-height: 74vh;
	width: auto;
	max-width: 100%;
	margin-inline: auto;
	object-fit: contain;
}
.single-product .woocommerce-product-gallery .ct-media-container {
	display: flex; align-items: center; justify-content: center;
}
/* küçük resim şeridi de daralsın */
.single-product .flexy-pills img, .single-product [data-flexy-pills] img { max-height: 84px; width: auto; }

@media (max-width: 999px) {
	.single-product .woocommerce-product-gallery,
	.single-product .ct-product-gallery-container { max-height: 58vh; }
	.single-product .woocommerce-product-gallery .flexy-item img,
	.single-product .ct-product-gallery-container .flexy-item img { max-height: 58vh; }
}

/* --------------------------------------------------------------------------
   HEADER ARAMA ÇUBUĞU (2026-08-06)

   Masaüstü: logo solda, arama çubuğu ortada — beyaz kutu, sağ ucunda bakır
   submit butonu. Formu WPCode 387 basıyor, butonu betik.js ekliyor; buradaki
   kurallar 387'nin (gri hap görünüm), 399'un (`background:#EEEEF0 !important`)
   ve 410'un (`height:40px !important`) kurallarını eziyor — bu yüzden seçiciler
   bilerek daha spesifik ve `!important`. O üç snippet'e dokunulmadı: WPCode
   yazımları WP-CLI'dan `wpcode_edit_snippets` yetkisi olmadan reddediyor ve
   WPCode kendi önbelleğinden eski kodu servis edebiliyor (bilinen tuzak).

   Mobil: hamburger sol / logo orta / sepet sağ + ikinci satırda ortalanmış,
   dar arama çubuğu. Sticky durumda (body.zbx-scrolled, snippet 375) arama
   satırı gizlenir ki sabitlenen header ince kalsın.
   -------------------------------------------------------------------------- */

/* --- masaüstü --- */
.ct-header [data-device="desktop"] form.zbk-search {
	display: flex !important;
	align-items: stretch !important;
	max-width: 620px;
	background: #fff !important;
	border: 1px solid #D9C3A5 !important;
	border-radius: 10px !important;
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ct-header [data-device="desktop"] form.zbk-search:focus-within {
	border-color: #B87333 !important;
	box-shadow: 0 0 0 3px rgba(184, 115, 51, .14);
}
.ct-header [data-device="desktop"] form.zbk-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 16px !important;
	font-size: 14.5px;
	color: #2B1D16;
	background: #fff !important;
	outline: none;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}
.ct-header [data-device="desktop"] form.zbk-search input[type="search"]::placeholder { color: #9c8770; }
/* 387'nin kendi `@media(max-width:1300px)` daraltması artık bu seçiciye
   yetişemiyor (spesifiklik), daraltmayı burada tekrarlıyoruz. */
@media (max-width: 1300px) {
	.ct-header [data-device="desktop"] form.zbk-search { max-width: 460px; }
}

/* --- ortak buton (masaüstü + mobil) --- */
.ct-header form.zbk-search .zbk-search-btn,
.ct-header form.zbx-msearch .zbx-msearch-btn {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #B87333;
	color: #fff;
	cursor: pointer;
	transition: background .15s ease;
}
/* Yükseklik forma göre esnesin — 1-2px'lik kenar boşluğu kalmasın. */
.ct-header form.zbk-search .zbk-search-btn,
.ct-header form.zbx-msearch .zbx-msearch-btn { align-self: stretch; height: auto; }
.ct-header form.zbk-search .zbk-search-btn { width: 58px; }
.ct-header form.zbx-msearch .zbx-msearch-btn { width: 46px; }
.ct-header form.zbk-search .zbk-search-btn:hover,
.ct-header form.zbx-msearch .zbx-msearch-btn:hover { background: #A05F28; }
.ct-header form.zbk-search .zbk-search-btn svg { width: 19px; height: 19px; display: block; }
.ct-header form.zbx-msearch .zbx-msearch-btn svg { width: 17px; height: 17px; display: block; }

/* --- mobil --- */
@media (max-width: 999px) {
	.ct-header [data-device="mobile"] [data-row="middle"] .ct-container.zbx-mob-duzen {
		display: grid !important;
		grid-template-columns: 1fr auto 1fr !important;
		align-items: center !important;
		column-gap: 8px;
	}
	.ct-header [data-device="mobile"] .zbx-mob-duzen [data-column="start"] { justify-self: start; }
	.ct-header [data-device="mobile"] .zbx-mob-duzen [data-column="end"] { justify-self: end; }
	/* Orijinal logo yerinde duruyor ama gizli: hamburgeri buraya taşıyan
	   snippet 405 çalışmaya devam etsin diye (logo yolu koda gömülmüyor). */
	.ct-header [data-device="mobile"] .zbx-mob-duzen .site-branding { display: none !important; }
	.ct-header [data-device="mobile"] .zbx-mob-logo {
		justify-self: center;
		display: flex;
		align-items: center;
		min-width: 0;
	}
	.ct-header [data-device="mobile"] .zbx-mob-logo img {
		max-height: 42px !important;
		height: 42px !important;
		width: auto !important;
		display: block;
	}

	/* Blocksy `[data-row] > *` düğümlerine grid veriyor — arama satırı iki
	   sütuna bölünüp form 63px'e uzuyordu. Blok olmaya zorluyoruz. */
	.ct-header .zbx-mob-search {
		display: block !important;
		grid-template-columns: none !important;
		padding: 0 18px 11px;
	}
	.ct-header form.zbx-msearch {
		display: flex !important;
		align-items: stretch;
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
		background: #fff;
		border: 1px solid #D9C3A5;
		border-radius: 9px;
		overflow: hidden;
	}
	.ct-header form.zbx-msearch:focus-within { border-color: #B87333; }
	.ct-header form.zbx-msearch input[type="search"] {
		flex: 1 1 auto;
		min-width: 0;
		height: 38px !important;
		border: 0 !important;
		border-radius: 0 !important;
		padding: 0 12px !important;
		font-size: 14px;
		color: #2B1D16;
		background: #fff !important;
		outline: none;
		box-shadow: none !important;
		-webkit-appearance: none;
		appearance: none;
	}
	.ct-header form.zbx-msearch input[type="search"]::placeholder { color: #9c8770; }

	/* !important şart: yukarıdaki `display:block !important` kuralını ezmeli. */
	body.zbx-scrolled .ct-header .zbx-mob-search { display: none !important; }
}
@media (min-width: 1000px) {
	.zbx-mob-search { display: none !important; }
}

/* --------------------------------------------------------------------------
   KATEGORİ ŞERİDİ — mağaza ve kategori sayfalarının üstünde
   -------------------------------------------------------------------------- */
.zbx-katstrip { margin: 0 0 26px; }
.zbx-katstrip-baslik {
	margin: 0 0 12px; font-size: 15px; font-weight: 700; color: #2B1D16;
	letter-spacing: .2px;
}
.zbx-katstrip-list {
	display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0;
}
.zbx-katstrip-list a {
	display: inline-flex; align-items: baseline; gap: 6px;
	padding: 8px 14px; border: 1px solid #e5e5e5; border-radius: 999px;
	background: #fff; color: #2B1D16; font-size: 14px; text-decoration: none;
	transition: border-color .18s, background .18s, color .18s;
}
.zbx-katstrip-list a:hover { border-color: #B87333; background: #F7F1E8; color: #A05F28; }
.zbx-katstrip-list .zbx-kat-aktif a { border-color: #B87333; background: #B87333; color: #fff; }
.zbx-katstrip-list .zbx-kat-sayi { font-size: 12px; opacity: .6; }
@media (max-width: 767px) {
	.zbx-katstrip-list {
		flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
		padding-bottom: 6px; scrollbar-width: none;
	}
	.zbx-katstrip-list::-webkit-scrollbar { display: none; }
	.zbx-katstrip-list li { flex: 0 0 auto; }
}

/* --------------------------------------------------------------------------
   ÜRÜN GÖRSELİ — hafif yuvarlatılmış köşe (2026-08-06)
   Kart görselleri keskin dikdörtgendi; marka dili yumuşak (buton/hap
   yarıçapları zaten yuvarlak). 8px belirgin olmayan ama köşeyi kıran değer.
   Kapsayıcıya `overflow:hidden` şart: hover'daki `transform:scale` görseli
   köşelerden taşırıyordu.
   -------------------------------------------------------------------------- */
ul.products li.product .ct-media-container,
ul.products li.product figure .ct-media-container {
	border-radius: 8px !important;
	overflow: hidden !important;
}
ul.products li.product .ct-media-container img,
ul.products li.product img.wp-post-image {
	border-radius: 8px !important;
}
.single-product .woocommerce-product-gallery .flexy-item img,
.single-product .ct-product-gallery-container .flexy-item img {
	border-radius: 10px;
}
.single-product .flexy-pills img,
.single-product [data-flexy-pills] img {
	border-radius: 6px;
}

/* --------------------------------------------------------------------------
   FOOTER — mobil/tablette iki sütun (2026-08-06)

   Blocksy footer sütunlarını `--grid-template-columns` ile kuruyor:
   masaüstü `repeat(4, 1fr)`, ≤999.98px'te `initial` → tek sütun, dört blok
   alt alta uzayıp gidiyordu. Değişkeni 2 sütuna çeviriyoruz.

   `!important` şart: Blocksy aynı özgüllükte iki kural yazıyor (≤999.98px ve
   ≤689.98px) ve ikisi de `initial` diyor; kaynak sırasına güvenilemez.

   Marka/iletişim bloğu (widget-area-1) adres + telefon + e-posta taşıdığı için
   yarım sütuna sığmıyor — tam genişlikte kalıyor. Altındaki üç blok ikili
   diziliyor: Kurumsal | Popüler Kategoriler, sonra KVKK.
   -------------------------------------------------------------------------- */
@media (max-width: 999.98px) {
	[data-footer*="type-1"] .ct-footer [data-row*="middle"] > div {
		--grid-template-columns: 1fr 1fr !important;
		--columns-gap: 28px !important;
	}
	.ct-footer [data-row*="middle"] > div > [data-column="widget-area-1"] {
		grid-column: 1 / -1;
	}
}
@media (max-width: 480px) {
	[data-footer*="type-1"] .ct-footer [data-row*="middle"] > div {
		--columns-gap: 18px !important;
	}
	/* dar ekranda uzun link metinleri sığsın */
	.ct-footer [data-row*="middle"] .widget-title,
	.ct-footer [data-row*="middle"] .zb-foot-h { font-size: 14px; }
	.ct-footer [data-row*="middle"] li,
	.ct-footer [data-row*="middle"] li a { font-size: 13.5px; line-height: 1.5; }
}

/* ==========================================================================
   Kategori SEO metni mobilde kaybolmasın                        (2026-08-06)

   Blocksy'nin arşiv "custom_description" öğesi varsayılan olarak
   `.page-description` kabına `ct-hidden-sm` sınıfı basıyor — yani kategori
   metni dar ekranda gizli. Google mobil-öncelikli indeksleme yaptığı için
   bu, 35 kategorinin SEO metninin değerini düşürür.

   Snippet 407 metni `.zb-cat-seo` kabına TAŞIYIP kaynağı `data-zb-moved` ile
   işaretliyor ve inline `display:none` veriyor — taşınmış hali bu kuraldan
   etkilenmez (`:not([data-zb-moved])`). Bu kural yalnız JS henüz çalışmadığı
   ya da hiç çalışmadığı durumda metnin mobilde görünür kalmasını garanti eder.
   ========================================================================== */
@media (max-width: 689.98px) {
	.tax-product_cat .page-description.ct-hidden-sm:not([data-zb-moved]),
	.post-type-archive-product .page-description.ct-hidden-sm:not([data-zb-moved]) {
		display: block !important;
	}
}

/* ==========================================================================
   ÜRÜN KARTI TASARIMI + KIRMIZI AKSİYON RENGİ                    (2026-08-07)

   Kart düzeni:  görsel → başlık → ─── çizgi ─── → fiyat → ─── çizgi ───
                 → tam genişlik "Sepete Ekle"; kart çerçevesi de aynı çizgi.
   Renkler: buton #cf3700 / hover #932700 · fiyat #cf3700 · çizgi #C7C8C9
            · ücretsiz kargo rozeti #005f93 zemin + beyaz yazı.

   Bu blok WPCode snippet 394 (ana sayfa kartı) ve 411 (site geneli bakır
   buton) yerine geçiyor; ikisi de taslağa çekildi. Sebep: WPCode'un inline
   <style>'ları bu dosyadan SONRA basılıyor, iki taraf da !important
   kullanınca WPCode kazanıyordu (snippet 416/417 vakası).

   Kart artık ana sayfa dahil her yerde aynı: kategori, mağaza, arama,
   ilgili ürünler. `body.home` kısıtı bilerek kullanılmadı.
   ========================================================================== */

/* ---- Kart kabı: 1px #C7C8C9 çerçeve ----
   `.woocommerce` öneki ZORUNLU: Ana Sayfa'nın (sayfa 11) içeriğine gömülü
   <style> bloğu `.woocommerce ul.products li.product{border:1px solid #ececec;
   border-radius:14px;padding:14px}` diyor ve hem daha özgül hem daha sonra
   basılıyor. Öneksiz yazılırsa ana sayfada kart çerçevesi #ececec kalır. */
ul.products li.product,
.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--zbx-kart-cizgi) !important;
	border-radius: 12px !important;
	padding: 10px 10px 12px !important;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(43, 29, 22, .10);
}

/* Görsel kabı — snippet 400'ün hover ikonları bu `position:relative`e bağımlı
   (kural eskiden snippet 394'teydi, oradan buraya taşındı). */
ul.products li.product figure {
	position: relative;
	margin: 0 0 10px;
}

/* İndirim rozeti (394'ten taşındı) — yüzdeyi betik.js yazıyor.
   `.woocommerce` öneki yine ana sayfa gömülü stilini ezmek için
   (`.onsale{background:#8c2f1b;border-radius:6px}`). */
ul.products li.product .onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 9px;
	left: 9px;
	z-index: 3;
	margin: 0;
	background: var(--zbx-kizil);
	color: #fff;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .2px;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 20px;
	min-width: 0;
	min-height: 0;
	box-shadow: 0 3px 8px rgba(140, 47, 27, .28);
}

/* ---- Başlık: iki satırda kırpılır, kart yükseklikleri hizalı kalsın ---- */
ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px;
	line-height: 1.35;
	font-weight: 600;
	color: var(--zbx-espresso);
	margin: 2px 0 4px;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---- Fiyat: üstünde ayraç çizgisi ---- */
ul.products li.product .price {
	display: block;
	width: 100%;
	border-top: 1px solid var(--zbx-kart-cizgi);
	padding-top: 10px;
	margin-bottom: 8px;
	color: var(--zbx-aksiyon) !important;
	font-weight: 700;
}

/* ---- Sepete Ekle: üstünde ayraç çizgisi, tam genişlik ---- */
ul.products li.product .ct-woo-card-actions {
	width: 100%;
	border-top: 1px solid var(--zbx-kart-cizgi);
	padding-top: 10px;
}
ul.products li.product .ct-woo-card-actions .button,
ul.products li.product a.add_to_cart_button,
ul.products li.product a.button {
	display: flex !important;
	width: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--zbx-aksiyon) !important;
	border-color: var(--zbx-aksiyon) !important;
	color: #fff !important;
	border-radius: 8px;
	padding: 10px 12px;
	font-weight: 600;
	font-size: 13px;
	box-shadow: none;
	transition: background .2s ease, transform .12s ease;
}
ul.products li.product .ct-woo-card-actions .button:hover,
ul.products li.product a.add_to_cart_button:hover,
ul.products li.product a.button:hover {
	background: var(--zbx-aksiyon-koyu) !important;
	border-color: var(--zbx-aksiyon-koyu) !important;
	color: #fff !important;
}
ul.products li.product .button:active { transform: scale(.97); }
ul.products li.product .button.added {
	background: var(--zbx-espresso) !important;
	border-color: var(--zbx-espresso) !important;
}

/* ---- Tekil ürün + sepet + ödeme ana butonları ---- */
.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.woocommerce .checkout-button,
#place_order {
	background-color: var(--zbx-aksiyon) !important;
	border-color: var(--zbx-aksiyon) !important;
	color: #fff !important;
}
.single_add_to_cart_button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.woocommerce .checkout-button:hover,
#place_order:hover {
	background-color: var(--zbx-aksiyon-koyu) !important;
	border-color: var(--zbx-aksiyon-koyu) !important;
	color: #fff !important;
}

/* ---- ÜCRETSİZ KARGO ROZETİ (şu an yalnız tekil ürün sayfasında) ----
   HTML'i bakirbul-custom.php'deki zbx_kargo_rozeti_html() basıyor. */
.zbx-kargo-satiri { width: 100%; }
.zbx-kargo-rozet {
	display: inline-flex;
	align-items: center;
	background: var(--zbx-kargo);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .2px;
	padding: 5px 9px;
	border-radius: 4px;
	white-space: nowrap;
}
.single-product .zbx-kargo-satiri { margin: 0 0 12px; }
.single-product .zbx-kargo-rozet { font-size: 12px; padding: 6px 11px; }

/* ---- Fiyatlar site genelinde kırmızı ---- */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.entry-summary .price,
.entry-summary .price .woocommerce-Price-amount,
.wc-block-components-product-price,
.wc-block-formatted-money-amount,
.wc-block-components-totals-item__value {
	color: var(--zbx-aksiyon) !important;
}

/* İstisna 1 — üstü çizili eski fiyat kırmızı olmasın, indirim okunmaz olur. */
.price del,
.price del bdi,
.price del .woocommerce-Price-amount,
.wc-block-components-product-price__regular {
	color: #9a9a9a !important;
	font-weight: 400;
}
.price ins { text-decoration: none; }

/* İstisna 2 — header mini-sepeti koyu zeminli (Blocksy
   --mini-cart-background-color: #29333C). Kırmızı orada okunmaz. */
.ct-cart-content .woocommerce-Price-amount,
.ct-cart-content .woocommerce-Price-amount bdi,
.ct-cart-content .total .woocommerce-Price-amount {
	color: #fff !important;
}

@media (max-width: 767px) {
	ul.products li.product { border-radius: 10px; padding: 8px 8px 10px; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px; }
	.zbx-kargo-rozet { font-size: 10px; padding: 4px 7px; }
}

:root{--zbx-deploy:"20260807-015917"}
