/*
Theme Name: Orchards
Theme URI: https://orchards.co
Author: Orchards
Author URI: https://orchards.co
Description: Custom block theme for Orchards. Minimal, editorial, black-and-white foundation for a personalized 925 silver jewellery store.
Version: 8.8.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: orchards
*/

/* ============================================================
   Marka fontu — Inter (kendi temamızda barındırılıyor, SIL Open
   Font License). Site harici font CDN'lerini engellediği için
   dosyalar assets/fonts içinde. Windows'ta Arial'a düşmek yerine
   her yerde tutarlı, PDPAOLA'nın Helvetica Neue'suna yakın,
   rafine bir görünüm sağlar.
   ============================================================ */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/inter-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/inter-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/inter-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/inter-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Latin-ext: Türkçe glifler (Ş ş Ğ ğ İ vb.) — bu blok olmadan tarayıcı bunları sistem fontuna düşürüyordu */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/inter-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/inter-ext-500.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/inter-ext-600.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/inter-ext-700.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Genel güvenlik kuralı: tarayıcı varsayılanı tüm <a> etiketlerini alt
   çizgili gösterir. Kart/görsel üstü yazılar gibi <a> içinde duran metinler
   bu yüzden istenmeden alt çizgi alıyordu (kategori kutuları, ürün adları
   vb.). Bunu kökten kapatıyoruz — altı çizili görünmesi gereken tek tük
   linkler zaten kendi kuralında ayrıca "text-decoration: underline" ile
   açıkça belirtiliyor, bu genel kural onları etkilemez. */
a { text-decoration: none; }

/* Required WordPress a11y utility — hides "for screen readers only" text
   (site title, skip links, WooCommerce labels). Without this rule that
   text renders fully visible at default heading size. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* Global yatay taşma koruması: herhangi bir öğe viewport'tan geniş taşarsa
   mobil tarayıcı sayfayı küçültüp "masaüstü gibi" gösterir. Bunu kökten
   engeller — tüm sayfalarda geçerli, hiçbir tasarımı bozmaz. */
html, body { max-width: 100%; overflow-x: hidden; }

/* KÖK NEDEN — GRID ÖĞESİ min-width:auto TUZAĞI
   WordPress blok teması body'yi `display:grid` yapar; .wp-site-blocks onun
   grid öğesidir. Grid/flex öğelerinde min-width varsayılanı `auto`dur ve öğe
   içeriğinin en dar halinden KÜÇÜLEMEZ. İçerideki geniş bir öğe yüzünden
   .wp-site-blocks 375px ekranda 1310px'e şişiyor; overflow-x:hidden bunu
   yalnızca KIRPIYOR (içerik yine masaüstü genişliğinde diziliyor: logo kayık,
   sepet kesik, görseller taşkın). min-width:0 öğenin viewport'a küçülmesini
   sağlar; yatay kaydırmalı şeritler kendi taşmalarını zaten yönetir. */
.wp-site-blocks { min-width: 0; }

:root {
  --bg: var(--wp--preset--color--background);
  --surface-muted: var(--wp--preset--color--surface-muted);
  --text-primary: var(--wp--preset--color--text-primary);
  --text-secondary: var(--wp--preset--color--text-secondary);
  --text-muted: var(--wp--preset--color--text-muted);
  --border: var(--wp--preset--color--border);
}

/* ==========================================================================
   Header (site-wide, transparent-over-hero on the homepage)
   ========================================================================== */
header.site-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); background: var(--bg); position: relative; z-index: 100; transition: background .2s, border-color .2s; }
header.site-header .icon-btn { background: none; border: none; cursor: pointer; color: #000; display: flex; align-items: center; gap: 4px; font-family: inherit; font-size: 16px; padding: 0; text-decoration: none; }
header.site-header .logo { font-size: 20px; font-weight: 500; letter-spacing: 0.04em; transition: color .2s; display: flex; align-items: center; text-decoration: none; color: inherit; }
/* Dual logo system (mockup v69): black wordmark by default,
   white variant while the header floats transparent over the homepage hero. */
header.site-header .logo-img-white,
header.site-header .logo-img-black { height: 22px; width: auto; display: none; }
header.site-header .logo-img-black { display: block; }
body.home-view:not(.header-solid) header.site-header .logo-img-white { display: block; }
body.home-view:not(.header-solid) header.site-header .logo-img-black { display: none; }
header.site-header .icon-btn svg { display: block; }
body.home-view:not(.header-solid) header.site-header .icon-btn svg { stroke: #fff; }
.drawer-head .drawer-logo { height: 24px; width: auto; display: block; }
header.site-header .header-side { display: flex; gap: 13px; align-items: center; }
header.site-header #cart-icon-btn { position: relative; font-size: 16px; }
header.site-header .cart-count { position: absolute; top: -6px; right: -8px; background: #000; color: #fff !important; border-radius: 50%; width: 16px; height: 16px; font-size: 9px; font-weight: 500; display: flex; align-items: center; justify-content: center; line-height: 1; }
header.site-header .cart-count.zero { display: none; }

/* Homepage: header floats transparent over the hero, then solidifies on scroll */
body.home-view header.site-header { position: fixed; top: 0; left: 0; right: 0; background: transparent; border-bottom: none; }
body.home-view header.site-header .icon-btn,
body.home-view header.site-header .logo,
body.home-view header.site-header .wc-block-mini-cart__button,
body.home-view header.site-header .cart-count { color: #fff; }
/* Anasayfada header her zaman şeffaf kalır (arka plan boyanmaz) — sadece
   ikon rengi, hero'nun altındaki açık renkli içerik üzerinde görünür kalsın
   diye scroll sonrası koyulaşır. */
body.home-view.header-solid header.site-header .icon-btn,
body.home-view.header-solid header.site-header .logo,
body.home-view.header-solid header.site-header .wc-block-mini-cart__button { color: #000; }

/* WooCommerce mini-cart block, normalized to sit as a plain 19px header icon.
   Without these overrides the block ships with its own min-height/padding and
   pushes the header row out of alignment. */
header.site-header .wc-block-mini-cart { display: inline-flex; margin: 0; }
header.site-header .wc-block-mini-cart__button {
  background: none !important; border: none !important; padding: 0 !important;
  margin: 0 !important; min-height: 0 !important; min-width: 0 !important;
  height: auto !important; width: auto !important; color: inherit;
  display: inline-flex; align-items: center;
}
header.site-header .wc-block-mini-cart__button:hover { background: none !important; opacity: .7; }
header.site-header .wc-block-mini-cart__icon { color: inherit; width: 19px !important; height: 19px !important; margin: 0 !important; }
header.site-header .wc-block-mini-cart__quantity-badge { margin: 0 !important; }
header.site-header .wc-block-mini-cart__badge {
  background: #000 !important; color: #fff !important; border: none !important;
  min-width: 16px; height: 16px; font-size: 9px; font-weight: 500; line-height: 16px;
}
body.home-view:not(.header-solid) header.site-header .wc-block-mini-cart__badge { background: #fff !important; color: #000 !important; }

/* ---- Hero banner ---- */
.hero-banner { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.hero-banner .hero-img-desktop { display: none; }
.hero-banner .hero-img-mobile { display: block; }

/* WordPress'in varsayılan "block gap" özelliği, anasayfadaki her wp:html
   bölümünün arasına otomatik ~24-50px boşluk ekliyordu (mockup'ta bölümler
   bitişik/sıkı tasarlanmıştı). Her bölümün kendi CSS'i zaten kendi iç boşluğunu
   yönetiyor, bu yüzden WP'nin eklediği ekstra boşluğu tamamen iptal ediyoruz. */
.wp-site-blocks > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.hero-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-banner .hb-text { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 30px; }
.hero-banner .hb-text p.kicker { color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 10px; opacity: 0.9; }
.hero-banner .hb-text h1 { color: #fff; font-size: 28px; font-weight: 500; text-transform: uppercase; margin: 0 0 8px; line-height: 1.2; max-width: 280px; }
.hero-banner .hb-text p.sub { color: #fff; font-size: 13px; margin: 0 0 18px; max-width: 280px; opacity: 0.95; }
.hero-banner .hb-text a.hb-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; background: #fff; color: #000; border: 1px solid #fff; padding: 12px 22px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; font-family: inherit; }
.hero-banner .hb-text .hb-cta { display: flex; flex-wrap: wrap; gap: 10px; }

/* orch-hb-cta-mobil-dikey: mobilde butonlar flex-wrap hesabina
   guvenmek yerine HER ZAMAN alt alta dizilir — iOS Safari'nin
   min-width/flex:1 1 0 kombinasyonuyla ilgili tarayıcı farklılıklarına
   karşı savunmacı çözüm. Masaüstünde (900px üstü) etkisiz. */
@media (max-width: 899px) {
	.hero-banner { overflow: hidden !important; max-width: 100vw !important; }
	.hero-banner .hb-text {
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	.hero-banner .hb-text .hb-cta {
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.hero-banner .hb-text .hb-cta .hb-btn {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: none !important;
		box-sizing: border-box !important;
	}
}

/* İki buton eşit genişlikte dursun (metin uzunluğu farkı boy farkı yaratmasın). */
/* 7 Ağu: iki buton EŞİT genişlikte değil artık. Birincil (Adını Tasarla)
   daha geniş, ikincil daralıyor. Eşit ağırlıkta iki buton, birincil eylemin
   gücünü paylaştırıyordu — CTA hiyerarşisinin temel kuralı.
   Ayrıca ikincil butonun metni "Gümüşü Keşfet" → "Koleksiyonu Gör" oldu:
   "keşfet" belirsiz bir fiil, "gör" ne olacağını söylüyor. */
.hero-banner .hb-text .hb-cta .hb-btn { flex: 0 1 auto; min-width: 150px; }
.hero-banner .hb-text .hb-cta .hb-btn:not(.hb-btn-ghost) { flex: 1 1 auto; min-width: 180px; }
.hero-banner .hb-text a.hb-btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.85); }
.hero-banner .hb-text a.hb-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,0.08); }

/* ---- Signature Collection heading ---- */
.signature-heading { text-align: center; padding: 40px 20px 14px; }
.signature-heading .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); margin: 0 0 6px; }
.signature-heading h2 { font-size: 19px; margin: 0 0 4px; text-transform: uppercase; font-weight: 500; }
.signature-heading p.sub { font-size: 12px; color: var(--text-secondary); margin: 0; }

/* ---- Homepage product grid (image-led, minimal) ---- */
.home-products { padding: 0 0 20px; }
.hp-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 2px; }
.hp-card { position: relative; overflow: hidden; }
.hp-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; background: var(--surface-muted); display: block; }
.hp-card .tag-fine, .hp-card h3, .hp-card .price { display: none; }
.hp-card.hp-desktop-only { display: none; }

/* ---- Marquee scrolling strip ---- */
.marquee-strip { background: var(--bg); overflow: hidden; padding: 22px 0; white-space: nowrap; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.marquee-strip .marquee-track { display: inline-block; animation: marquee-scroll 34s linear infinite; }
.marquee-strip span { color: var(--text-primary); font-size: 20px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.02em; padding: 0 40px; display: inline-flex; align-items: center; gap: 14px; }
.marquee-strip span svg { width: 30px; height: 30px; flex-shrink: 0; stroke: #000; fill: none; stroke-width: 1.3; animation: ring-wiggle 3.2s ease-in-out infinite; }
/* ==========================================================================
   ORCHARDS KINETIC MOTTO — eski kayan yüzük görselleri bölümünün yerini alan
   tipografi odaklı section. Harfler hafif blur+offset ile başlar, gözlemci
   .km-in verince küçük gruplar hâlinde yumuşak stagger ile hizasına oturur;
   ardından metnin üzerinden bir kez çok hafif platin ışık süpürmesi geçer.
   JS yoksa .km-ready eklenmez; motto düz, tamamen okunur hâlde kalır.
   ========================================================================== */
.orchards-kinetic-motto {
  background: var(--surface-muted);
  padding: clamp(44px, 7vw, 88px) 24px;
  text-align: center;
  overflow: hidden;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.orchards-kinetic-motto .km-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.orchards-kinetic-motto .km-visual { position: relative; display: block; max-width: 900px; margin: 0 auto; }
.orchards-kinetic-motto .km-line {
  display: block;
  font-size: clamp(21px, 5.4vw, 58px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.18;
  color: #2b2926;
  white-space: nowrap;
}
.orchards-kinetic-motto .km-line-2 { font-weight: 400; opacity: 0.92; margin-top: clamp(6px, 1.4vw, 14px); }
.orchards-kinetic-motto .km-ch { display: inline-block; }
.orchards-kinetic-motto .km-sp { display: inline-block; }
.orchards-kinetic-motto.km-ready .km-ch {
	/* ★ 28 Ağu — GEÇİŞ YUMUŞATILDI.
	   Eskiden harfler 5px bulanıktan gelip rastgele açılarla eğiliyordu;
	   "efekt" gibi duruyordu. Yeni davranış takının fotoğraflanma anını
	   taklit ediyor: harf hafifçe aşağıdan yükselip netleşiyor, ışık
	   soldan sağa üzerinden geçiyor. Süre uzadı, mesafe kısaldı —
	   göz yakalamıyor, sakin bir açılış hissi veriyor. */
	opacity: 0;
	transform: translateY(0.10em) scale(0.985);
	filter: blur(3px);
	transition:
		opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1),
		transform 1.15s cubic-bezier(0.16, 1, 0.3, 1),
		filter 1.15s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: calc(var(--i) * 34ms);
	will-change: opacity, transform, filter;
}
.orchards-kinetic-motto.km-ready .km-ch:nth-child(3n)  { transform: translateY(0.16em) rotate(1.2deg); }
.orchards-kinetic-motto.km-ready .km-ch:nth-child(4n)  { transform: translateY(0.14em) rotate(-1.1deg); }
.orchards-kinetic-motto.km-in .km-ch,
.orchards-kinetic-motto.km-in .km-ch:nth-child(3n),
.orchards-kinetic-motto.km-in .km-ch:nth-child(4n) {
	opacity: 1;
	transform: translateY(0) scale(1);
	filter: blur(0);
}
.orchards-kinetic-motto .km-visual::after {
  content: "";
  position: absolute;
  inset: -10% -30%;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.55) 50%, transparent 60%);
  transform: translateX(-120%);
  pointer-events: none;
  opacity: 0;
}
/* İlk girişte ve bölüme her yeniden dönüşte (ekrandan tamamen çıkıp geldiğinde)
   harflerin oturmasının ardından bir kez platin ışık süpürmesi geçer. */
.orchards-kinetic-motto.km-in .km-visual::after {
  animation: km-light-sweep 2.2s cubic-bezier(0.4, 0, 0.2, 1) 1.6s 1 forwards;
}
@keyframes km-light-sweep {
  0%   { opacity: 0; transform: translateX(-120%); }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(120%); }
}
@media (prefers-reduced-motion: reduce) {
  .orchards-kinetic-motto.km-ready .km-ch,
  .orchards-kinetic-motto.km-ready .km-ch:nth-child(3n),
    .orchards-kinetic-motto.km-in .km-visual::after { animation: none; }
}
@media (max-width: 480px) {
  .orchards-kinetic-motto .km-line { letter-spacing: 0.03em; }
}
@keyframes ring-wiggle {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(-4deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(2px) rotate(4deg); }
}
@keyframes marquee-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ---- Category grid (static, full-bleed) ---- */
.cat-grid-section { padding: 0; }
.cat-grid-static { display: grid; grid-template-columns: 1fr; gap: 2px; }
.cat-grid-static .cg-tile { position: relative; height: 72vh; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; }
.cat-grid-static .cg-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cat-grid-static .cg-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,18,16,0.55) 0%, rgba(20,18,16,0) 38%); pointer-events: none; }
.cat-grid-static .cg-tile .cg-label { position: relative; z-index: 2; color: #fff; font-size: 12px; text-transform: uppercase; font-weight: 600; letter-spacing: 0.08em; text-align: center; background: rgba(20,18,16,0.32); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,0.35); padding: 11px 24px; margin-bottom: 28px; }

/* ---- The Orchards Standard (grading table) ---- */
.standard-section { padding: 48px 20px 44px; text-align: center; border-top: 1px solid var(--border); }
.standard-section .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); margin: 0 0 8px; }
.standard-section h2 { font-size: 20px; margin: 0 0 8px; }
.standard-section .sub { font-size: 12px; color: var(--text-secondary); margin: 0 0 28px; }
.standard-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; text-align: left; }
.standard-grid .std-label { font-size: 10px; text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.05em; margin: 0 0 6px; }
.standard-grid .std-value { font-size: 22px; margin: 0 0 6px; }
.standard-grid .std-desc { font-size: 11px; color: var(--text-secondary); margin: 0; line-height: 1.5; }
.standard-group { margin-bottom: 36px; }
.standard-group:last-child { margin-bottom: 0; }
.standard-group-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); text-align: left; margin: 0 0 16px; }
.standard-group-silver { border-top: 1px solid var(--border); padding-top: 34px; margin-top: 34px; }

/* ---- Custom design banner ---- */
.custom-banner { position: relative; margin-top: 50px; }
.custom-banner img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.custom-banner .cb-text { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.55), rgba(0,0,0,0.05)); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 30px; }
.custom-banner .cb-text p.kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.85; margin: 0 0 10px; }
.custom-banner .cb-text h2 { font-size: 24px; line-height: 1.3; margin: 0 0 14px; max-width: 320px; color: #fff; }
.custom-banner .cb-text a.cb-btn { background: #fff; color: #000; border: none; padding: 10px 18px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; width: fit-content; text-decoration: none; display: inline-block; font-family: inherit; }

/* ---- Founder manifesto ---- */
.manifesto { background: var(--surface-muted); padding: 56px 24px; text-align: center; }
.manifesto .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin: 0 0 14px; }
.manifesto h2 { font-size: 22px; line-height: 1.35; margin: 0 auto 18px; max-width: 460px; font-weight: 500; }
.manifesto p { font-size: 13px; line-height: 1.85; color: var(--text-secondary); max-width: 520px; margin: 0 auto 14px; }
.manifesto .signature { font-size: 12px; letter-spacing: 0.06em; margin-top: 20px; color: var(--text-primary); }
.manifesto a.manifesto-btn { background: none; border: 1px solid #000; color: var(--text-primary); padding: 10px 22px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; margin-top: 18px; font-family: inherit; display: inline-block; text-decoration: none; }

/* ---- Customer reviews ---- */
.reviews-section { padding: 50px 0; border-top: 1px solid var(--border); }
.reviews-section .header-wrap { padding: 0 20px; }
.reviews-section .stars { text-align: center; font-size: 13px; margin: 0 0 4px; }
.reviews-section .rating-sub { text-align: center; font-size: 11px; color: var(--text-secondary); margin: 0 0 24px; }
.review-grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 20px 6px; }
.review-grid::-webkit-scrollbar { display: none; }
.review-card { flex: 0 0 78%; scroll-snap-align: start; border: 1px solid var(--border); padding: 18px; background: var(--bg); }
.review-card .stars { text-align: left; margin-bottom: 10px; }
.review-card p.quote { font-size: 12px; line-height: 1.6; margin: 0 0 14px; min-height: 62px; }
.review-card .name { font-size: 12px; font-weight: 500; margin: 0; }
.review-card .verified { font-size: 10px; color: var(--text-muted); margin: 2px 0 0; }
.review-scroll-hint { text-align: center; font-size: 10px; color: var(--text-muted); margin-top: 12px; }

/* ---- Journal / blog preview ---- */
.blog-grid { display: grid; grid-template-columns: 1fr; gap: 28px; padding: 0; }
.blog-card { display: block; }
.blog-card-link { display: block; text-decoration: none; color: inherit; }
.blog-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: var(--surface-muted); margin: 0 0 14px; display: block; }
.blog-card-noimg { display: block; width: 100%; aspect-ratio: 4/3; background: var(--surface-muted); margin: 0 0 14px; }
.blog-card-title { display: block; font-size: 15px; font-weight: 500; margin: 0; line-height: 1.45; letter-spacing: -0.01em; color: var(--text-primary); }
.blog-card p { font-size: 12px; color: var(--text-secondary); margin: 6px 0 0; line-height: 1.6; }
.blog-more-btn { width: auto; padding: 10px 24px; display: inline-block; background: var(--bg); color: var(--text-primary); border: 1px solid #000; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; font-family: inherit; text-decoration: none; }

/* ---- Trust row ---- */
.trust-row { display: flex; justify-content: space-around; padding: 30px 20px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: center; }
.trust-row div { display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em; max-width: 100px; }
.trust-row .tr-icon { width: 28px; height: 28px; }
.trust-row .tr-icon svg { width: 100%; height: 100%; stroke: #000; fill: none; stroke-width: 1.3; }

/* ---- Newsletter (shared, above footer) ---- */
/* Footer'ın tamamı bej — kesintisiz (PDPAOLA gibi). */
footer.wp-block-group { background: var(--surface-muted); }
/* WordPress "constrained" layout footer içeriğini dar bir content-width'e
   sıkıştırıyordu; footer'ı TAM GENİŞLİK yapıyoruz — banner ve link kolonları
   kenardan kenara uzanır, sadece iç padding ile nefes alır (PDPAOLA gibi). */
footer.wp-block-group.is-layout-constrained > *,
footer.wp-block-group > * { max-width: none; }
footer.wp-block-group { padding-left: 0; padding-right: 0; }

/* Newsletter bandı: üst link kolonlarından biraz daha koyu bej banner.
   Sol = etiket + büyük başlık · Sağ = geniş alt-çizgili email + SIGN UP.
   (PDPAOLA birebir — ekran görüntüsüne göre.) */
.footer-signup {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 60px;
  background: #e7e2dc;
  padding: 48px 40px 44px;
}
.footer-signup .fs-copy { flex: 1 1 55%; max-width: 720px; text-align: left; }
.footer-signup .nl-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--text-primary); margin: 0 0 20px;
}
.footer-signup .fs-copy h3 {
  font-size: 28px; font-weight: 700; line-height: 1.22; letter-spacing: -0.01em;
  text-transform: uppercase; color: var(--text-primary); margin: 0; max-width: 640px;
}
.footer-signup .fs-form { flex: 0 1 40%; min-width: 380px; align-self: flex-end; }

/* Alt-çizgili geniş email + SIGN UP yanında (form tam genişlik). */
.fs-form .newsletter-form {
  display: flex; align-items: flex-end; width: 100%; max-width: none; margin: 0; border: none; gap: 0;
}
.newsletter-form input {
  flex: 1; border: none; border-bottom: 1px solid #000; background: transparent;
  padding: 8px 2px; font-size: 16px; font-family: inherit; border-radius: 0; color: var(--text-primary);
}
.newsletter-form input::placeholder { color: var(--text-secondary); }
.newsletter-form input:focus { outline: none; }
.newsletter-form button {
  background: transparent; color: #000; border: none; border-bottom: 1px solid #000;
  padding: 8px 2px 8px 24px; font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; cursor: pointer; font-family: inherit; white-space: nowrap;
}
.newsletter-form button:hover { opacity: 0.6; }
.fs-form .consent-row {
  max-width: none; margin: 16px 0 0; text-align: left;
  font-size: 11px; color: var(--text-secondary);
}

/* Mobil: dikey — etiket + başlık üstte, email + SIGN UP altta, onay en altta. */
@media (max-width: 767px) {
  .footer-signup { flex-direction: column; gap: 26px; padding: 32px 20px 34px; }
  .footer-signup .fs-copy { max-width: 100%; }
  .footer-signup .fs-copy h3 { font-size: 21px; }
  /* min-width:380px masaüstü içindir; mobilde SIFIRLANMALI, yoksa dar
     ekranda sayfayı ~420px'e genişletir (görseller taşar, header kayar). */
  .footer-signup .fs-form { flex: 1 1 auto; width: 100%; min-width: 0; align-self: stretch; }
  /* Mobilde email + Kaydol tek satırda kalsın; input daralabilir ama buton
     asla taşmaz/kaybolmaz (min-width:0 flexbox taşmasını önler). */
  .fs-form .newsletter-form { flex-wrap: nowrap; width: 100%; }
  .newsletter-form input { min-width: 0; }
  .newsletter-form button { flex: none; padding-left: 14px; }
}
.consent-row { display: flex; gap: 10px; align-items: flex-start; margin: 10px auto 0; max-width: 320px; font-size: 11px; color: var(--text-secondary); line-height: 1.6; text-align: left; }
.consent-row input { margin-top: 2px; }

/* ---- Footer columns + monogram ---- */
.footer-cols { padding: 30px 20px; font-size: 11px; color: var(--text-secondary); display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.footer-cols .col h4 { font-size: 11px; text-transform: uppercase; color: var(--text-primary); margin: 0 0 10px; letter-spacing: 0.04em; }
.footer-cols .col p { margin: 0 0 6px; }
.footer-cols .col a { color: var(--text-secondary); text-decoration: none; }
.footer-cols .col a:hover { color: var(--text-primary); }
.footer-monogram { border-top: 1px solid var(--border); padding: 40px 20px 34px; text-align: center; }
.footer-monogram .fm-mark { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1.5px solid #000; border-radius: 50%; margin: 0 auto 14px; position: relative; }
.footer-monogram .fm-mark span { font-size: 22px; font-weight: 500; letter-spacing: 0.02em; line-height: 1; }
.footer-monogram .fm-mark .fm-diamond { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); width: 15px; height: 12px; }
.footer-monogram .fm-wordmark { font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 500; margin: 0; }
/* Alt bar: solda küçük Orchards monogram+isim, sağda telif/güven metni. */
.footer-bottom { border-top: 1px solid var(--border); padding: 20px 40px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.footer-bottom p { margin: 0; font-size: 10px; color: var(--text-muted); letter-spacing: 0.02em; }
.footer-bottom .fb-legal { text-align: right; display: flex; flex-direction: column; gap: 4px; }
/* Küçük monogram (alt bar için) — büyük merkez logodan farklı, yatay ve ufak. */
.fb-monogram { border-top: none; padding: 0; display: inline-flex; align-items: center; gap: 10px; }
.fb-monogram .fm-mark { width: 34px; height: 34px; border-width: 1px; margin: 0; }
.fb-monogram .fm-mark span { font-size: 14px; }
.fb-monogram .fm-mark .fm-diamond { top: -7px; width: 10px; height: 8px; }
.fb-monogram .fm-wordmark { font-size: 12px; letter-spacing: 0.1em; }
@media (max-width: 767px) {
  .footer-bottom { flex-direction: column; align-items: center; text-align: center; padding: 24px 20px; gap: 14px; }
  .footer-bottom .fb-legal { text-align: center; }
}

@media (min-width: 900px) {
  .hero-banner { aspect-ratio: 21/9; }
  .hero-banner .hero-img-mobile { display: none; }
  .hero-banner .hero-img-desktop { display: block; }
  .hero-banner .hb-text { padding: 80px; }
  .hero-banner .hb-text h1 { font-size: 44px; max-width: 460px; }
  .hero-banner .hb-text p.sub { font-size: 15px; max-width: 420px; }
  .signature-heading { padding: 64px 40px 24px; }
  .signature-heading h2 { font-size: 24px; }
  .hp-grid { grid-template-columns: repeat(4,1fr); gap: 4px; }
  .hp-card.hp-desktop-only { display: block; }
  .marquee-strip span { font-size: 28px; padding: 0 56px; }
  .marquee-strip span svg { width: 42px; height: 42px; }
  .cat-grid-static { grid-template-columns: 1fr 1fr; }
  .cat-grid-static .cg-tile { height: 82vh; }
  .cat-grid-static .cg-tile .cg-label { font-size: 13px; letter-spacing: 0.04em; padding: 13px 28px; margin-bottom: 32px; }
  .standard-section { padding: 70px 40px 66px; }
  .standard-grid { grid-template-columns: repeat(4,1fr); max-width: 1000px; margin: 0 auto; }
  .standard-group-silver { padding-top: 40px; margin-top: 40px; }
  .standard-group-label { max-width: 1000px; margin-left: auto; margin-right: auto; }
  .custom-banner .cb-text { padding: 70px; }
  .custom-banner .cb-text h2 { font-size: 40px; max-width: 480px; }
  .review-grid { max-width: 1200px; margin: 0 auto; padding: 0 40px 6px; }
  .review-card { flex: 0 0 30%; }
  .reviews-section .header-wrap { padding: 0 40px; }
  .blog-grid { grid-template-columns: repeat(2,1fr); max-width: 1000px; margin: 0 auto; gap: 30px; }
  .home-products .blog-grid { max-width: 780px; gap: 28px; }
  .trust-row { padding: 40px; }
  .footer-cols { grid-template-columns: repeat(4, 1fr); padding: 54px 40px; gap: 30px; }
}

/* ==========================================================================
   Site-wide chrome: chip nav, drawers, WhatsApp button, continue-card
   ========================================================================== */
/* ── Kategori şeridi (7 Ağu yeniden yazıldı) ───────────────────────
   Önceki hali: 12px, gri, çerçevesiz, dolgusuz düz metin. Tıklanabilir
   görünmüyordu ve sayfa başlığının hemen altında olduğu için "bu sayfanın
   sekmeleri" gibi okunuyordu.

   Yeni kurgu:
   · aktif olan DOLU (koyu zemin, açık yazı) → "buradasın"
   · diğerleri ÇERÇEVELİ çip → "şunlar tıklanabilir"
   · dolgu büyüdü → mobilde parmak hedefi genişledi
   · kaydırma çubuğu gizlendi, sağ kenar soluyor → "devamı var"
   · üstte "Keşfet" başlığı → tereddüdü kaldırıyor
   KÖŞELER KÖŞELİ (Yusuf'un kuralı: çerçeve varsa yuvarlak değil). */

.chip-wrap { padding: 4px 20px 14px; border-bottom: 1px solid var(--border); }

.chip-baslik {
	display: block;
	margin: 0 0 9px;
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-muted, #9a9791);
}

/* Solma katmanı mutlak konumlanacağı için kutu göreli */
.chip-nav-kutu { position: relative; }

.chip-nav {
	display: flex;
	gap: 5px;
	padding: 0;
	border-bottom: 0;
	overflow-x: auto;
	white-space: nowrap;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	scrollbar-width: none;              /* Firefox */
	-ms-overflow-style: none;           /* eski Edge */
}

/* Kaydırma çubuğunu gizle — masaüstünde tarayıcı kontrolü gibi duruyordu,
   mobilde zaten görünmüyor. Kaydırma çalışmaya devam ediyor. */
.chip-nav::-webkit-scrollbar { display: none; }

.chip-nav a {
	flex: 0 0 auto;
	/* 7 Ağu: küçültüldü (9x15 → 7x11, 12px → 11px). Yusuf: "biraz büyük,
	   daha fazla kategori aynı anda sığsın". Dokunma hedefi hâlâ yeterli
	   (yükseklik ~30px); mobilde ayrıca daraltılıyor. */
	padding: 6px 9px;
	border: 1px solid var(--border, #e3ded6);
	border-radius: 0;                   /* KÖŞELİ */
	background: transparent;
	color: var(--text-secondary, #6b6b6b);
	font-weight: 400;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease;
}

.chip-nav a:hover { border-color: #1a1a1a; color: #1a1a1a; }

.chip-nav a.active {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
	font-weight: 500;
}

/* Sağ kenar solması: son çip yarım görünüp kaybolur — "devamı var" der.
   pointer-events yok ki altındaki çiplere tıklama engellenmesin. */
.chip-solma {
	position: absolute;
	top: 0;
	right: 0;
	width: 56px;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(to right, rgba(255,255,255,0), #fff 82%);
}

.continue-card { display: flex; align-items: center; gap: 14px; margin: 16px 20px 0; border: 1px solid var(--border); padding: 10px 14px 10px 10px; text-decoration: none; color: inherit; }
.continue-card img { width: 58px; height: 58px; object-fit: cover; flex-shrink: 0; }
.continue-card .cc-body { flex: 1; min-width: 0; }
.continue-card .cc-label { font-size: 9px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin: 0 0 3px; }
.continue-card .cc-title { font-size: 12px; font-weight: 500; margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.continue-card .cc-variant { font-size: 10.5px; color: var(--text-secondary); margin: 0; }
.continue-card .cc-arrow { font-size: 16px; flex-shrink: 0; }
@media (min-width: 760px) { .continue-card { max-width: 560px; margin: 20px auto 0; } }

.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); opacity: 0; visibility: hidden; transition: opacity .25s; z-index: 300; }

/* Orchards sepet çekmecesi — PDPAOLA gibi sağdan akıcı bir şekilde kayarak
   açılır. WooCommerce'in kendi Mini Cart bloğunun dahili verisi bu sayfada
   hiç hydrate olmamışsa bayat/boş görünebiliyordu; bu çekmece kendi taze
   API isteğinden gelen veriyle dolduruluyor, bu sorunu tamamen çözer. */
.ocd-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); opacity: 0; visibility: hidden; transition: opacity .3s ease; z-index: 400; }
.ocd-overlay.open { opacity: 1; visibility: visible; }
.ocd-drawer {
  position: fixed; top: 0; right: 0; height: 100%; width: 88%; max-width: 400px;
  background: #fff; z-index: 401; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .35s cubic-bezier(.25,.8,.35,1);
  box-shadow: -4px 0 24px rgba(0,0,0,0.12);
}
.ocd-drawer.open { transform: translateX(0); }
.ocd-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--border); font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; }
.ocd-close { background: none; border: none; font-size: 16px; cursor: pointer; padding: 0; line-height: 1; }
.ocd-body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.ocd-item { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--border); position: relative; }
.ocd-item-remove { position: absolute; top: 14px; right: 0; background: none; border: none; font-size: 13px; color: var(--text-secondary); cursor: pointer; padding: 4px; line-height: 1; }
.ocd-item-remove:hover { color: #000; }
.ocd-item img { width: 64px; height: 80px; object-fit: cover; flex-shrink: 0; background: var(--surface-muted); }
.ocd-item-info { flex: 1; min-width: 0; padding-right: 20px; }
.ocd-item-info .ocd-item-name { font-size: 12px; font-weight: 700; text-transform: uppercase; margin: 0 0 4px; }
.ocd-item-info .ocd-item-meta { font-size: 11px; color: var(--text-secondary); margin: 0 0 4px; }
.ocd-item-info .ocd-item-price { font-size: 12px; font-weight: 500; }
.ocd-empty { text-align: center; padding: 40px 0; font-size: 12px; color: var(--text-secondary); }
.ocd-foot { padding: 16px 20px 20px; border-top: 1px solid var(--border); }
.ocd-total-row { display: flex; justify-content: space-between; font-size: 13px; font-weight: 500; margin-bottom: 14px; }
.ocd-checkout { display: block; text-align: center; padding: 15px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; text-decoration: none; background: #000; color: #fff; }

.drawer-overlay.open { opacity: 1; visibility: visible; }

.whatsapp-btn { position: fixed; bottom: 20px; right: 16px; z-index: 250; width: 54px; height: 54px; border-radius: 50%; background: #000; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,0.25); border: none; cursor: pointer; text-decoration: none; }

/* orch-wa-hero-fade: anasayfada hero üzerindeyken WhatsApp butonu soluk/küçük başlar,
   hero kaydırılıp geçildiğinde tam boyuta/opaklığa geçer. */
.whatsapp-btn.wa-dim {
	opacity: .55;
	transform: scale(.82);
}
.whatsapp-btn {
	transition: opacity .25s ease, transform .25s ease;
}

.whatsapp-btn svg { width: 26px; height: 26px; }

/* ESKİ dar çekmece tanımı — tam ekran menüyle değiştirildi (dosya sonundaki
   "Hamburger menü — PDPAOLA çizgisi" bloğu tek kaynaktır). Buradaki width:300px
   ve aşağıdaki 900px medya kuralı artık geçersiz; karışıklık olmasın diye
   kaldırıldı. */
.menu-drawer.open { transform: translateX(0); }
.drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.drawer-head .logo { letter-spacing: 0.05em; font-weight: 500; }
.drawer-head .close-btn { background: none; border: none; font-size: 16px; cursor: pointer; line-height: 1; color: #000; }
.menu-drawer nav { padding: 6px 0 28px; overflow-y: auto; flex: 1; }
.menu-drawer nav a { display: block; text-decoration: none; color: #000; cursor: pointer; -webkit-font-smoothing: antialiased; transition: opacity .2s ease; }
.menu-drawer nav a:hover, .menu-drawer nav a:active { opacity: 0.5; }
.menu-drawer nav a.nav-primary { padding: 16px 24px; font-size: 18px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.3; border-bottom: 1px solid var(--border); }
.menu-drawer nav a.nav-secondary { padding: 11px 24px; font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.04em; line-height: 1.3; color: var(--text-secondary); }
.menu-drawer nav .nav-divider { height: 1px; background: var(--border); margin: 14px 24px 10px; }
.menu-drawer-visual { display: none; }
@media (min-width: 900px) {
  .menu-drawer-nav-col { width: 320px; flex-shrink: 0; display: flex; flex-direction: column; border-right: 1px solid var(--border); }
  .menu-drawer nav { display: flex; flex-direction: column; justify-content: flex-start; padding: 18px 0 0; }
  .menu-drawer nav a.nav-primary { padding: 12px 44px; font-size: 23px; letter-spacing: 0.01em; border-bottom: none; }
  .menu-drawer nav a.nav-secondary { padding: 8px 44px 8px 45px; font-size: 12px; letter-spacing: 0.05em; }
  .menu-drawer nav .nav-divider { margin: 18px 44px 12px; }
  .menu-drawer-visual { display: flex; flex: 1; padding: 0; background: var(--surface-muted); }
  .menu-visual-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; width: 100%; height: 100%; }
  .menu-visual-tile { position: relative; display: block; overflow: hidden; text-decoration: none; width: 100%; height: 100%; background: #e9e5df; }
  .menu-visual-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
  .menu-visual-tile:hover img { transform: scale(1.06); }
  .menu-visual-tile .tile-label { position: absolute; left: 18px; bottom: 18px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 500; text-shadow: 0 1px 6px rgba(0,0,0,0.45); }
  .menu-visual-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.28), rgba(0,0,0,0) 45%); }
  .menu-visual-tile-wide { grid-column: span 2; }
}
.cart-drawer, .size-guide-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 340px; max-width: 88vw; background: var(--bg); z-index: 301; transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; }
.cart-drawer.open, .size-guide-drawer.open { transform: translateX(0); }
.cart-drawer-body { padding: 16px 20px; overflow-y: auto; flex: 1; }
.cart-drawer-added { background: var(--surface-muted); padding: 10px 12px; font-size: 11px; margin-bottom: 16px; }
.cart-drawer-footer { padding: 16px 20px; border-top: 1px solid var(--border); }
.cart-drawer-footer .row { display: flex; justify-content: space-between; font-size: 12px; font-weight: 500; text-transform: uppercase; margin-bottom: 12px; }
.cart-drawer-empty { text-align: center; padding: 60px 20px; font-size: 12px; color: var(--text-secondary); }

/* ==========================================================================
   Category / product-grid (category page, search results, favorites, cross-sell)
   ========================================================================== */
.cat-header { padding: 20px; }
/* Kategori açıklaması: PDPAOLA gibi 2 satırla sınırlı, "Devamını Oku" ile açılır. */
.cat-desc-wrap { margin-top: 4px; }
.cat-desc { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cat-desc-wrap.expanded .cat-desc { display: block; -webkit-line-clamp: unset; overflow: visible; }
.cat-desc-toggle {
  background: none; border: none; padding: 0; margin-top: 4px; cursor: pointer;
  font-size: 12px; font-weight: 500; text-decoration: underline; color: #7f7f7f; font-family: inherit;
}
.cat-desc-wrap:not(.has-overflow) .cat-desc-toggle { display: none; }
.cat-header h1 { font-size: 20px; text-transform: none; font-weight: 500; letter-spacing: 0; line-height: 1; margin: 0 0 10px; }
.cat-header .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); margin: 0 0 8px; }
.cat-header p { font-size: 12px; font-weight: 500; color: #7f7f7f; margin: 0; line-height: 1.28; }
.cat-header a { color: var(--text-primary); text-decoration: underline; }
/* PDPAOLA gibi: açıklama sola yaslı dar bir sütun; ekranın sonuna kadar uzamaz */
.cat-desc-wrap { max-width: 560px; }
/* WordPress's Query Loop wraps items in its own .wp-block-post-template
   element — make it transparent to layout so its children become direct
   grid items of .product-grid / .blog-grid instead of one oversized cell. */
.wp-block-post-template { display: contents; }
.product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; background: var(--bg); list-style: none; margin: 0; padding: 0; }
.product-grid .wp-block-woocommerce-product-price { padding: 0; margin: 0 0 8px; font-size: 12px; font-weight: 500; }
.product-grid .wp-block-woocommerce-product-button { margin-top: 8px; }
.product-grid .wp-block-woocommerce-product-button .wp-block-button__link { width: 100%; background: #000; color: #fff; border-radius: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; padding: 10px; }
.product-card { background: var(--bg); position: relative; }
.product-card .img-wrap { position: relative; aspect-ratio: 4/5; background: var(--surface-muted); overflow: hidden; }

/* Kart üzerindeki mini galeri (PDPAOLA tarzı) — ürüne girmeden kaydırarak
   diğer fotoğrafları görebilme. Masaüstünde imleç üzerine gelince otomatik
   ikinci fotoğrafa geçer (initCardGalleries, orchards.js); dokunmatikte
   parmakla kaydırılır. Ayrı ok butonu yok — geçiş tamamen hover/kaydırmayla. */
.card-gallery-link { display: block; width: 100%; height: 100%; }
.card-gallery {
  display: flex; width: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; touch-action: pan-x pan-y;
  align-items: stretch;
}
.card-gallery::-webkit-scrollbar { display: none; }
.card-slide { display: block; position: relative; flex: 0 0 100%; scroll-snap-align: start; height: 100%; }
.card-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
/* card-gallery ve card-slide artık <span> (wpautop <a> içinde blok <div>
   görünce araya boş <p> sokup görseli 14px aşağı itiyordu; span inline
   olduğu için wpautop dokunmaz, biz display ile blok/flex davranışı veririz). */
.product-card .img-wrap .card-gallery img { position: absolute; }

.card-scrollbar-track { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,0.5); z-index: 2; }
.card-scrollbar-thumb { position: absolute; top: 0; left: 0; height: 100%; background: #fff; transition: left 0.15s ease-out; }
.product-card .img-wrap img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.badge-fine { position: absolute; top: 10px; left: 10px; background: #000; color: #fff; font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 8px; z-index: 2; }
.card-actions { position: absolute; bottom: 12px; left: 8px; right: 8px; display: flex; justify-content: space-between; z-index: 2; }
.card-actions button { background: none; border: none; cursor: pointer; font-size: 18px; color: var(--text-secondary); }
.product-info { padding: 20px 8px 10px; }
.product-info h3 { font-size: 11px; font-weight: 700; text-transform: none; letter-spacing: 0.02em; margin: 0 0 2px; line-height: 1.4; }
.product-info .card-material { font-size: 11px; color: var(--text-secondary); margin: 0 0 4px; line-height: 1.4; }
.product-info .material { font-size: 11px; color: var(--text-secondary); margin: 0 0 2px; }
.product-info .price { font-size: 12px; font-weight: 500; margin: 0 0 8px; }
.swatch-row { display: flex; gap: 5px; }
.swatch-row .dot { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--border); }
.swatch-row[data-card-swatches] .dot { padding: 0; cursor: pointer; box-shadow: 0 0 0 2px transparent; transition: box-shadow .15s ease; }
.swatch-row[data-card-swatches] .dot:hover { box-shadow: 0 0 0 2px var(--border); }
.swatch-row[data-card-swatches] .dot.active { box-shadow: 0 0 0 1.5px #fff, 0 0 0 3px #111; }
.quick-size { display: none; padding: 0 8px 10px; }
.quick-size.open { display: block; }
.quick-size-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.quick-size-row button { border: 1px solid var(--border); background: var(--bg); font-size: 11px; padding: 5px 8px; cursor: pointer; font-family: inherit; }
.quick-add-bar { width: 100%; background: #000; color: #fff; border: none; padding: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; font-family: inherit; }
.cross-sell { padding: 30px 0 0; }
.cross-sell h3 { font-size: 13px; text-transform: uppercase; font-weight: 500; margin-bottom: 14px; }

/* ==========================================================================
   Cart page
   ========================================================================== */
.cart-wrap { padding: 20px; }
.cart-title-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.cart-title-row h1 { font-size: 18px; text-transform: uppercase; font-weight: 500; margin: 0; }
.cart-title-row a { font-size: 11px; text-decoration: underline; color: var(--text-secondary); cursor: pointer; }
.cart-section-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-bottom: 16px; }
.cart-item { display: flex; gap: 14px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--border); position: relative; }
.cart-item-remove-btn { position: absolute; top: 0; right: 0; background: none; border: none; font-size: 12px; color: var(--text-muted); cursor: pointer; padding: 4px; }
.cart-item-remove-btn:hover { color: var(--text-primary); }
.cart-item img, .cart-item .ph { width: 90px; height: 90px; background: var(--surface-muted); flex-shrink: 0; object-fit: cover; }
.cart-item-info h3 { font-size: 12px; font-weight: 700; text-transform: uppercase; margin: 0 0 6px; }
.cart-item-info .price { font-size: 12px; font-weight: 500; margin: 0 0 6px; }
.cart-item-info .material { font-size: 11px; color: var(--text-secondary); margin: 0 0 4px; }
.cart-item-info .qty-row { font-size: 11px; text-transform: uppercase; color: var(--text-secondary); margin-top: 10px; }
.cart-item-info .remove { font-size: 11px; text-decoration: underline; cursor: pointer; color: var(--text-secondary); margin-top: 8px; display: inline-block; }
.cart-total-row { display: flex; justify-content: space-between; font-size: 12px; text-transform: uppercase; font-weight: 500; padding: 14px 0; border-top: 1px solid #000; }
.cart-note { font-size: 11px; color: var(--text-secondary); margin: 10px 0; }
.cart-note a { color: var(--text-primary); text-decoration: underline; }
.cart-cta { width: 100%; background: #000; color: #fff; border: none; padding: 15px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; margin-top: 10px; font-family: inherit; text-decoration: none; display: block; text-align: center; }

/* ==========================================================================
   Checkout page
   ========================================================================== */
.checkout-wrap { padding: 20px; }
.checkout-title { font-size: 18px; text-transform: uppercase; font-weight: 500; margin: 0 0 20px; }
.checkout-steps { display: flex; gap: 16px; font-size: 11px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 24px; letter-spacing: 0.03em; }
.checkout-steps span.active { color: var(--text-primary); font-weight: 500; border-bottom: 2px solid #000; padding-bottom: 4px; }
.form-group { margin-bottom: 14px; }
.form-group label { display: block; font-size: 11px; text-transform: uppercase; color: var(--text-secondary); margin-bottom: 6px; letter-spacing: 0.03em; }
.form-group input, .form-group select { width: 100%; border: 1px solid var(--border); padding: 10px 12px; font-size: 13px; font-family: inherit; border-radius: 0; background: var(--bg); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pay-methods { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 20px; }
.pay-method { border: 1px solid var(--border); padding: 12px; font-size: 12px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.pay-method.selected { border: 2px solid #000; }
.pay-detail { display: none; border: 1px solid var(--border); border-top: none; padding: 16px; margin-bottom: 12px; }
.pay-detail.show { display: block; }
.card-row { display: flex; gap: 10px; }
.card-row .form-group { flex: 1; }
.installment-table { width: 100%; border-collapse: collapse; margin-top: 4px; }
.installment-table td { border: 1px solid var(--border); padding: 9px 10px; font-size: 11px; }
.installment-table tr { cursor: pointer; }
.installment-table tr.selected td { background: #000; color: #fff; }
.installment-table td:last-child { text-align: right; font-weight: 500; }
.havale-box { font-size: 12px; line-height: 1.7; }
.havale-box strong { letter-spacing: 0.03em; }
.havale-discount { display: inline-block; background: var(--surface-muted); padding: 3px 8px; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; }
.secure-bar { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; padding: 14px 0 4px; }
.kurumsal-fields { display: none; }
.kurumsal-fields.show { display: block; }
.order-summary { border-top: 1px solid #000; margin-top: 20px; padding-top: 16px; }
.order-summary .row { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 8px; color: var(--text-secondary); }
.order-summary .row.total { color: var(--text-primary); font-weight: 500; font-size: 14px; border-top: 1px solid var(--border); padding-top: 10px; margin-top: 8px; }
.installment-note { font-size: 11px; color: var(--text-secondary); background: var(--surface-muted); padding: 10px 12px; margin-bottom: 16px; }
@media (min-width: 900px) { .checkout-wrap, .cart-wrap { max-width: 700px; margin: 0 auto; padding: 40px; } }

/* ==========================================================================
   WooCommerce native Cart / Checkout (Blocks output + classic shortcode
   fallback) — restyled to match the Orchards brand rather than replacing
   the block/shortcode markup itself, since that markup carries the real
   cart/payment logic.
   ========================================================================== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-cart-form, form.checkout {
  font-family: inherit; max-width: 700px; margin: 0 auto; padding: 30px 20px;
  /* WooCommerce bu bloklara width:100% verir; üstüne padding eklediğimizde
     content-box davranışı kutuyu 40px şişiriyordu. Mobilde bu taşma
     body{overflow-x:hidden} tarafından kırpılıyor, sağdaki 40px görünmez
     oluyordu (onay kutuları yarım kalıyordu). */
  box-sizing: border-box;
}
/* Ödeme sayfası sepetten farklı: yan yana iki sütun (form + sipariş özeti)
   barındırır. 700px'e sıkıştırıldığında özet sütununa 245px kalıyor ve ürün
   adı 7 satıra sarıyordu. 1200px'te özet 406px'e çıkıyor, ad 2 satıra iniyor. */
.wp-block-woocommerce-checkout { max-width: 1200px; }
.wc-block-cart-items, table.shop_table { border-top: 1px solid var(--border); }
.wc-block-cart-item, .woocommerce-cart-form .cart_item { border-bottom: 1px solid var(--border); padding: 16px 0; }
/* PDPAOLA'daki gibi sepet sayfasında ürün görseli küçük bir simge değil,
   gerçek bir ürün fotoğrafı gibi görünsün diye büyütüldü (80px → 140px). */
.wc-block-cart-item__image, .wc-block-cart-item__image img { width: 140px !important; height: 175px !important; }
.wc-block-cart-item__image img { object-fit: cover; }
.wc-block-components-product-name, .cart_item .product-name a { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--text-primary); text-decoration: none; }
.wc-block-components-totals-item, .cart_totals tr { font-size: 12px; }
.wc-block-components-totals-item__label, .cart_totals th { color: var(--text-secondary); text-transform: uppercase; font-size: 11px; }
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
#place_order, .checkout-button {
  width: 100%; background: #000 !important; color: #fff !important; border: none !important;
  padding: 15px !important; font-size: 12px !important; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.05em; border-radius: 0 !important;
}
.wc-block-components-radio-control__label, .wc_payment_methods label { font-size: 13px; }
.wc-block-components-text-input input, .wc-block-components-address-form input,
form.checkout input.input-text, form.checkout select {
  border: 1px solid var(--border) !important; border-radius: 0 !important; font-family: inherit;
}
.wc-block-cart__totals-title, .cart-collaterals h2 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }

/* ==========================================================================
   WooCommerce native My Account — same reasoning as cart/checkout above.
   The mockup's rich per-order production timeline needs real order-status
   data (a later backend step); this restyles what WooCommerce renders today.
   ========================================================================== */
/* ==========================================================================
   Hesap panosu (giriş yapmış kullanıcı)
   --------------------------------------------------------------------------
   Eski hâli: menü öğeleri flex-wrap ile rastgele sarıyor, "PANO SİPARİŞLER /
   İNDİRİMLER ADRESLER / HESAP DETAYLARI" diye kırılıyor, hangi öğenin nerede
   bittiği belli olmuyordu. Sebep: yatay flex + wrap + 20px gap.
   Yeni: masaüstünde SOL SÜTUN (dikey liste), mobilde tek satır yatay kaydırma.
   Böylece öğeler asla sarmaz, sıra hep aynı kalır.
   ========================================================================== */
/* DİKKAT: bu blok YALNIZ panoyu (giriş yapmış hâl) biçimlendirir.
   .logged-in ile sınırlanmazsa aşağıdaki grid kuralı GİRİŞ SAYFASINA da
   uygulanıyor ve 1000px'lik giriş formunu 190px'lik kenar çubuğuna
   hapsediyor — tam olarak bu hata yaşandı. */
body.logged-in.woocommerce-account .woocommerce {
  max-width: 1000px;
  margin: 0 auto;
  padding: 8px 20px 72px;
  box-sizing: border-box;
  font-family: inherit;
}
/* Mobilde DİKEY liste. Yatay kaydırma denendi ve kötüydü: 6 öğe 571px
   tutuyordu, ekran 375 — "Hesap detayları" ve "Oturumu kapat" sağda ekranın
   dışında kalıyor, orada olduklarını gösteren hiçbir işaret bulunmuyordu.
   Ana navigasyonda öğe saklamak kabul edilemez; dikey liste hepsini gösterir,
   dokunma hedefi de büyür. */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--border, #e5e0d8);
}
.woocommerce-MyAccount-navigation li {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-bottom: 1px solid var(--border, #e5e0d8);
}
.woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 2px;
  color: var(--text-secondary, #6b6560);
  text-decoration: none;
  transition: color .15s ease;
}
/* Sağdaki ok: "buraya basılır" işareti — dikey listede link olduğu
   kendiliğinden anlaşılmıyor. */
.woocommerce-MyAccount-navigation li a::after {
  content: "›";
  font-size: 15px;
  color: var(--border, #d8d2c8);
  transition: transform .15s ease, color .15s ease;
}
.woocommerce-MyAccount-navigation li a:hover { color: var(--text-primary, #1a1815); }
.woocommerce-MyAccount-navigation li a:hover::after {
  color: var(--text-secondary, #6b6560);
  transform: translateX(2px);
}
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--text-primary, #1a1815);
  font-weight: 600;
}
.woocommerce-MyAccount-navigation li.is-active a::after { content: none; }
/* Oturumu kapat listeden ayrılsın — yanlışlıkla basılan bir şey olmasın */
.woocommerce-MyAccount-navigation li--customer-logout { margin-top: 14px; border-top: 1px solid var(--border, #e5e0d8); }
.woocommerce-MyAccount-navigation li--customer-logout a { color: var(--text-muted, #9c948c); }
.woocommerce-MyAccount-content { font-size: 13.5px; line-height: 1.75; color: var(--text-secondary, #6b6560); }
.woocommerce-MyAccount-content p { margin: 0 0 14px; }
.woocommerce-MyAccount-content a { color: var(--text-primary, #1a1815); }

/* Masaüstü: sol sütun menü + içerik */
@media (min-width: 900px) {
  body.logged-in.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 60px;
    align-items: start;
    padding: 8px 0 96px;
  }
  .woocommerce-MyAccount-navigation ul { margin: 0; border-top: 0; }
  .woocommerce-MyAccount-navigation li { border-bottom: 0; font-size: 11.5px; }
  .woocommerce-MyAccount-navigation li a {
    padding: 9px 0 9px 12px;
    border-left: 2px solid transparent;
  }
  /* Masaüstünde ok gereksiz — sol çizgi zaten konumu söylüyor */
  .woocommerce-MyAccount-navigation li a::after { content: none; }
  .woocommerce-MyAccount-navigation li.is-active a { border-left-color: #1a1815; }
  .woocommerce-MyAccount-navigation li--customer-logout { margin-top: 16px; padding-top: 6px; }
  .woocommerce-MyAccount-content { padding-top: 4px; }
}
.woocommerce-orders-table, .woocommerce-table--order-details { width: 100%; border-collapse: collapse; font-size: 12px; }
.woocommerce-orders-table th, .woocommerce-orders-table td { border-bottom: 1px solid var(--border); padding: 10px 8px; text-align: left; }
.woocommerce-form-login input, .woocommerce-form-register input, .woocommerce-EditAccountForm input, .woocommerce-address-fields input {
  border: 1px solid var(--border) !important; border-radius: 0 !important; padding: 10px 12px; font-family: inherit; width: 100%;
}
.woocommerce-Button, button.woocommerce-button, input.woocommerce-Button {
  background: #000 !important; color: #fff !important; border: none !important; padding: 12px 22px !important;
  font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.05em; border-radius: 0 !important; cursor: pointer;
}

/* ==========================================================================
   Order confirmation ("Siparişiniz Alındı") — classic + Blocks output
   ========================================================================== */
.woocommerce-order, .wc-block-order-confirmation-status, .wc-block-order-confirmation-summary {
  max-width: 480px; margin: 0 auto; padding: 40px 24px; text-align: center; font-family: inherit;
}
.woocommerce-order h2, .wc-block-order-confirmation-status h2 { font-size: 20px; text-transform: uppercase; margin: 0 0 10px; }
.woocommerce-order-overview, .wc-block-order-confirmation-summary-list {
  list-style: none; border: 1px solid var(--border); padding: 20px; margin: 0 0 30px; text-align: left; font-size: 12px;
}
.woocommerce-order-overview li, .wc-block-order-confirmation-summary-list-item {
  display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border);
}
.woocommerce-order-overview li:last-child { border-bottom: none; }
.woocommerce-order-overview li strong, .wc-block-order-confirmation-summary-list-item-value { font-weight: 500; }

/* ==========================================================================
   Custom Design (AI) page
   ========================================================================== */
.design-hero { text-align: center; padding: 40px 20px 20px; }
.design-hero .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); margin: 0 0 8px; }
.design-hero h1 { font-size: 24px; margin: 0 0 10px; }
.design-hero p { font-size: 12px; color: var(--text-secondary); max-width: 380px; margin: 0 auto; line-height: 1.6; }
.design-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); margin: 0 20px 30px; }
.dstep { background: var(--bg); padding: 18px 14px; }
.dstep .num { font-size: 10px; color: var(--text-muted); letter-spacing: 0.08em; margin: 0 0 6px; }
.dstep h4 { font-size: 12px; text-transform: uppercase; margin: 0 0 5px; letter-spacing: 0.03em; }
.dstep p { font-size: 11px; color: var(--text-secondary); margin: 0; line-height: 1.55; }
.design-form { padding: 10px 20px 30px; max-width: 480px; margin: 0 auto; }
.chip-select { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.chip-select button.dchip { border: 1px solid var(--border); background: var(--bg); padding: 8px 14px; font-size: 12px; cursor: pointer; font-family: inherit; }
.chip-select button.dchip.selected { background: #000; color: #fff; border-color: #000; }
.design-upload { border: 1px dashed var(--border); padding: 24px; text-align: center; font-size: 12px; color: var(--text-secondary); margin-bottom: 16px; cursor: pointer; }
.design-generate-btn { width: 100%; background: #000; color: #fff; border: none; padding: 14px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; font-family: inherit; }
.design-result { display: none; padding: 0 20px 40px; max-width: 480px; margin: 0 auto; text-align: center; }
.design-result.show { display: block; }
.design-result img { width: 100%; aspect-ratio: 1/1; object-fit: cover; margin-bottom: 14px; }
.design-result .disclaimer { font-size: 11px; color: var(--text-secondary); background: var(--surface-muted); padding: 12px; margin-bottom: 16px; line-height: 1.6; text-align: left; }
.design-loading { display: none; text-align: center; padding: 40px 20px; font-size: 12px; color: var(--text-secondary); }
.design-loading.show { display: block; }
.design-trust { text-align: center; font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin: 26px 0 0; }
.consult-box { border: 1px solid #000; padding: 20px; margin-top: 26px; }
.consult-box h3 { font-size: 14px; text-transform: uppercase; margin: 0 0 6px; letter-spacing: 0.04em; }
.consult-box > p { font-size: 12px; color: var(--text-secondary); margin: 0 0 16px; line-height: 1.6; }
.consult-success { display: none; text-align: center; padding: 24px 10px; }
.consult-success.show { display: block; }
.consult-success h3 { font-size: 14px; text-transform: uppercase; margin: 0 0 8px; }
.consult-success p { font-size: 12px; color: var(--text-secondary); line-height: 1.7; margin: 0; }
.design-faq { max-width: 560px; margin: 34px auto 0; padding: 0 20px 10px; }
.design-faq h3 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 6px; }
@media (min-width: 900px) {
  .design-steps { grid-template-columns: repeat(4,1fr); max-width: 900px; margin: 0 auto 40px; }
  .design-form, .design-result { max-width: 560px; }
}

/* ==========================================================================
   Account page
   ========================================================================== */
.account-wrap { padding: 30px 20px; max-width: 380px; margin: 0 auto; }
.account-wrap h1 { font-size: 18px; text-transform: uppercase; font-weight: 500; margin: 0 0 24px; text-align: center; }
.google-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--bg); border: 1px solid var(--border); padding: 12px; font-size: 12px; font-weight: 500; cursor: pointer; font-family: inherit; letter-spacing: 0.02em; }
.google-btn:hover { border-color: #000; }
.google-btn svg { width: 17px; height: 17px; flex-shrink: 0; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.account-links { display: flex; justify-content: center; gap: 16px; font-size: 11px; margin-top: 16px; }
.account-links a { color: var(--text-secondary); text-decoration: underline; cursor: pointer; }
.order-history-item { border: 1px solid var(--border); padding: 14px; margin-bottom: 10px; font-size: 12px; display: flex; justify-content: space-between; }
.account-dash .dash-greeting { font-size: 13px; color: var(--text-secondary); margin: 0; }
.account-dash .dash-greeting a { text-decoration: underline; cursor: pointer; color: var(--text-secondary); }
.dash-size-row { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--border); padding: 13px 14px; margin-top: 14px; font-size: 12px; }
.dash-size-row strong { font-size: 14px; }
.dash-size-row a { text-decoration: underline; cursor: pointer; color: var(--text-secondary); font-size: 11px; }
.dash-track-card { border: 1px solid var(--border); padding: 16px; margin: 12px 0 24px; }
.dash-track-note { font-size: 10px; color: var(--text-muted); margin: 14px 0 0; line-height: 1.5; }

/* ==========================================================================
   About page
   ========================================================================== */
.about-page-hero { position: relative; aspect-ratio: 16/9; background: var(--surface-muted); }
.about-page-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-page-body { padding: 40px 20px; max-width: 560px; margin: 0 auto; text-align: center; }
.about-page-body .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); margin: 0 0 10px; }
.about-page-body h1 { font-size: 26px; margin: 0 0 20px; }
.about-page-body p { font-size: 13px; color: var(--text-secondary); line-height: 1.8; margin: 0 0 16px; text-align: left; }
.about-page-body p.signature { font-size: 12px; letter-spacing: 0.06em; color: var(--text-primary); text-align: left; margin: 24px 0 0; }
.about-cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; padding: 36px 20px 56px; }
.about-cta-btn { display: inline-block; padding: 14px 26px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; border: 1px solid var(--border); color: var(--text-primary); }
.about-cta-btn.primary { background: #141210; color: #fff; border-color: #141210; }
.why-lab { max-width: 720px; margin: 0 auto; padding: 40px 20px; }
.why-lab h2 { font-size: 18px; text-align: center; margin: 0 0 8px; }
.why-lab > p.sub { font-size: 12px; color: var(--text-secondary); text-align: center; margin: 0 0 28px; line-height: 1.7; }
.why-grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.why-cell { background: var(--bg); padding: 22px 18px; }
.why-cell h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 8px; }
.why-cell p { font-size: 12px; color: var(--text-secondary); line-height: 1.7; margin: 0; }
@media (min-width: 900px) {
  .about-page-body { max-width: 700px; }
  .why-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ==========================================================================
   Contact / FAQ page (shared acc-item accordion also used on design + product pages)
   ========================================================================== */
.contact-wrap { padding: 30px 20px; max-width: 480px; margin: 0 auto; }
.contact-wrap h1 { font-size: 20px; text-transform: uppercase; font-weight: 500; margin: 0 0 8px; }
.contact-wrap .sub { font-size: 12px; color: var(--text-secondary); margin: 0 0 24px; }
.contact-info-row { display: flex; gap: 20px; font-size: 12px; margin-bottom: 30px; flex-wrap: wrap; }
.contact-info-row div p:first-child { color: var(--text-muted); font-size: 10px; text-transform: uppercase; margin: 0 0 4px; }
.contact-info-row div p:last-child { margin: 0; font-weight: 500; }
.faq-heading { font-size: 14px; text-transform: uppercase; font-weight: 500; margin: 30px 0 4px; border-top: 1px solid var(--border); padding-top: 20px; }
.acc-item { border-top: 1px solid var(--border); }
.acc-trigger { width: 100%; display: flex; justify-content: space-between; align-items: center; background: none; border: none; padding: 14px 0; cursor: pointer; text-align: left; font-size: 13px; font-family: inherit; color: var(--text-primary); }
.acc-icon { font-size: 16px; }
.acc-panel { display: none; padding: 0 0 16px; font-size: 12px; color: var(--text-secondary); line-height: 1.6; }
.acc-panel.open { display: block; }

/* ==========================================================================
   Blog detail page
   ========================================================================== */
.blog-detail-hero { width: 100%; aspect-ratio: 16/10; background: var(--surface-muted); }
.blog-detail-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-detail-body { padding: 30px 20px; max-width: 680px; margin: 0 auto; }
.blog-detail-body .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-secondary); margin: 0 0 10px; }
.blog-detail-body h1 { font-size: 24px; margin: 0 0 14px; line-height: 1.3; }
.blog-detail-body .meta { font-size: 11px; color: var(--text-muted); margin: 0 0 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.blog-detail-body p { font-size: 14px; line-height: 1.85; color: var(--text-primary); margin: 0 0 20px; }
.blog-detail-body h2 { font-size: 17px; text-transform: uppercase; margin: 34px 0 14px; }
.blog-related { padding: 40px 20px; border-top: 1px solid var(--border); }
.blog-related h3 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 20px; text-align: center; color: var(--text-secondary); }
.blog-related .blog-grid { padding: 0; }
@media (min-width: 900px) { .blog-detail-body { padding: 50px 20px; } .blog-detail-body h1 { font-size: 30px; } }

/* ==========================================================================
   Product detail page
   ========================================================================== */
.pd-wrap { padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; }
.pd-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.pd-gallery::-webkit-scrollbar { display: none; }
.pd-gallery .pd-slide { flex: 0 0 100%; width: 100%; min-width: 100%; scroll-snap-align: center; position: relative; aspect-ratio: 4/5; background: var(--surface-muted); }
.pd-gallery .pd-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* PDPAOLA tarzı ince kaydırma göstergesi — nokta değil, resmin hemen
   altında ince bir çizgi; kaydırdıkça koyu kısım kayarak ilerler. */
.pd-scrollbar-track { position: relative; height: 2px; background: var(--border); margin: 0; }
.pd-scrollbar-thumb { position: absolute; top: 0; left: 0; height: 100%; background: #000; transition: left 0.15s ease-out; }
.pd-info { padding: 20px; }
.pd-eyebrow { font-size: 11px; text-transform: uppercase; color: var(--text-muted); margin: 0 0 8px; letter-spacing: 0.06em; }
.pd-breadcrumb { font-size: 10px; color: var(--text-muted); margin: 0 0 14px; font-style: normal; }
.pd-rating { font-size: 11px; color: var(--text-secondary); margin: 0 0 16px; display: flex; align-items: center; gap: 6px; }
.pd-rating-stars { color: #000; font-size: 11px; letter-spacing: 1px; }
.pd-rating-count { color: var(--text-muted); }
.pd-title { font-size: 14px; text-transform: none; font-weight: 700; letter-spacing: 0; margin: 0 0 6px; line-height: 1.1; }
.pd-tags { display: flex; gap: 8px; margin-bottom: 20px; font-size: 12px; color: var(--text-secondary); }
.pd-tags span:not(:last-child)::after { content: '/'; margin-left: 8px; color: var(--text-muted); }
.pd-price { font-size: 14px; font-weight: 700; margin: 0 0 16px; }
/* Charm ürünlerde normal ürün fiyatını GİZLE — seçime göre güncellenen .orch-charm-price gösterilir (çift fiyat çözümü). */
.pd-price-charm-hidden { display: none; }
.pd-section-label { font-size: 12px; text-transform: uppercase; color: var(--text-secondary); margin: 0 0 10px; letter-spacing: 0.03em; }
.pd-related { padding: 44px 20px 24px; border-top: 1px solid var(--border); margin-top: 30px; }
.pd-related h3 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 20px; text-align: center; color: var(--text-secondary); }
.pd-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 760px; margin: 0 auto; }
.pd-related-grid .product-card { cursor: pointer; }
.pd-related-grid .product-info h3 { font-size: 12px; font-weight: 700; margin: 8px 0 3px; }
.pd-related-grid .product-info .material { font-size: 10.5px; color: var(--text-secondary); margin: 0 0 3px; }
.pd-related-grid .product-info .price { font-size: 12px; font-weight: 500; margin: 0; }
/* NOT: bu blok aşağıdaki tanım tarafından eziliyor — tek kaynak orası. */
.pd-swatches { display: flex; gap: 8px; margin-bottom: 24px; }
.pd-swatch { width: 18px; height: 18px; border-radius: 50%; cursor: pointer; border: 1px solid var(--border); }
.pd-option-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.pd-option { min-width:42px; padding:9px 12px; border:1px solid var(--border); background:#fff; color:#111; font:inherit; font-size:12px; cursor:pointer; }
.pd-option.active { border-color:#111; background:#111; color:#fff; }
.pd-carat-row { display: flex; gap: 24px; flex-wrap: wrap; justify-content: center; margin-bottom: 6px; }
.pd-carat-row button { padding: 4px 0; background: none; border: none; border-bottom: 1px solid transparent; font-size: 12px; font-weight: 500; color: var(--text-secondary); cursor: pointer; font-family: inherit; }
.pd-carat-row button.active { color: #000; font-weight: 500; border-bottom: 1px solid #000; }
.pd-carat-hint { font-size: 10px; color: var(--text-muted); text-align: center; margin: 0 0 24px; font-style: italic; }
.pd-size-row { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; margin-bottom: 8px; }
.pd-size-row button { padding: 4px 0; background: none; border: none; border-bottom: 1px solid transparent; font-size: 12px; font-weight: 500; color: var(--text-secondary); cursor: pointer; font-family: inherit; }
.pd-size-row button.active { color: #000; font-weight: 500; border-bottom: 1px solid #000; }
.pd-size-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.pd-size-hint { font-size: 11px; color: var(--text-muted); margin: 0 0 24px; }
.pd-size-guide { font-size: 11px; text-decoration: underline; color: var(--text-secondary); cursor: pointer; display: inline-block; }
.pd-facts { display: flex; gap: 24px; padding: 16px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 24px; }
.pd-facts div p:first-child { font-size: 10px; color: var(--text-muted); text-transform: uppercase; margin: 0 0 4px; }
.pd-facts div p:last-child { font-size: 13px; margin: 0; }
.pd-note { font-size: 11px; color: var(--text-muted); text-align: center; margin: 8px 0 0; }
.pd-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.pd-spec-grid .pd-spec-cell { padding: 10px 0; border-top: 1px solid var(--border); }
.pd-spec-grid .pd-spec-cell:nth-child(-n+2) { border-top: none; }
.pd-spec-grid .pd-spec-cell p:first-child { font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin: 0 0 3px; }
.pd-spec-grid .pd-spec-cell p:last-child { font-size: 13px; font-weight: 500; margin: 0; }
.pd-accordion { margin-top: 10px; }
.pd-variable-note { font-size: 10px; color: var(--text-muted); font-style: italic; margin: 12px 0 0 !important; padding-top: 10px; border-top: 1px dashed var(--border); }
.pd-trust { margin-top: 22px; }
.pd-trust .pt-heading { font-size: 15px; font-weight: 500; margin: 0 0 16px; }
.pd-trust .pt-row { display: flex; align-items: center; gap: 16px; padding: 9px 0; font-size: 14px; color: var(--text-primary); }
.pd-trust .pt-icon { flex-shrink: 0; width: 30px; height: 30px; }
.pd-trust .pt-icon svg { width: 100%; height: 100%; stroke: #000; fill: none; stroke-width: 1.3; }
.pd-delivery { font-size: 12.5px; text-align: center; margin: 10px 0 0; color: var(--text-secondary); }
.pd-delivery strong { color: #000; font-weight: 500; }
.pd-whatsapp-ask { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 12px; border: 1px solid #25D366; color: #1a9e4b; font-size: 12px; font-weight: 500; text-decoration: none; letter-spacing: 0.02em; }
.pd-whatsapp-ask svg { width: 16px; height: 16px; flex-shrink: 0; }
.card-actions-heart { background: none; border: 1px solid var(--border); cursor: pointer; font-size: 16px; color: var(--text-secondary); padding: 8px 14px; margin-top: 10px; width: 100%; }
.card-actions-heart.active { color: #000; border-color: #000; }
.pd-info .wc-block-components-product-price { font-size: 14px; font-weight: 700; margin: 0 0 16px; }
.pd-info .wp-block-woocommerce-add-to-cart-with-options { margin-bottom: 20px; }
.pd-info .wc-block-add-to-cart-with-options .wc-block-add-to-cart-with-options__button,
.pd-info .wc-block-components-product-button__button { width: 100%; background: #000 !important; color: #fff !important; border: none !important; padding: 15px !important; font-size: 12px !important; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; border-radius: 0 !important; }
@media (min-width: 900px) {
  .pd-wrap { grid-template-columns: 1.8fr 1fr; gap: 50px; max-width: 1680px; margin: 0 auto; padding: 40px; align-items: start; }
  .pd-gallery { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; overflow-x: visible; scroll-snap-type: none; }
  .pd-gallery .pd-slide { flex: none; width: auto; min-width: 0; scroll-snap-align: none; }
  .pd-scrollbar-track { display: none; }
  .pd-info { padding: 0; position: sticky; top: 96px; align-self: start; }
  .pd-title { font-size: 14px; }
  .pd-size-row button, .pd-carat-row button { font-size: 13px; }
  .pd-size-row, .pd-carat-row { gap: 32px; }
  .product-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ==========================================================================
   Order success / legal / search / favorites / cargo tracking / 404
   ========================================================================== */
.order-success-wrap { padding: 60px 24px; max-width: 480px; margin: 0 auto; text-align: center; }
.order-success-icon { width: 56px; height: 56px; border-radius: 50%; border: 2px solid #000; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; font-size: 26px; }
.order-success-wrap h1 { font-size: 20px; text-transform: uppercase; margin: 0 0 10px; }
.order-success-wrap .sub { font-size: 13px; color: var(--text-secondary); margin: 0 0 30px; line-height: 1.7; }
.order-success-box { border: 1px solid var(--border); padding: 20px; text-align: left; margin-bottom: 30px; }
.order-success-box .row { display: flex; justify-content: space-between; font-size: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.order-success-box .row:last-child { border-bottom: none; }
.order-success-box .row span:first-child { color: var(--text-muted); text-transform: uppercase; font-size: 10px; }
.order-success-box .row span:last-child { font-weight: 500; }
.os-account-prompt { border: 1px solid #000; padding: 16px; margin-bottom: 20px; text-align: left; }
.os-account-prompt h3 { font-size: 12px; text-transform: uppercase; margin: 0 0 6px; letter-spacing: 0.04em; }
.os-account-prompt p { font-size: 12px; color: var(--text-secondary); line-height: 1.6; margin: 0; }
@media (min-width: 900px) { .order-success-wrap { padding: 90px 24px; } }

.legal-wrap { padding: 30px 20px 60px; max-width: 680px; margin: 0 auto; }
.legal-wrap h1 { font-size: 20px; text-transform: uppercase; margin: 0 0 6px; }
.legal-wrap .updated { font-size: 11px; color: var(--text-muted); margin: 0 0 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.legal-wrap h2 { font-size: 14px; text-transform: uppercase; margin: 28px 0 10px; }
.legal-wrap p, .legal-wrap li { font-size: 13px; line-height: 1.8; color: var(--text-secondary); margin: 0 0 14px; }
.legal-wrap ul { padding-left: 20px; margin: 0 0 14px; }

.search-bar-wrap { padding: 20px; border-bottom: 1px solid var(--border); }
.search-bar-wrap .search-input-row { display: flex; align-items: center; border: 1px solid #000; padding: 10px 14px; gap: 10px; }
.search-bar-wrap .search-input-row input { border: none; outline: none; font-family: inherit; font-size: 13px; flex: 1; background: none; }
.search-results-count { padding: 16px 20px 0; font-size: 12px; color: var(--text-secondary); }
.orchards-search-block.wp-block-search { max-width: 100%; }
.orchards-search-block .wp-block-search__inside-wrapper { border: 1px solid #000; }
.orchards-search-block .wp-block-search__input { border: none !important; padding: 10px 14px !important; font-size: 13px; font-family: inherit; }
.orchards-search-block .wp-block-search__button { background: #000 !important; color: #fff !important; border: none !important; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; }

.favorites-empty { padding: 80px 24px; text-align: center; }
.favorites-empty .heart-icon { font-size: 32px; margin-bottom: 16px; display: block; }
.favorites-empty h1 { font-size: 18px; text-transform: uppercase; margin: 0 0 10px; }
.favorites-empty p { font-size: 13px; color: var(--text-secondary); margin: 0 0 24px; }
.fav-toolbar { display: flex; gap: 10px; padding: 16px 20px 0; }
.fav-toolbar button { flex: 1; padding: 11px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 500; background: var(--bg); border: 1px solid #000; cursor: pointer; font-family: inherit; }
.fav-toolbar button.primary { background: #000; color: #fff; }
.fav-share-hint { display: none; margin: 12px 20px 0; padding: 12px 14px; background: var(--surface-muted); font-size: 12px; line-height: 1.6; }
.fav-share-hint.show { display: block; }
.fav-share-hint code { background: var(--bg); border: 1px solid var(--border); padding: 2px 6px; font-size: 11px; word-break: break-all; }
.compare-wrap { display: none; padding: 20px; }
.compare-wrap.show { display: block; }
.compare-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.compare-table th, .compare-table td { border: 1px solid var(--border); padding: 10px 8px; text-align: center; vertical-align: top; }
.compare-table th { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); font-weight: 500; background: var(--surface-muted); text-align: left; width: 88px; }
.compare-table img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.compare-table .cmp-name { font-weight: 500; font-size: 11px; line-height: 1.4; }
.compare-table .cmp-price { font-weight: 500; font-size: 13px; }
.fav-card-wrap { position: relative; }
.fav-remove-btn { position: absolute; top: 8px; right: 8px; z-index: 2; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,0.92); border: none; font-size: 11px; cursor: pointer; }
.favorites-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; padding: 16px 20px 40px; }
.favorites-grid .fav-card-wrap { border: 1px solid var(--border); }
.favorites-grid .product-card .img-wrap { aspect-ratio: 4/5; }
.favorites-grid .product-info { padding: 10px; }
.favorites-grid .product-info h3 { font-size: 11px; line-height: 1.4; margin: 0 0 4px; font-weight: 700; }
.favorites-grid .product-info .material { font-size: 9px; color: var(--text-muted); margin: 0 0 4px; }
.favorites-grid .product-info .price { font-size: 12px; font-weight: 500; margin: 0; }
.favorites-grid .badge-fine { font-size: 8px; padding: 3px 6px; }
@media (min-width: 900px) {
  .favorites-grid { grid-template-columns: repeat(4,1fr); max-width: 1000px; margin: 0 auto; gap: 20px; padding: 20px 40px 60px; }
  .compare-wrap, .fav-toolbar { max-width: 700px; margin-left: auto; margin-right: auto; }
}

.track-wrap { padding: 30px 20px 50px; max-width: 480px; margin: 0 auto; }
.track-wrap h1 { font-size: 20px; text-transform: uppercase; font-weight: 500; margin: 0 0 8px; }
.track-wrap .sub { font-size: 12px; color: var(--text-secondary); margin: 0 0 24px; line-height: 1.6; }
.track-form { display: flex; border: 1px solid #000; margin-bottom: 10px; }
.track-form input { flex: 1; border: none; outline: none; padding: 12px 14px; font-size: 13px; font-family: inherit; }
.track-form button { background: #000; color: #fff; border: none; padding: 0 18px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; font-family: inherit; }
.track-hint { font-size: 10px; color: var(--text-muted); margin: 0 0 30px; }
.track-result { display: none; }
.track-result.show { display: block; }
.track-meta { border: 1px solid var(--border); padding: 16px; margin-bottom: 24px; }
.track-meta .row { display: flex; justify-content: space-between; font-size: 12px; padding: 6px 0; }
.track-meta .row span:first-child { color: var(--text-muted); text-transform: uppercase; font-size: 10px; }
.track-meta .row span:last-child { font-weight: 500; }
.track-status-pill { display: inline-block; background: #000; color: #fff; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 10px; margin-bottom: 16px; }
.timeline { position: relative; padding-left: 22px; }
.timeline::before { content: ''; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 1px; background: var(--border); }
.tl-item { position: relative; padding-bottom: 22px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before { content: ''; position: absolute; left: -22px; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: var(--bg); border: 1px solid var(--text-muted); }
.tl-item.done::before { background: #000; border-color: #000; }
.tl-item .tl-title { font-size: 12px; font-weight: 500; text-transform: uppercase; margin: 0 0 3px; letter-spacing: 0.03em; }
.tl-item .tl-detail { font-size: 11px; color: var(--text-secondary); margin: 0 0 2px; line-height: 1.5; }
.tl-item .tl-date { font-size: 10px; color: var(--text-muted); margin: 0; }
.tl-item.pending .tl-title { color: var(--text-muted); font-weight: 400; }

.notfound-wrap { padding: 100px 24px; text-align: center; max-width: 420px; margin: 0 auto; }
.notfound-wrap h1 { font-size: 40px; font-weight: 500; margin: 0 0 10px; letter-spacing: 0.02em; }
.notfound-wrap p { font-size: 13px; color: var(--text-secondary); margin: 0 0 30px; }

/* ==========================================================================
   Query Loop product cards — mockup product-card typography
   ========================================================================== */
.product-info .wp-block-post-title { font-size: 12px; font-weight: 700; text-transform: uppercase; margin: 0 0 4px; line-height: 1.4; letter-spacing: 0; }
.product-info .wp-block-post-title a { text-decoration: none; color: var(--text-primary); }
.product-info .wc-block-components-product-price,
.product-info .wp-block-woocommerce-product-price { display: block; font-size: 12px; font-weight: 500; margin: 0; color: var(--text-primary); }
.product-card .img-wrap .wp-block-post-featured-image { margin: 0; height: 100%; }
.product-card .img-wrap .wp-block-post-featured-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ==========================================================================
   Single product — WooCommerce classic template, Orchards görünümü
   (mockup pd-* düzeninin klasik markup'a uyarlanması)
   ========================================================================== */
.orchards-single-product .woocommerce-breadcrumb { font-size: 10px; color: var(--text-muted); padding: 14px 20px 0; margin: 0; }
.orchards-single-product .woocommerce-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.orchards-single-product span.onsale { background: #000; color: #fff; border-radius: 0; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 10px; min-height: 0; min-width: 0; line-height: 1.4; }
.orchards-single-product div.product { display: grid; grid-template-columns: 1fr; gap: 0; }
.orchards-single-product div.product div.images,
.orchards-single-product div.product div.summary { float: none; width: 100%; margin: 0; }
.orchards-single-product div.product div.images img { width: 100%; display: block; }
.orchards-single-product div.product div.summary { padding: 20px; }
.orchards-single-product .product_title { font-size: 20px; text-transform: uppercase; font-weight: 500; margin: 0 0 10px; letter-spacing: 0.02em; }
.orchards-single-product .summary p.price { font-size: 20px; color: var(--text-primary); margin: 0 0 26px; font-weight: 400; }
.orchards-single-product .summary .woocommerce-product-details__short-description { font-size: 13px; color: var(--text-secondary); line-height: 1.7; margin-bottom: 20px; }
.orchards-single-product form.cart table.variations { margin-bottom: 8px; }
.orchards-single-product form.cart table.variations th.label { font-size: 12px; text-transform: uppercase; color: var(--text-secondary); letter-spacing: 0.03em; font-weight: 400; padding-right: 14px; }
.orchards-single-product form.cart table.variations select { border: 1px solid var(--border); padding: 9px 12px; font-size: 13px; font-family: inherit; border-radius: 0; background: var(--bg); width: 100%; max-width: 260px; }
.orchards-single-product form.cart .reset_variations { font-size: 11px; color: var(--text-muted); }
.orchards-single-product form.cart .quantity .qty { border: 1px solid var(--border); padding: 12px 8px; font-size: 13px; font-family: inherit; border-radius: 0; width: 64px; text-align: center; }
.orchards-single-product .single_add_to_cart_button,
.orchards-single-product .woocommerce-variation-add-to-cart .button {
  background: #000 !important; color: #fff !important; border: none !important; border-radius: 0 !important;
  padding: 15px 28px !important; font-size: 12px !important; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.05em; font-family: inherit; flex: 1;
}
.orchards-single-product form.cart { display: block; margin-bottom: 8px; }
.orchards-single-product .woocommerce-variation-price .price { font-size: 16px; }
.orchards-single-product .product_meta { display: none; }
.orchards-single-product .woocommerce-tabs { padding: 0 20px; }
.orchards-single-product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 16px; border-bottom: 1px solid var(--border); display: flex; gap: 20px; }
.orchards-single-product .woocommerce-tabs ul.tabs li { background: none; border: none; border-radius: 0; margin: 0; padding: 0; }
.orchards-single-product .woocommerce-tabs ul.tabs li::before,
.orchards-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.orchards-single-product .woocommerce-tabs ul.tabs li a { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); padding: 12px 0; font-weight: 400; }
.orchards-single-product .woocommerce-tabs ul.tabs li.active a { color: var(--text-primary); font-weight: 500; border-bottom: 2px solid #000; }
.orchards-single-product .woocommerce-tabs .panel { font-size: 13px; line-height: 1.75; color: var(--text-secondary); max-width: 760px; }
.orchards-single-product .woocommerce-tabs .panel h2:first-of-type { display: none; }
.orchards-single-product .related.products { padding: 44px 20px 24px; border-top: 1px solid var(--border); margin-top: 30px; }
.orchards-single-product .related.products > h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 20px; text-align: center; color: var(--text-secondary); font-weight: 400; }
@media (min-width: 900px) {
  .orchards-single-product div.product { grid-template-columns: 1.4fr 1fr; gap: 50px; max-width: 1480px; margin: 0 auto; padding: 40px; align-items: start; }
  .orchards-single-product div.product div.summary { padding: 0; position: sticky; top: 96px; }
  .orchards-single-product .product_title { font-size: 24px; }
  .orchards-single-product .woocommerce-tabs { max-width: 1480px; margin: 0 auto; padding: 0 40px; }
}

/* Classic ul.products ızgarası (ilgili ürünler + olası klasik listelemeler) */
ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 14px; list-style: none; margin: 0; padding: 0; float: none; }
ul.products::before, ul.products::after { display: none; }
ul.products li.product { float: none !important; width: 100% !important; margin: 0 !important; text-align: left; }
ul.products li.product img { width: 100%; aspect-ratio: 4/5; object-fit: cover; background: var(--surface-muted); display: block; margin: 0 0 8px; }
ul.products li.product .woocommerce-loop-product__title { font-size: 12px; font-weight: 700; text-transform: none; margin: 0 0 3px; padding: 0; line-height: 1.4; color: var(--text-primary); }
ul.products li.product .price { font-size: 12px; font-weight: 500; color: var(--text-primary); margin: 0; }
ul.products li.product .button, ul.products li.product .added_to_cart { display: none !important; }
@media (min-width: 900px) { ul.products { grid-template-columns: repeat(4, 1fr); gap: 20px; } }


/* card-actions içindeki + artık ürüne giden bir bağlantı (a etiketi) */
.card-actions a { background: none; border: none; cursor: pointer; font-size: 18px; color: var(--text-secondary); text-decoration: none; line-height: 1; }
.card-actions a:hover, .card-actions button:hover { color: #000; }
.card-actions [data-wishlist-toggle].active { color: #000; }

/* PHP paginate_links çıktısı (kategori/mağaza ızgarası) */
.orchards-pagination { padding: 10px 20px 50px; }
.orchards-pagination ul { list-style: none; display: flex; gap: 8px; justify-content: center; margin: 0; padding: 0; }
.orchards-pagination .page-numbers { display: inline-block; min-width: 32px; text-align: center; padding: 7px 10px; font-size: 12px; border: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }
.orchards-pagination .page-numbers.current { background: #000; color: #fff; border-color: #000; }
.orchards-pagination .page-numbers:hover:not(.current) { border-color: #000; }

/* ==========================================================================
   Single product — new custom template additions (content-single-product.php)
   ========================================================================== */
.pd-badge-360 { position: absolute; top: 12px; left: 12px; z-index: 2; background: rgba(0,0,0,0.6); color: #fff; font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 10px; }
/* Kaplama rengi seçicileri. 26px sayfanın ince tipografisi yanında iri
   duruyordu (ürün kartlarındaki noktalar 14px). 18px ikisinin arasında:
   dokunma hedefi yeterli, görsel ağırlık sayfaya uygun. */
.pd-swatches { display: flex; gap: 8px; margin-bottom: 20px; }
.pd-swatch {
  width: 18px; height: 18px; border-radius: 50%; cursor: pointer; padding: 0;
  border: 2px solid transparent;
  box-shadow: 0 0 0 1px var(--border);
  transition: box-shadow .15s ease;
}
.pd-swatch:hover { box-shadow: 0 0 0 1px var(--text-secondary, #6b6560); }
.pd-swatch.active { border-color: transparent; box-shadow: 0 0 0 1.5px #fff, 0 0 0 3px #111; }

/* Native WooCommerce variation form: keep it in the DOM (so its real <select>
   drives price/stock via WooCommerce's own JS) but visually replaced by our
   pd-swatches pills above. */
.pd-info form.variations_form table.variations,
.pd-info .woocommerce-variation-add-to-cart .reset_variations { display: none; }
.pd-info .single_add_to_cart_button {
  width: 100%; background: #000 !important; color: #fff !important; border: none !important;
  padding: 15px !important; font-size: 12px !important; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.05em; border-radius: 0 !important; cursor: pointer; margin-top: 6px;
}
.pd-info .quantity { display: inline-block; margin-bottom: 10px; }
.pd-info .quantity .qty { border: 1px solid var(--border); padding: 12px 8px; font-size: 13px; font-family: inherit; border-radius: 0; width: 64px; text-align: center; }
.pd-info .woocommerce-variation-price { font-size: 20px; margin: 10px 0; }
.pd-info p.stock { font-size: 11px; color: var(--text-muted); margin: 6px 0; }

/* Native description/reviews: shown as flat stacked sections, mockup-style,
   not interactive tabs (nav hidden, all panels forced visible). */
.pd-native-sections { max-width: 100%; padding: 10px 20px 40px; border-top: 1px solid var(--border); margin-top: 20px; }
.pd-native-sections .wc-tabs { display: none; }
.pd-native-sections .woocommerce-Tabs-panel { display: block !important; padding: 20px 0; border-bottom: 1px solid var(--border); }
.pd-native-sections .woocommerce-Tabs-panel:before {
  content: attr(id); display: block; font-size: 12px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.06em; margin-bottom: 14px; color: var(--text-secondary);
}
.pd-native-sections #tab-description:before { content: "Açıklama"; }
.pd-native-sections #tab-reviews:before { content: "Değerlendirmeler"; }
.pd-native-sections .woocommerce-Reviews-title { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-secondary); margin: 0 0 14px; }

@media (min-width: 900px) {
  .pd-native-sections { max-width: 1680px; margin: 0 auto; padding: 20px 40px 50px; }
}

/* ==========================================================================
   Ürün 360° görüntüleyici
   ========================================================================== */
.pd-slide-360 { background: var(--surface-muted); }
.pd-360-viewer { width: 100%; height: 100%; user-select: none; }
.pd-360-viewer img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }

.pd-gallery-wrap { position: relative; }

/* ============================================================
   Sepet sayfası (WooCommerce Cart Block) — PDPAOLA tarzı
   Sorun: tema global img kuralı sepet küçük görselini şişirip
   ürün adının üstüne bindiriyordu. Aşağıda blok yeniden,
   temiz iki sütunlu (ürünler | özet) PDPAOLA düzenine sokuluyor.
   ============================================================ */
.wc-block-cart__main { padding-right: 0 !important; }
.wc-block-cart-items { border: 0 !important; }

/* Tablo başlığı (Ürün / Toplam) — ince, büyük harf */
.wc-block-cart-items__header {
	border-bottom: 1px solid var(--border) !important;
	text-transform: uppercase; letter-spacing: .09em;
	font-size: 11px; color: #9a948a; padding: 0 0 14px !important; background: none !important;
}

/* Satır — görsel | detay | fiyat */
.wc-block-cart-items__row {
	align-items: start !important;
	padding: 26px 0 !important;
	border-top: 1px solid #efece7 !important;
	border-bottom: 0 !important;
}
.wc-block-cart-items__row:first-child { border-top: 0 !important; }

/* Görsel — sabit kare, yuvarlatılmış (asıl düzeltme) */
.wc-block-cart-item__image { padding: 0 !important; margin: 0 !important; }
.wc-block-cart-item__image img {
	width: 96px !important; height: 96px !important; max-width: 96px !important;
	object-fit: cover; border-radius: 0; background: #f6f4f0;
}

/* Ürün detayları */
.wc-block-cart-item__product { padding: 0 !important; }
.wc-block-components-product-name {
	font-size: 15px !important; font-weight: 500 !important; color: #111 !important;
	text-decoration: none !important; line-height: 1.35;
}
.wc-block-components-product-metadata, .wc-block-components-product-metadata * {
	font-size: 12.5px !important; color: #9a948a !important;
}
.wc-block-components-product-metadata { margin-top: 5px !important; }

/* Miktar seçici — hap biçimli */
.wc-block-cart-item__quantity { margin-top: 16px !important; padding: 0 !important; display: flex; align-items: center; gap: 18px; }
.wc-block-components-quantity-selector {
	width: 112px !important; border: 1px solid #e0ddd6 !important;
	border-radius: 0 !important; height: 36px !important; margin: 0 !important; float: none !important;
}
.wc-block-components-quantity-selector__input { font-size: 13px !important; color: #111 !important; }
.wc-block-components-quantity-selector__button { color: #111 !important; font-size: 15px !important; }

/* Kaldır bağlantısı */
.wc-block-cart-item__remove-link {
	font-size: 11px !important; text-transform: uppercase; letter-spacing: .06em;
	color: #9a948a !important; text-decoration: underline !important; margin: 0 !important;
}

/* Fiyat — sağa hizalı */
.wc-block-cart-item__total { text-align: right !important; padding: 0 !important; }
.wc-block-cart-item__prices, .wc-block-cart-item__prices * {
	font-size: 15px !important; font-weight: 500 !important; color: #111 !important;
}

/* Sağ sütun: sipariş özeti */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: #efece7 !important; }
.wc-block-components-totals-item { font-size: 14px !important; }
.wc-block-components-totals-item__label { color: #6b665e !important; }
.wc-block-components-totals-footer-item { font-size: 17px !important; font-weight: 600 !important; }

/* Ödemeye geç butonu — siyah hap */
.wc-block-cart__submit-button, a.wc-block-cart__submit-button, .wc-block-cart__submit-container a {
	background: #111 !important; color: #fff !important; border: 0 !important;
	border-radius: 999px !important; height: 54px !important;
	font-size: 12.5px !important; letter-spacing: .09em !important; text-transform: uppercase; font-weight: 600 !important;
	display: flex; align-items: center; justify-content: center;
}

/* Geniş ekran: iki sütun + yapışkan özet + temiz grid */
@media (min-width: 601px) {
	.wc-block-cart { gap: 56px !important; }
	.wc-block-cart-items__row {
		grid-template-columns: 96px minmax(0,1fr) auto !important;
		column-gap: 22px !important;
	}
	.wc-block-cart__sidebar { position: sticky; top: 24px; }
}

/* Mobil: küçük görsel, native yığılma düzeni korunur */
@media (max-width: 600px) {
	.wc-block-cart-item__image img { width: 80px !important; height: 80px !important; max-width: 80px !important; }
}

/* ============================================================
   Anasayfa hero — NOT: Mevcut hero görseli içerik olarak tek ton
   değil (üst açık, orta koyu, alt yine açık); dikey parlaklık
   dalgalanması ~std 10-11. Bu, hiçbir CSS degrade/kırpma ile tam
   düzelmiyor — karartma yalnızca farkı başka yöne kaydırıyor.
   Bu yüzden yapay karartma KALDIRILDI; kalıcı çözüm düz/eşit
   aydınlatmalı bir hero görseli koymaktır.
   ============================================================ */
.hero-banner { position: relative; }
.hero-banner .hb-text { position: relative; z-index: 2; }
/* Karartma katmanları kaldırıldığı için, açık zeminde beyaz metin
   okunur kalsın diye görsele değil YAZIYA hafif bir gölge veriyoruz. */
.hero-banner .hb-text p.kicker,
.hero-banner .hb-text h1,
.hero-banner .hb-text p.sub {
	text-shadow: 0 1px 3px rgba(0,0,0,0.45), 0 2px 22px rgba(0,0,0,0.4);
}

/* ============================================================
   Kategori/arşiv başlığı ve açıklaması — PDPAOLA ölçüleri
   Başlık: 20px / 500 / uppercase / siyah
   Açıklama: 12px / 500 / gri (#7f7f7f). (!important, theme.json
   global stillerini geçmek için.)
   ============================================================ */
.wp-block-query-title { font-size: 20px !important; font-weight: 500 !important; line-height: 1.1 !important; text-transform: uppercase; color: #000 !important; }
.wp-block-term-description { font-size: 12px !important; font-weight: 500 !important; line-height: 1.3 !important; color: #7f7f7f !important; }

/* Kişiselleştirme alanları (isim/harf) — ürün sayfası */
.orch-personalize { margin: 4px 0 18px; display: flex; flex-direction: column; gap: 12px; }
.orch-pf { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.orch-pf label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.03em; color: #1a1a1a; }
.orch-pf .req { color: #b0472e; }
.orch-pf input { box-sizing: border-box; border: 1px solid #d8d3cc; border-radius: 0; padding: 11px 12px; font-size: 14px; font-family: inherit; background: #fff; width: 100%; }
.orch-pf input:focus { outline: none; border-color: #000; }
.orch-pf input.pf-error { border-color: #b0472e; background: #fdf6f4; }
.orch-pf select { box-sizing: border-box; border: 1px solid #d8d3cc; border-radius: 0; padding: 11px 12px; font-size: 14px; font-family: inherit; background: #fff; width: 100%; cursor: pointer; }
.orch-pf select:focus { outline: none; border-color: #000; }

/* ===== Kişiye Özel sayfası — iki yol + gümüş self-servis ===== */
.kx-paths { max-width: 1000px; margin: 0 auto 8px; padding: 8px 20px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kx-path { display: block; padding: 30px 26px; border: 1px solid #e7e3dd; border-radius: 16px; background: #fff; text-decoration: none; color: #1a1a1a; transition: .15s; }
.kx-path:hover { border-color: #000; transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.kx-silver { background: linear-gradient(160deg,#fbfbfa,#f2f0ec); }
.kx-diamond { background: linear-gradient(160deg,#fbfaf8,#efeae2); }
.kx-tag { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #8a8580; margin: 0 0 8px; }
.kx-path h2 { font-size: 22px; font-weight: 500; margin: 0 0 8px; }
.kx-path p { font-size: 13px; line-height: 1.6; color: #5a564f; margin: 0 0 14px; }
.kx-cta { font-size: 13px; font-weight: 600; color: #000; }
.kx-section { max-width: 1000px; margin: 0 auto; padding: 44px 20px 0; text-align: center; }
.kx-h2 { font-size: 24px; font-weight: 500; margin: 6px 0 8px; }
.kx-sub { font-size: 13px; color: #7a756e; line-height: 1.6; max-width: 560px; margin: 0 auto 22px; }
.kx-note { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 auto; }
.kx-tiles { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.kx-tile { display: flex; flex-direction: column; gap: 4px; padding: 22px 16px; border: 1px solid #e7e3dd; border-radius: 12px; background: #fff; text-decoration: none; color: #1a1a1a; transition: .15s; }
.kx-tile:hover { border-color: #000; transform: translateY(-2px); }
.kx-tile-h { font-size: 15px; font-weight: 500; }
.kx-tile-d { font-size: 12px; color: #8a8580; }
.kx-photo { max-width: 1000px; margin: 44px auto 0; padding: 0 20px; }
.kx-photo-text { background: #141210; color: #f3efe9; border-radius: 18px; padding: 40px 34px; }
.kx-photo-text .kicker { color: #b89f7e; }
.kx-photo-text h2 { font-size: 26px; font-weight: 500; margin: 6px 0 12px; }
.kx-photo-text p { font-size: 14px; line-height: 1.7; color: #cfc8bd; max-width: 620px; }
.kx-assure { border-left: 2px solid #b89f7e; padding-left: 14px; margin-top: 16px !important; }
.kx-assure strong { color: #fff; }
.kx-cta-btn { display: inline-block; margin-top: 20px; padding: 12px 22px; background: #f3efe9; color: #141210; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; }
.kx-how { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; text-align: left; }
.kx-step { padding: 22px; border: 1px solid #eee7df; border-radius: 12px; background: #fff; }
.kx-step .num { width: 30px; height: 30px; border-radius: 50%; background: #141210; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; margin: 0 0 10px; }
.kx-step h4 { font-size: 15px; font-weight: 500; margin: 0 0 6px; }
.kx-step p { font-size: 12.5px; color: #6a655e; line-height: 1.6; margin: 0; }
.kx-gift { max-width: 1000px; margin: 40px auto 0; padding: 16px 20px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; align-items: center; font-size: 12px; letter-spacing: .02em; color: #6a655e; text-align: center; }
.kx-gift i { color: #cbc4b9; font-style: normal; }
.kx-proof { padding-bottom: 8px; }
@media (max-width: 760px) {
  .kx-paths { grid-template-columns: 1fr; }
  .kx-tiles { grid-template-columns: 1fr 1fr; }
  .kx-how { grid-template-columns: 1fr; }
}

/* Kişiye özel fotoğraf yükleme (plaka) */
.orch-file { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.orch-file .orch-file-input { font: inherit; font-size: 13px; padding: 9px; border: 1px dashed #c9c2b8; border-radius: 0; background: #faf9f7; cursor: pointer; }
.orch-file.pf-error .orch-file-input { border-color: #b0472e; background: #fdf6f4; }
.orch-file-preview { font-size: 12px; color: #6a655e; display: flex; align-items: center; gap: 10px; }
.orch-file-preview img { max-width: 64px; height: auto; border-radius: 0; border: 1px solid #e0dcd5; }
.orch-file-preview .ok { color: #2f7d4f; }
.orch-file-note { font-size: 11px; color: #8a8580; line-height: 1.5; margin: 0; }

/* İşlenmiş (gümüşe kazınmış) fotoğraf önizlemesi */
.orch-file-preview { flex-direction: column; align-items: flex-start; gap: 6px; }
.orch-engrave { width: 150px; height: 150px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.orch-engrave-cap { font-size: 11px; color: #8a8580; }
.orch-file-status { font-size: 12px; color: #6a655e; }
.orch-file-status.ok { color: #2f7d4f; }

/* ===== Anasayfa: Gümüş / Kişiye Özel giriş bölümü ===== */
.hp-silver { padding: 60px 20px; background: linear-gradient(180deg,#f6f4f0,#efece6); }
.hp-silver-inner { max-width: 960px; margin: 0 auto; text-align: center; }
.hp-silver-inner h2 { font-size: 28px; font-weight: 500; margin: 6px 0 10px; }
.hp-silver-sub { font-size: 14px; line-height: 1.7; color: #6a655e; max-width: 560px; margin: 0 auto 26px; }
.hp-silver-tiles { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 26px; }
.hp-silver-tile { display: flex; flex-direction: column; gap: 4px; padding: 22px 16px; background: #fff; border: 1px solid #e7e3dd; border-radius: 2px; text-decoration: none; color: #1a1a1a; transition: .15s; }
.hp-silver-tile:hover { border-color: #000; transform: translateY(-2px); }
.hp-silver-tile .t-h { font-size: 15px; font-weight: 500; }
.hp-silver-tile .t-d { font-size: 12px; color: #8a8580; }
.hp-silver-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.hp-silver-btn { display: inline-block; padding: 13px 26px; border-radius: 2px; font-size: 13px; font-weight: 600; text-decoration: none; border: 1px solid #000; color: #000; background: #fff; transition: .15s; }
/* Varyasyonlu üründe formdaki tekrar eden fiyatı gizle — seçilen fiyat üstteki .pd-price'a yansıtılır (orchards.js) */
.pd-info .woocommerce-variation-price { display: none; }
.hp-silver-btn.primary { background: #141210; color: #fff; border-color: #141210; }
.hp-silver-btn:hover { transform: translateY(-2px); }
@media (max-width: 1024px) and (min-width: 761px) { .hp-silver-tiles { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) { .hp-silver-tiles { grid-template-columns: 1fr; } .hp-silver { padding: 44px 18px; } }

/* ===== Hero slider (kaydırmalı banner) ===== */
.hero-banner .hero-slider { position: absolute; inset: 0; z-index: 0; }
.hero-banner .hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; }
.hero-banner .hero-slide.active { opacity: 1; }
.hero-banner .hero-dots { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; gap: 8px; justify-content: center; z-index: 3; }
.hero-dots .hero-dot { width: 8px; height: 8px; border-radius: 50%; border: none; padding: 0; background: rgba(255,255,255,.55); cursor: pointer; transition: .2s; }
.hero-dots .hero-dot.active { background: #fff; transform: scale(1.25); }

/* Chip-nav mobil: çok kategori olunca yana taşmak yerine 2 sıraya sar */
@media (max-width: 760px) {
  /* Mobilde SARMA YOK — yatay kaydırma korunuyor ki solma katmanı
     anlamlı kalsın ve şerit dikeyde yer kaplamasın. */
  .chip-wrap { padding: 4px 16px 12px; }
  .chip-nav { gap: 4px; font-size: 9.5px; }
  .chip-nav a { white-space: nowrap; padding: 5px 8px; letter-spacing: .01em; }
  .chip-solma { width: 40px; }
}

/* ---- Sticky Sepete Ekle çubuğu (mobil) ---- */
.pd-sticky-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 240; display: none; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--border); transform: translateY(100%); transition: transform .25s ease; }
.pd-sticky-bar.visible { transform: translateY(0); }
.psb-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.psb-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psb-price { font-size: 12px; color: var(--text-secondary); }
.psb-price .screen-reader-text { display: none; }
.psb-btn { flex-shrink: 0; background: #000; color: #fff; border: none; padding: 13px 22px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; font-family: inherit; cursor: pointer; }
@media (max-width: 900px) { .pd-sticky-bar { display: flex; } }
/* Ürün sayfasında mobilde sticky çubuğun sağında WhatsApp balonu için boşluk bırak,
   böylece "Sepete Ekle" butonu ekranın en sağına değil biraz içeriye/sola oturur. */
@media (max-width: 900px) {
	.pd-sticky-bar { padding-right: 78px; }
	.whatsapp-btn { width: 44px; height: 44px; }
	.whatsapp-btn svg { width: 20px; height: 20px; }
	/* Çubuk görünürken WP balonu üst çizgiyle çakışıyordu — çizginin altına, çubuğun
	   yüksekliğine göre dikey ortalanmış konuma indir. */
	.single-product .whatsapp-btn { bottom: calc(9px + (env(safe-area-inset-bottom) / 2)); }
}

/* ---- Kişiye Özel Tasarım — editoryal hero + numaralı süreç anlatımı
   (orchards.co/pages/custom-design referans alınarak yeniden tasarlandı) ---- */
.design-hero-v2 { text-align: center; padding: 70px 20px 50px; max-width: 720px; margin: 0 auto; }
.design-hero-v2 .kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin: 0 0 22px; }
.design-hero-v2 h1 { font-size: 40px; font-weight: 400; line-height: 1.1; margin: 0 0 22px; letter-spacing: -0.01em; }
.design-hero-v2 .sub { font-size: 14px; color: var(--text-secondary); line-height: 1.7; max-width: 460px; margin: 0 auto 30px; }
.design-hero-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.design-hero-cta .hb-btn { position: static; display: inline-block; background: #141210; color: #fff; padding: 14px 26px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; }
.design-hero-secondary { display: inline-block; padding: 14px 26px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; color: var(--text-primary); border: 1px solid var(--border); }

.design-process { background: var(--surface-muted); padding: 60px 20px; text-align: center; }
.design-process .step-num { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin: 0 0 18px; }
.design-process h2 { font-size: 28px; font-weight: 400; line-height: 1.2; margin: 0 0 16px; }
.design-process .step-body { font-size: 13px; color: var(--text-secondary); max-width: 480px; margin: 0 auto 32px; line-height: 1.75; }
.design-process .step-media { max-width: 780px; margin: 0 auto; background: #fff; padding: 10px; box-shadow: 0 2px 20px rgba(0,0,0,0.06); }
.design-process .step-media img,
.design-process .step-media video { width: 100%; display: block; }
.design-process .step-caption { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); margin: 16px 0 0; }
.design-process + .design-process { border-top: 8px solid var(--bg); }

.design-final-cta { text-align: center; padding: 60px 20px 20px; max-width: 560px; margin: 0 auto; }
.design-final-cta h2 { font-size: 26px; font-weight: 400; line-height: 1.25; margin: 0 0 14px; }
.design-final-cta .sub { font-size: 13px; color: var(--text-secondary); line-height: 1.7; margin: 0 auto; }
.design-whatsapp-cta { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 400px; margin: 28px auto 30px; padding: 16px 26px; background: #141210; color: #fff; text-decoration: none; font-size: 13px; font-weight: 500; letter-spacing: 0.02em; }
.design-whatsapp-cta svg { width: 19px; height: 19px; flex-shrink: 0; fill: #fff; }
.design-whatsapp-cta:hover { background: #25D366; }

@media (min-width: 761px) {
  .design-hero-v2 { padding: 100px 20px 64px; }
  .design-hero-v2 h1 { font-size: 56px; }
  .design-process { padding: 84px 20px; }
  .design-process h2 { font-size: 36px; }
}

/* ==========================================================================
   Canlı arama (instant search) — PDPAOLA tarzı overlay
   Arama ikonuna basınca sayfa değişmeden üstten iner; yazdıkça otomatik
   sonuç gelir; sonuçlar kategori sayfasıyla aynı ürün kartları.
   ========================================================================== */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 4000;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.search-overlay.open { opacity: 1; visibility: visible; }
body.search-open { overflow: hidden; }

.search-overlay-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg, #fff);
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #eee);
  transform: translateY(-100%);
  transition: transform 0.28s cubic-bezier(0.22,0.61,0.36,1);
}
.search-overlay.open .search-overlay-bar { transform: translateY(0); }
.search-overlay-icon { flex: none; color: var(--text-secondary, #666); }
.search-overlay-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 16px;
  color: var(--text-primary, #111);
  padding: 6px 0;
  font-family: inherit;
  letter-spacing: -0.01em;
}
.search-overlay-input::placeholder { color: var(--text-muted, #999); }
.search-overlay-close {
  flex: none;
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  color: var(--text-secondary, #666);
  cursor: pointer;
  padding: 4px 8px;
}
.search-overlay-close:hover { color: var(--text-primary, #111); }

.search-overlay-results {
  background: var(--bg, #fff);
  max-height: calc(100vh - 62px);
  overflow-y: auto;
  transform: translateY(-8px);
  opacity: 0;
  transition: transform 0.28s ease 0.05s, opacity 0.28s ease 0.05s;
  padding: 16px 20px 40px;
}
.search-overlay.open .search-overlay-results { transform: translateY(0); opacity: 1; }
.search-overlay-results.loading { opacity: 0.5; }
.search-overlay-hint {
  text-align: center;
  color: var(--text-muted, #999);
  font-size: 13px;
  padding: 48px 20px;
  margin: 0;
}
/* Arama sonuç grid'i: kategori sayfasıyla aynı kart, üstte kategori başlığı
   olmadan sadece ürünler. Masaüstünde daha geniş görünsün diye 4 sütun. */
.search-overlay .search-grid {
  max-width: 1100px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .search-overlay .search-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .search-overlay-bar { padding: 22px 40px; }
  .search-overlay-results { padding: 20px 40px 60px; }
}

/* ==========================================================================
   İndirimli fiyat: üstü çizili normal fiyatı GÖSTERME
   Yusuf'un tercihi — indirim uygulandığında sadece indirimli fiyat görünür,
   eski fiyatın üstü çizili hali (<del>) hiçbir yerde gösterilmez.
   ========================================================================== */
.price del,
.woocommerce-Price-amount ~ del,
.wc-block-components-product-price del,
.wp-block-woocommerce-product-price del,
.woocommerce-variation-price del,
.summary .price del,
.product-info .price del,
ins.wc-block-components-product-price__value ~ del,
del.wc-block-components-product-price__regular {
  display: none !important;
}
/* <ins> (indirimli değer) altı çizilmeden, normal metin gibi görünsün. */
.price ins,
.wc-block-components-product-price ins,
.wp-block-woocommerce-product-price ins,
.woocommerce-variation-price ins,
.summary .price ins,
.product-info .price ins {
  text-decoration: none;
  background: transparent;
}

/* ==========================================================================
   CHARM SEÇİM ARAYÜZÜ (Charm / Charm & Kolye / Charm & Bileklik)
   PDPAOLA tarzı: ürün sayfasında Sepete Ekle'den önce yatay seçenek butonları.
   ========================================================================== */
.orch-charm-select { margin: 20px 0 18px; }
.orch-charm-select-label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6862);
  margin-bottom: 10px;
}
.orch-charm-options {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  align-items: baseline;
}
/* PDPAOLA birebir: seçenekler kutu değil, düz metin tablar (12px / 500);
   seçili olan yalnızca KALIN (900) olur — kenarlık/dolgu yok. */
.orch-charm-opt {
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-primary, #2b2926);
  font-size: 12px;
  font-weight: 500;
  font-family: inherit;
  letter-spacing: 0.01em;
  cursor: pointer;
  line-height: 1.2;
}
.orch-charm-opt:hover { color: #000; }
.orch-charm-opt.active { font-weight: 900; color: #000; }
.orch-charm-price {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary, #2b2926);
  letter-spacing: 0;
}
@media (max-width: 480px) {
  .orch-charm-options { gap: 18px; }
}

/* Charm "Setini Tamamla" — Sepete Ekle altında yatay kaydırmalı şerit (PDPAOLA) */
.orch-complete-set { margin: 22px 0 8px; }
.orch-complete-set-title {
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--text-primary, #2b2926);
  margin: 0 0 12px;
  font-weight: 500;
}
.orch-complete-set-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.orch-complete-set-strip::-webkit-scrollbar { display: none; }
.orch-cs-item {
  flex: 0 0 40%;
  min-width: 128px;
  max-width: 168px;
  scroll-snap-align: start;
}
/* Şerit içindeki kartı sadeleştir: küçük, kompakt (isim + fiyat + hızlı ekle). */
.orch-cs-item .product-card { font-size: 12px; }
.orch-cs-item .product-info h3 { font-size: 12px; margin: 8px 0 2px; }
.orch-cs-item .product-info .card-material { display: none; }
.orch-cs-item .product-info .price { font-size: 12px; }
.orch-cs-item .swatch-row { display: none; }
@media (min-width: 768px) {
  .orch-cs-item { flex-basis: 30%; min-width: 120px; }
}

/* ==========================================================================
   HARF SEÇİCİ (PDPAOLA "Select charm" birebir) — yazı alanı yerine harf grid.
   Ölçüler PDPAOLA'dan: 12px / ağırlık 500, SEÇİLİ harf 900 (yalnız kalınlık
   değişir, kenarlık/dolgu yok); hücre 32px genişlik; satır arası ferah.
   ========================================================================== */
.orch-letter-grid {
  display: flex;
  flex-wrap: wrap;
  row-gap: 22px;
  margin-top: 4px;
  max-width: 340px;
}
.orch-letter {
  width: 32px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-muted, #9a9791);
  font-size: 12px;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
}
.orch-letter:hover { color: var(--text-primary, #2b2926); }
.orch-letter.active { font-weight: 700; color: #000; }
.orch-pf .orch-letter-grid { display: flex; } /* p içinde inline span düzeltmesi */

/* Kaplama SWATCH — sitedeki kart noktalarıyla aynı dilde, küçük */
.orch-swatch-row { display: inline-flex; gap: 10px; align-items: center; margin-top: 2px; }
.orch-swatch-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.15);
  padding: 0;
  cursor: pointer;
  position: relative;
}
.orch-swatch-dot.active { box-shadow: 0 0 0 1.5px #fff, 0 0 0 2.5px var(--text-primary, #2b2926); }

/* WooCommerce klasik breadcrumb'ı gizle (remove_action'a ek güvence) —
   ürün/mağaza sayfalarında görsel-üstü "Ana Sayfa / Kategori" navigasyonu. */
.woocommerce-breadcrumb { display: none !important; }

/* ==========================================================================
   ADET SEÇİMİ KALDIR (tüm ürünlerde) — tek adet satış, PDPAOLA gibi.
   ========================================================================== */
.pd-info .quantity,
.orchards-single-product form.cart .quantity,
.pd-info form.cart .quantity { display: none !important; }

/* ==========================================================================
   ÜRÜN SAYFASI ALT BÖLÜMLERİ (PDPAOLA dizilimi + tipografi)
   Explore the Collection → Recently Viewed → Değerlendirmeler
   Başlıklar: 12px / 500 / uppercase (PDPAOLA birebir).
   ========================================================================== */
.pd-section-title {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  text-align: left;
  color: var(--text-primary, #2b2926);
  margin: 0 0 22px;
}
.pd-collection, .pd-recently {
  padding: 46px 0 20px 20px;
  border-top: 1px solid var(--border);
  margin-top: 34px;
}
/* Yatay kaydırmalı şerit (aşağı grid değil — sağa doğru kayar). */
.pd-collection-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-right: 20px;
  padding-bottom: 4px;
}
.pd-collection-strip::-webkit-scrollbar { display: none; }
.pd-cs-item {
  flex: 0 0 62%;
  min-width: 220px;
  max-width: 320px;
  scroll-snap-align: start;
}
.pd-cs-item .product-info .card-material { display: none; }
.pd-cs-item .swatch-row { display: flex; margin-top: 6px; }
@media (min-width: 768px) {
  .pd-cs-item { flex-basis: 23%; min-width: 180px; max-width: 380px; }
  .pd-section-title { text-align: left; padding-left: 4px; }
}
/* Recently Viewed kartları (JS ürettiği sade kartlar). */
.pd-rv-card .card-slide { display: block; position: relative; }
.pd-rv-card .card-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---- Sahiplerinin Sözleri (değerlendirme) — sade, premium, ufak yazı ---- */
.pd-reviews {
  padding: 52px 24px 48px;
  border-top: 1px solid var(--border);
  margin: 40px auto 0;
  max-width: 680px;
}
.pd-reviews .pd-section-title { margin-bottom: 28px; }
.pd-reviews .commentlist { list-style: none; margin: 0; padding: 0; }
.pd-reviews .comment_container { display: block; padding: 22px 0; border-bottom: 1px solid var(--border); }
.pd-reviews .comment-text { padding: 0; }
.pd-reviews .star-rating { font-size: 10px; margin-bottom: 10px; color: #2b2926; }
.pd-reviews .meta { font-size: 10.5px; color: var(--text-muted); margin-bottom: 8px; letter-spacing: 0.04em; text-transform: uppercase; }
.pd-reviews .meta strong { font-weight: 500; color: var(--text-secondary); }
.pd-reviews .description p { font-size: 13px; line-height: 1.7; color: var(--text-secondary); margin: 0; font-style: italic; }
/* Yorum yoksa: zarif boş durum. */
.pd-reviews .woocommerce-noreviews {
  font-size: 12px; color: var(--text-muted); text-align: center;
  letter-spacing: 0.02em; padding: 8px 0 24px; font-style: italic;
}
.pd-reviews .comment-form { margin-top: 28px; }
.pd-reviews .comment-form-rating label,
.pd-reviews .comment-form label { font-size: 11px; color: var(--text-secondary); letter-spacing: 0.02em; }
.pd-reviews .comment-form input[type=text],
.pd-reviews .comment-form input[type=email],
.pd-reviews .comment-form textarea {
  width: 100%; border: 1px solid var(--border); padding: 12px; font-family: inherit;
  font-size: 13px; border-radius: 0; margin-top: 5px; background: transparent;
}
.pd-reviews .comment-form .submit {
  background: #2b2926; color: #fff; border: none; padding: 13px 30px; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.06em; cursor: pointer; border-radius: 0; margin-top: 4px;
}
.pd-reviews .comment-form .submit:hover { background: #000; }

/* Değerlendirme onay-bekliyor bilgi kutusu */
.pd-review-pending {
  background: var(--surface-muted, #f4f3ef);
  border: 1px solid var(--border);
  padding: 14px 18px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 24px;
  text-align: center;
  letter-spacing: 0.01em;
}

/* ==========================================================================
   CHIP SEÇİCİLER (burç / doğum taşı ayı / charm sayısı) — küçük, kompakt.
   Harf ızgarasıyla aynı ince dil; kutu-chip formunda, sarmalanır.
   ========================================================================== */
.orch-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  max-width: 360px;
}
.orch-chip {
  padding: 5px 10px;
  border: 1px solid var(--border, #e3e0d9);
  background: transparent;
  color: var(--text-muted, #9a9791);
  font-size: 11px;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.2;
  letter-spacing: 0.01em;
  cursor: pointer;
  border-radius: 2px;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.orch-chip:hover { color: var(--text-primary, #2b2926); border-color: var(--text-primary, #2b2926); }
.orch-chip.active {
  border-color: #000;
  background: #000;
  color: #fff;
  font-weight: 500;
}
/* Sayı chip'leri kare/kompakt. */
.orch-chip-num .orch-chip { min-width: 30px; padding: 5px 0; text-align: center; }

/* ==========================================================================
   iOS OTOMATİK YAKINLAŞTIRMA ENGELİ — SİTE GENELİ
   --------------------------------------------------------------------------
   iOS Safari, font-size'ı 16px'ten KÜÇÜK bir alana dokunulduğunda sayfayı
   otomatik yakınlaştırır ve geri döndürmez — sayfa "masaüstünde açılmış gibi"
   görünür, görseller büyür. Çözüm: dokunmatik cihazlarda tüm form alanları
   16px. Masaüstündeki ince tipografi korunur (yalnızca dokunmatik hedeflenir).
   maximum-scale ile zoom yasaklamıyoruz — erişilebilirlik korunsun.
   ========================================================================== */
@media (hover: none) and (pointer: coarse) {
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
  input[type="search"], input[type="password"], input[type="url"], input[type="date"],
  select, textarea,
  .orch-pers-input, .newsletter-form input, .quantity input.qty {
    font-size: 16px;
  }
}


/* ==========================================================================
   TÜRKÇE İ KORUMASI
   --------------------------------------------------------------------------
   CSS `text-transform: uppercase` büyük harfe çevirmeyi TARAYICIYA bırakır.
   Türkçede "i" → "İ" olmalıdır; tarayıcı dil duyarlı çevirmezse "İsim"
   → "İSIM" olur (ikinci i noktasını kaybeder). Bu yüzden Türkçe metin taşıyan
   ürün ve kategori ADLARINDA uppercase kullanılmaz; adlar yazıldığı gibi
   görünür. (Aynı karar bölüm başlıklarında da uygulanmıştı.)
   ========================================================================== */
.pd-title, .product-info h3, .cat-header h1,
ul.products li.product .woocommerce-loop-product__title { text-transform: none; }

/* =========================================================================
 * ORCHARDS DÖNÜŞÜM PAKETİ — eşik çubuğu, öneri şeridi, hoş geldin pop-up'ı
 * Çizgi: PDPAOLA — keskin köşe, ince hatlar, bol boşluk, sakin tipografi.
 * ========================================================================= */

/* ---- Ücretsiz kargo eşik çubuğu ---- */
.ocd-shipbar {
  padding: 14px 20px 12px;
  border-bottom: 1px solid var(--border, #e5e0d8);
  background: var(--surface-muted, #faf8f5);
}
.orch-cartpage-bar {
  border: 1px solid var(--border, #e5e0d8);
  margin: 0 0 24px;
  max-width: 560px;
}
.ocd-shipbar-text {
  margin: 0 0 8px;
  font-size: 12.5px;
  letter-spacing: .02em;
  color: var(--text-secondary, #6b6560);
}
.ocd-shipbar-text strong {
  color: var(--text-primary, #1a1815);
  font-weight: 600;
}
.ocd-shipbar.is-done .ocd-shipbar-text {
  color: var(--text-primary, #1a1815);
  letter-spacing: .04em;
}
.ocd-shipbar-track {
  height: 2px;
  background: var(--border, #e5e0d8);
  overflow: hidden;
}
.ocd-shipbar-fill {
  display: block;
  height: 100%;
  width: 0;
  background: var(--text-primary, #1a1815);
  transition: width .45s ease;
}
.ocd-shipbar.is-done .ocd-shipbar-fill { background: var(--accent, #9a8866); }

/* ---- "Bununla iyi gider" öneri şeridi ---- */
.ocd-suggest {
  padding: 16px 20px;
  border-top: 1px solid var(--border, #e5e0d8);
}
.ocd-suggest-title {
  margin: 0 0 12px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6560);
}
.ocd-suggest-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.ocd-suggest-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.ocd-suggest-item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  background: var(--surface-muted, #faf8f5);
}
.ocd-suggest-name {
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--text-primary, #1a1815);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ocd-suggest-price {
  font-size: 11.5px;
  color: var(--text-secondary, #6b6560);
}

/* ---- Hoş geldin pop-up'ı ---- */
.orch-pop-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20, 18, 15, .38);
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 9998;
}
.orch-pop-overlay.open { opacity: 1; }
.orch-pop {
  position: fixed;
  z-index: 9999;
  background: var(--bg, #fff);
  /* Padding kutunun İÇİNDE kalsın — content-box olduğunda 24+24px dışarı
     ekleniyor ve panel ekrandan taşıp kapatma (✕) düğmesini görünmez
     kılıyordu. */
  box-sizing: border-box;
  width: min(400px, calc(100vw - 48px));
  left: 50%;
  top: 50%;
  transform: translate(-50%, -46%);
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
  padding: 44px 36px 36px;
  box-shadow: 0 24px 64px rgba(20, 18, 15, .18);
}
.orch-pop.open { opacity: 1; transform: translate(-50%, -50%); }
.orch-pop-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: none;
  border: 0;
  font-size: 15px;
  cursor: pointer;
  color: var(--text-secondary, #6b6560);
  padding: 6px;
}
/* Tipografi sitenin kendi "manifesto" bloğuyla birebir aynı hizada:
   temada TEK font var (Inter). Daha önce buraya
   var(--wp--preset--font-family--heading) yazılmıştı; öyle bir ön ayar
   olmadığı için tarayıcı Georgia'ya düşüyor ve pop-up sitenin geri
   kalanına yabancı duruyordu. */
.orch-pop-kicker {
  margin: 0 0 14px;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text-muted, #8a837c);
}
.orch-pop-title {
  margin: 0 0 18px;
  font-family: inherit;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-primary, #1a1815);
}
.orch-pop-text {
  margin: 0 0 24px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--text-secondary, #6b6560);
}
.orch-pop-form { display: flex; flex-direction: column; gap: 12px; }
.orch-pop-form input[type="email"],
.orch-pop-form input[type="text"] {
  border: 0;
  border-bottom: 1px solid var(--border, #d8d2c8);
  background: transparent;
  padding: 10px 2px;
  font-size: 16px; /* iOS zoom engeli */
  color: var(--text-primary, #1a1815);
  border-radius: 0;
}
.orch-pop-form input:focus {
  outline: none;
  border-bottom-color: var(--text-primary, #1a1815);
}
.orch-pop-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-secondary, #6b6560);
  margin-top: 4px;
}
.orch-pop-consent input { margin-top: 2px; }
.orch-pop-consent a { color: inherit; text-decoration: underline; }
.orch-pop-btn {
  margin-top: 8px;
  background: var(--text-primary, #1a1815);
  color: #fff;
  border: 0;
  padding: 14px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}
.orch-pop-btn:disabled { opacity: .55; cursor: default; }
.orch-pop-msg { margin: 0; font-size: 11.5px; color: #a05252; min-height: 1em; }
.orch-pop-done { margin: 8px 0 0; font-size: 13.5px; color: var(--text-primary, #1a1815); }

/* Mobil: alt yaprak (bottom sheet) — Google'ın mobil pop-up cezasına ve
   kullanım rahatlığına uygun; içerik kapatılmaz, alttan yükselir. */
@media (max-width: 640px) {
  .orch-pop {
    top: auto;
    bottom: 0;
    /* 100vw KULLANMA: dikey kaydırma çubuğunu da sayar, panel ekrandan
       taşar. left+right ile gerçek görünür genişliğe oturuyor. */
    left: 0;
    right: 0;
    width: auto;
    transform: translateY(12%);
    padding: 36px 24px calc(28px + env(safe-area-inset-bottom));
  }
  .orch-pop.open { transform: translateY(0); }
  .orch-pop-title { font-size: 23px; }
}

/* ---- Ödeme sayfası başlığı ----
   WooCommerce ödeme sayfasında menüyü/hamburger'i kasten gizler (dikkat
   dağıtmayan ödeme — sepet terkini azaltır). Bu doğru davranışı koruyup
   yalnızca düz "Orchards" yazısını gerçek logoyla değiştiriyoruz. */
.orch-co-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 20px;
  border-bottom: 1px solid var(--border, #e5e0d8);
  box-sizing: border-box;
}
.orch-co-logo { display: block; line-height: 0; }
.orch-co-logo img { height: 26px; width: auto; display: block; }
.orch-co-secure {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6560);
  white-space: nowrap;
}
@media (max-width: 640px) {
  .orch-co-header { padding: 16px; }
  .orch-co-logo img { height: 20px; }
  .orch-co-secure span { display: none; }
}

/* ---- Ödeme sayfası güvenlik bloğu ---- */
.orch-sec {
  max-width: 1200px;
  margin: 8px auto 56px;
  padding: 28px 20px 0;
  border-top: 1px solid var(--border, #e5e0d8);
  box-sizing: border-box;
}
.orch-sec-title {
  margin: 0 0 20px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-secondary, #6b6560);
}
.orch-sec-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.orch-sec-list li {
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary, #6b6560);
}
.orch-sec-list strong {
  display: block;
  margin-bottom: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary, #1a1815);
  letter-spacing: .01em;
}
.orch-sec-note {
  margin: 26px 0 0;
  font-size: 11.5px;
  color: var(--text-secondary, #6b6560);
}
.orch-sec-note a { color: inherit; text-decoration: underline; }
@media (max-width: 900px) {
  .orch-sec-list { grid-template-columns: 1fr 1fr; gap: 22px; }
}
@media (max-width: 560px) {
  .orch-sec { margin-bottom: 40px; padding-top: 24px; }
  .orch-sec-list { grid-template-columns: 1fr; gap: 18px; }
}

/* ---- Ana sayfa hero slider (2 slayt, her birinin kendi metni ve CTA'sı) ----
   Eski .hero-slider yalnız görseli değiştiriyordu; başlık ve butonlar ortaktı.
   Bu yüzden ayrı sınıf (.hb-slider) — çakışma olmasın. */
.hb-slider { position: relative; }
.hb-slider .hb-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .9s ease, visibility .9s;
}
.hb-slider .hb-slide.is-active { opacity: 1; visibility: visible; position: relative; }
.hb-dots {
  position: absolute;
  bottom: 18px;
  left: 0; right: 0;
  display: flex;
  gap: 8px;
  justify-content: center;
  z-index: 4;
}
.hb-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(255,255,255,.5);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.hb-dot:hover { background: rgba(255,255,255,.8); }
.hb-dot.is-active { background: #fff; transform: scale(1.3); }
/* Hareket hassasiyeti olan kullanıcı için geçişi kapat */
@media (prefers-reduced-motion: reduce) {
  .hb-slider .hb-slide { transition: none; }
}

/* ---- Kategori: Daha Fazla Yükle ---- */
.orch-more-wrap { text-align: center; padding: 32px 20px 56px; }
.orch-more-btn {
  background: none;
  border: 1px solid var(--text-primary, #1a1815);
  color: var(--text-primary, #1a1815);
  padding: 13px 34px;
  font-family: inherit;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.orch-more-btn:hover { background: var(--text-primary, #1a1815); color: #fff; }
.orch-more-btn:disabled { opacity: .5; cursor: default; }
.orch-more-btn:disabled:hover { background: none; color: var(--text-primary, #1a1815); }
.orch-more-status {
  margin: 12px 0 0;
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--text-secondary, #6b6560);
  min-height: 1em;
}

/* ---- Breadcrumb (site yolu) ----
   Ürün sayfalarına Google'dan doğrudan trafik geliyor; gelen kişiye "buradan
   yukarı" yolunu vermek gerekiyor. Sessiz durur, yer kaplamaz. */
/* Genişlik ve yatay boşluk .pd-wrap ile BİREBİR aynı olmalı — yoksa
   masaüstünde breadcrumb galerinin soluyla hizalanmaz, ortada asılı kalır.
   pd-wrap: max-width 1680px + padding 40px (900px üstü). */
.orch-crumbs { margin: 0 auto; padding: 8px 16px 8px; box-sizing: border-box; border-bottom: .8px solid var(--border, #e5e0d8); }
@media (min-width: 900px) {
  .orch-crumbs { max-width: 1680px; padding: 28px 40px 0; }
}
.orch-crumbs ol {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  letter-spacing: .02em;
  /* Soluk: breadcrumb dikkat çekmemeli, gerektiğinde fark edilmeli.
     Kalınlık düşürülemiyor (temada Inter'in yalnız 400+ ağırlıkları yüklü),
     bu yüzden hiyerarşi kontrastla kuruluyor. */
  color: var(--text-muted, #9c948c);
}
.orch-crumbs li { display: flex; align-items: center; gap: 6px; }
.orch-crumbs li + li::before { content: "›"; color: var(--border, #e5e0d8); }
.orch-crumbs a { color: var(--text-muted, #9c948c); text-decoration: none; }
.orch-crumbs a:hover { color: var(--text-secondary, #6b6560); text-decoration: underline; }
/* Bulunduğun sayfa tek koyu öğe — göz yolu kendiliğinden okunur */
.orch-crumbs [aria-current="page"] { color: var(--text-secondary, #6b6560); }
@media (max-width: 640px) {
  .orch-crumbs ol { font-size: 10.5px; gap: 5px; }
  /* Mobilde uzun zincir sarmasın; tek satır, taşan kısım kaydırılır */
  .orch-crumbs ol { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; }
  .orch-crumbs li { white-space: nowrap; }
}

/* ==========================================================================
   box-sizing düzeltmeleri — hesabım, sepet, sipariş onayı, tasarım formu
   --------------------------------------------------------------------------
   Temada KÜRESEL bir box-sizing sıfırlaması yok. Bu yüzden "genişlik +
   padding" birlikte verilen her kutu, padding kadar taşıyor:
       max-width:700px + padding:0 20px  →  gerçek genişlik 740px
       width:100%      + padding:0 20px  →  ebeveynini 40px aşar
   Mobilde body{overflow-x:hidden} taşan kısmı kırpıyor; sonuç "kaymış menü,
   yarım kalan yazı" oluyor. Aynı hata daha önce ödeme sayfasında ve hoş
   geldin pop-up'ında da çıktı — bu üçüncüsü.
   Küresel reset (*{box-sizing:border-box}) bunu tek satırda çözer ama
   tasarımın content-box'a göre ayarlanmış yerlerini kaydırabilir; o yüzden
   burada yalnız taramayla bulunan gerçek taşmalar hedefleniyor.
   ========================================================================== */
.woocommerce-account .woocommerce,
.checkout-wrap, .cart-wrap,
.woocommerce-order,
.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary,
.design-form, .design-result, .design-faq,
.account-wrap,
.review-grid,
.quick-add-bar, .cart-cta,
#place_order, .checkout-button,
.design-generate-btn, .google-btn,
.form-group input, .form-group select,
.woocommerce-form-login input,
.woocommerce-form-register input,
.woocommerce-EditAccountForm input,
.woocommerce-address-fields input {
  box-sizing: border-box;
}

/* Hesabım: giriş ve kayıt formları yan yana geldiğinde (WooCommerce iki
   sütun basar) mobilde sıkışmasın. */
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr; gap: 32px; }
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 { width: auto !important; float: none !important; box-sizing: border-box; }
@media (min-width: 760px) {
  .woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; gap: 48px; }
}
/* Yalnız hesap PANOSUNDAKİ başlıklar. Önceden .woocommerce-account h2 idi ve
   giriş sayfasının 18px'lik başlığını 13px'e eziyordu (daha spesifikti). */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-Addresses h2 {
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 500; margin: 0 0 18px; color: var(--text-primary, #1a1815);
}

/* ==========================================================================
   Giriş / Kayıt — PDPAOLA çizgisi
   --------------------------------------------------------------------------
   Referans ölçüler (pdpaola.com/account/login'den alındı):
     kap 1000px · iki sütun 465px + 70px boşluk
     başlık 18px / 500 / uppercase
     alan  43px yükseklik · 0.8px açık gri çerçeve · şeffaf zemin · 11px yazı
     düğme tam genişlik · 43px · siyah
   Sağ sütun form değil, önce ÜYELİĞİ ANLATIR — "neden kaydolayım" sorusu
   cevaplanmadan kimse form doldurmaz.
   ========================================================================== */
.orch-auth {
  max-width: 1000px;
  margin: 0 auto;
  padding: 56px 20px 80px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
}
@media (min-width: 900px) {
  .orch-auth { grid-template-columns: 1fr 1fr; gap: 70px; padding: 72px 20px 96px; }
}
.orch-auth-col { min-width: 0; }

.orch-auth-title {
  margin: 0 0 22px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-primary, #1a1815);
}

.orch-field { margin: 0 0 16px; }
.orch-field label {
  display: block;
  margin-bottom: 7px;
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6560);
}
.orch-auth input[type="text"],
.orch-auth input[type="email"],
.orch-auth input[type="password"] {
  width: 100%;
  height: 43px;
  box-sizing: border-box;
  border: 0.8px solid #b1b1b1 !important;
  border-radius: 0 !important;
  background: transparent;
  padding: 13px 15px;
  font-family: inherit;
  font-size: 16px; /* iOS'ta odaklanınca yakınlaşmasın — PDPAOLA 11px ama o zoom yapıyor */
  color: var(--text-primary, #1a1815);
  transition: border-color .15s ease;
}
.orch-auth input:focus {
  border-color: var(--text-primary, #1a1815) !important;
  outline: none;
}

.orch-field-submit { margin: 22px 0 0; }
.orch-auth-btn {
  width: 100%;
  height: 43px;
  box-sizing: border-box;
  background: #1a1815 !important;
  color: #fff !important;
  border: 0.8px solid #1a1815 !important;
  border-radius: 0 !important;
  font-family: inherit;
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 0 !important;
  transition: background .15s ease, color .15s ease;
}
.orch-auth-btn:hover { background: #000 !important; }
/* Kayıt düğmesi ikincil: giriş asıl eylem, kayıt alternatif */
.orch-auth-btn-ghost {
  background: transparent !important;
  color: #1a1815 !important;
  border-color: #1a1815 !important;
}
.orch-auth-btn-ghost:hover { background: #1a1815 !important; color: #fff !important; }

.orch-auth-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 16px 0 0;
  flex-wrap: wrap;
}
.orch-remember {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  color: var(--text-secondary, #6b6560);
  margin: 0;
  cursor: pointer;
}
.orch-remember input { margin: 0; }
.orch-auth-link {
  font-size: 11px;
  color: var(--text-secondary, #6b6560);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.orch-auth-link:hover { color: var(--text-primary, #1a1815); }

.orch-auth-pitch {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-secondary, #6b6560);
}
.orch-auth-perks {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  display: grid;
  gap: 11px;
}
/* PDPAOLA gerçek madde işareti (•) kullanıyor ve maddeler KALIN UPPERCASE.
   Önce çizgi koymuştum — ekran görüntüsü aksini gösterdi. */
.orch-auth-perks { list-style: disc; padding-left: 17px; }
.orch-auth-perks li {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.55;
  text-transform: uppercase;
  color: var(--text-primary, #1a1815);
}
.orch-auth-perks li::marker { color: var(--text-primary, #1a1815); }
.orch-auth-note {
  margin: 0 0 16px;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--text-secondary, #6b6560);
}

/* WooCommerce'in kendi bildirimleri de aynı dile uysun */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 0;
  font-size: 12.5px;
}

/* Giriş/kayıt sayfasında dış kabın 700px sınırı .orch-auth'u boğuyordu
   (1000px istiyoruz, 660px kalıyordu). Ziyaretçi giriş yapmamışken hesabım
   sayfası = giriş ekranıdır; WordPress'in body.logged-in sınıfı bu ayrımı
   güvenilir biçimde verir. Panoya (girişli hâl) dokunulmaz. */
body:not(.logged-in).woocommerce-account .woocommerce {
  max-width: none;
  padding: 0;
}

/* Giriş sayfası 1000px'lik kabı istiyor ama sayfa "constrained" düzende ve
   theme.json contentSize = 760px. O değeri değiştirmek TÜM siteyi etkilerdi;
   bunun yerine yalnız giriş ekranında kısıtı aşıyoruz.
   (Ziyaretçi girişliyken hesabım = pano; oraya dokunulmaz.) */
/* Kısıtı YALNIZ giriş ekranı varken aş. Sinyal olarak body.logged-in yerine
   .orch-auth'un varlığını kullanıyoruz: o kap zaten sadece giriş/kayıt
   şablonunda basılıyor — yani sayfanın gerçeğine bağlı, oturum durumunun
   dolaylı yorumuna değil. (:has() tüm güncel tarayıcılarda destekli.)
   Yedek olarak body:not(.logged-in) de bırakıldı. */
.woocommerce-account .entry-content:has(.orch-auth),
.woocommerce-account .woocommerce:has(.orch-auth),
body:not(.logged-in).woocommerce-account .entry-content,
body:not(.logged-in).woocommerce-account .woocommerce {
  max-width: none;
  padding: 0;
}
.woocommerce-account .entry-content:has(.orch-auth) > *,
.woocommerce-account .wp-block-group.is-layout-constrained:has(.orch-auth) > *,
body:not(.logged-in).woocommerce-account .entry-content > *,
body:not(.logged-in).woocommerce-account .wp-block-group.is-layout-constrained > * {
  max-width: none;
}
/* Sayfa başlığı ("Hesabım") KALIR — PDPAOLA'da da "MY ACCOUNT" duruyor.
   Önce gizlemiştim; ekran görüntüsü aksini gösterdi. */
body:not(.logged-in).woocommerce-account .wp-block-post-title {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: uppercase;
}
@media (min-width: 900px) {
  body:not(.logged-in).woocommerce-account .wp-block-post-title {
    padding: 0;
    font-size: 34px;
  }
}
@media (max-width: 899px) {
  body:not(.logged-in).woocommerce-account .wp-block-post-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
  }
}

/* Masaüstünde kabın yatay padding'i olmamalı: PDPAOLA'da 465+70+465 = 1000
   tam oturuyor. Padding kalırsa sütunlar 445'e düşüyor. Mobilde padding şart. */
@media (min-width: 900px) {
  .orch-auth { padding-left: 0; padding-right: 0; }
}
/* WooCommerce giriş/kayıt formlarına varsayılan olarak çerçeve + 20px padding
   veriyor (toplam 42px) — input'ları 465'ten 403'e düşürüyordu. */
.orch-auth form.login,
.orch-auth form.register {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* ==========================================================================
   Hamburger menü — PDPAOLA çizgisi: TAM EKRAN devralma
   --------------------------------------------------------------------------
   Eskisi 300px'lik bir yan çekmeceydi. PDPAOLA tüm ekranı kaplıyor, krem
   zemine oturuyor, öğeler iri ve UPPERCASE, gruplar arası boşlukla ayrılıyor.
   Sağda ikincil linkler (küçük) + görseller.

   Vurgu stratejisi: "Kişiye Özel Tasarım" en üstte tek başına (PDPAOLA'daki
   NEW IN'in yeri) — markanın asıl vaadi o. Y Kolye ikincil sütunda aksan
   renginde (PDPAOLA'nın kırmızı SALE'i gibi): 3 ayda 6.703 gösterim alan ama
   kimsenin bilmediği kategori, öne çıkarılmayı hak ediyor.
   ========================================================================== */
.menu-drawer {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  background: var(--surface-muted, #f4f2ee);
  z-index: 301;
  transform: translateX(-100%);
  transition: transform .4s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  box-sizing: border-box;
}
.menu-drawer.open { transform: translateX(0); }

/* — üst şerit — */
.md-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 18px 20px;
  box-sizing: border-box;
}
.md-close {
  justify-self: start;
  background: none;
  border: 0;
  padding: 4px;
  cursor: pointer;
  color: var(--text-primary, #1a1815);
  line-height: 0;
}
.md-logo { justify-self: center; line-height: 0; }
.md-logo img { height: 22px; width: auto; display: block; }
.md-top-right {
  justify-self: end;
  display: flex;
  gap: 18px;
}
.md-top-right a {
  color: var(--text-primary, #1a1815);
  text-decoration: none;
  line-height: 0;
  display: block;
}
.md-top-right a:hover { opacity: .55; }

/* — gövde — */
.md-body {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 34px 20px 40px;
  box-sizing: border-box;
}
.md-nav { display: flex; flex-direction: column; }

.md-lead,
.md-item {
  display: block;
  text-decoration: none;
  color: var(--text-primary, #1a1815);
  /* PDPAOLA ekran görüntüsünden ölçüldü: mobil ~15px, masaüstü ~19px.
     Önceki 21/25 iriydi — liste menü olmaktan çıkıp afişe dönüyordu. */
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1.3;
  padding: 7px 0;
  transition: opacity .18s ease;
}
.md-lead:hover, .md-item:hover { opacity: .5; }
/* Gruplar çizgiyle değil BOŞLUKLA ayrılır — PDPAOLA'nın yaptığı bu.
   Çizgi listeyi tabloya çevirir, boşluk nefes aldırır. */
.md-lead { margin-bottom: 26px; }
.md-group + .md-group { margin-top: 26px; }

/* — ikincil sütun — */
.md-side { display: flex; flex-direction: column; gap: 13px; }
.md-mini {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6560);
  text-decoration: none;
  transition: color .18s ease;
}
.md-mini:hover { color: var(--text-primary, #1a1815); }
/* Aksan: dikkat çekmesi istenen tek öğe. Birden fazla olursa hiçbiri olmaz. */
.md-mini-accent { color: var(--accent, #9a8866); font-weight: 500; }

/* — görsel sütun — */
.md-visual { display: none; }

/* — alt şerit — */
.md-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px calc(20px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--border, #e5e0d8);
  font-size: 10.5px;
  letter-spacing: .06em;
  color: var(--text-muted, #9c948c);
  box-sizing: border-box;
}
.md-foot a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.md-foot a:hover { color: var(--text-primary, #1a1815); }

/* — masaüstü: üç sütun — */
@media (min-width: 900px) {
  .md-top { padding: 22px 34px; }
  .md-logo img { height: 26px; }
  .md-body {
    grid-template-columns: minmax(300px, 1fr) minmax(180px, 240px) minmax(0, 1.6fr);
    gap: 48px;
    padding: 56px 34px 48px;
    align-items: start;
  }
  .md-lead, .md-item { font-size: 19px; padding: 8px 0; }
  /* Üç görsel, 4:5 oranında. Oran sabitlenmezse görseller kabın yüksekliğine
     göre gerilip taşıyordu; aspect-ratio ile kap yüksekliğinden bağımsız,
     her ekranda aynı kadraj. */
  .md-visual {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    align-self: start;
  }
  .md-visual a {
    position: relative;
    display: block;
    text-decoration: none;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #e9e5df;
  }
  .md-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
  }
  .md-visual a:hover img { transform: scale(1.04); }
  .md-visual .tile-label {
    position: absolute;
    left: 10px;
    bottom: 10px;
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0,0,0,.45);
  }
  .md-foot { padding: 18px 34px; }
}

/* ---- Giriş / Kayıt: mobil sekmeler ----
   PDPAOLA mobilde iki sütunu yan yana koymaz, SEKME yapar (LOG IN | REGISTER).
   Dar ekranda iki uzun formu alt alta dizmek kullanıcıyı yorar; sekme,
   ekranda tek iş bırakır. Masaüstünde sekmeler gizlenir, iki sütun açılır. */
.orch-auth-tabs {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 30px;
}
.orch-tab {
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #b1b1b1;
  cursor: pointer;
  transition: color .15s ease;
}
.orch-tab.is-active { color: var(--text-primary, #1a1815); }
.orch-tab-sep { color: #d8d2c8; font-size: 13px; }

@media (min-width: 900px) {
  .orch-auth-tabs { display: none; }
}

/* Sekme modunda sütun başlıkları tekrar olur — mobilde gizle */
@media (max-width: 899px) {
  .orch-auth-title { display: none; }
  .orch-auth { gap: 0; }
}

/* ---- Hesap panosu içeriği ---- */
.orch-dash-hello {
  font-size: 15px;
  color: var(--text-primary, #1a1815);
  margin: 0 0 26px;
}
.orch-dash-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--border, #e5e0d8);
  border: 1px solid var(--border, #e5e0d8);
  margin: 0 0 28px;
}
@media (min-width: 620px) {
  .orch-dash-grid { grid-template-columns: 1fr 1fr; }
}
.orch-dash-card {
  display: block;
  background: var(--bg, #fff);
  padding: 20px 18px;
  text-decoration: none;
  transition: background .15s ease;
}
.orch-dash-card:hover { background: var(--surface-muted, #faf8f5); }
.orch-dash-card-title {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-primary, #1a1815);
  margin-bottom: 6px;
}
.orch-dash-card-desc {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary, #6b6560);
}
.orch-dash-note {
  font-size: 12px;
  line-height: 1.7;
  color: var(--text-secondary, #6b6560);
  padding: 14px 16px;
  background: var(--surface-muted, #faf8f5);
  margin: 0 0 24px;
}
.orch-dash-logout { margin: 0; }
.orch-dash-logout a {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted, #9c948c);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.orch-dash-logout a:hover { color: var(--text-primary, #1a1815); }

/* Kayıt: Ad + Soyad yan yana */
.orch-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.orch-field .req { color: var(--accent, #9a8866); }

/* "Şifremi unuttum" düğmenin altında, sola hizalı (PDPAOLA düzeni).
   "Beni hatırla" düğmenin üstünde. Önceden ikisi space-between ile yan yanaydı
   ve WooCommerce'in kendi float'larıyla kayıyordu. */
.orch-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0;
  float: none !important;
  font-size: 11.5px;
  color: var(--text-secondary, #6b6560);
  cursor: pointer;
}
.orch-remember input { margin: 0; }
.orch-auth-forgot {
  display: inline-block;
  margin-top: 14px;
  font-size: 11.5px;
  color: var(--text-secondary, #6b6560);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.orch-auth-forgot:hover { color: var(--text-primary, #1a1815); }

/* ==========================================================================
   Hesap panosu — WooCommerce'in float düzenini temizle
   --------------------------------------------------------------------------
   WooCommerce varsayılan olarak şunları veriyor:
     .woocommerce-MyAccount-navigation { float: left;  width: 30.75%; }
     .woocommerce-MyAccount-content    { float: right; width: 48.043%; }
     .form-row-first / --last          { float: left/right; width: 47%; }
   Biz kabı grid yaptık. Grid içinde float'lı bir çocuk yüzde genişliğini
   yanlış hesaplıyor: içerik alanı 129px'e, formdaki alanlar 37px'e çöküyordu.
   Grid kurmak yetmiyor — eski float'ları AÇIKÇA iptal etmek gerekiyor.
   ========================================================================== */
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  margin: 0;
  min-width: 0;
}

/* Form satırları: float yerine grid — Ad/Soyad yan yana, gerisi tam genişlik */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm,
body.logged-in.woocommerce-account .woocommerce-address-fields {
  width: 100%;
  max-width: 520px;
}
body.logged-in.woocommerce-account .woocommerce form .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 0 16px;
  padding: 0;
  display: block;
}
body.logged-in.woocommerce-account .woocommerce form .form-row label {
  display: block;
  margin-bottom: 7px;
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-secondary, #6b6560);
}
body.logged-in.woocommerce-account .woocommerce form .form-row input.input-text,
body.logged-in.woocommerce-account .woocommerce form .form-row select {
  width: 100%;
  height: 43px;
  box-sizing: border-box;
  border: 0.8px solid #b1b1b1;
  border-radius: 0;
  background: transparent;
  padding: 13px 15px;
  font-family: inherit;
  font-size: 16px; /* iOS zoom engeli */
}
body.logged-in.woocommerce-account .woocommerce form .form-row input.input-text:focus,
body.logged-in.woocommerce-account .woocommerce form .form-row select:focus {
  border-color: var(--text-primary, #1a1815);
  outline: none;
}
/* Ad + Soyad yan yana — float ile değil, grid ile */
@media (min-width: 560px) {
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm,
  body.logged-in.woocommerce-account .woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
  }
  body.logged-in.woocommerce-account .woocommerce form .form-row-first { grid-column: 1; }
  body.logged-in.woocommerce-account .woocommerce form .form-row-last { grid-column: 2; }
  body.logged-in.woocommerce-account .woocommerce form .form-row-wide,
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm > fieldset,
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm > p:not(.form-row-first):not(.form-row-last),
  body.logged-in.woocommerce-account .woocommerce-EditAccountForm > .clear {
    grid-column: 1 / -1;
  }
}
/* WooCommerce'in clearfix span'ları grid'de boş satır açıyor */
body.logged-in.woocommerce-account .woocommerce .clear { display: none; }

body.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 0;
  border-top: 1px solid var(--border, #e5e0d8);
  margin: 14px 0 0;
  padding: 22px 0 0;
}
body.logged-in.woocommerce-account .woocommerce-EditAccountForm legend {
  padding: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-primary, #1a1815);
  margin-bottom: 14px;
}
body.logged-in.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button {
  width: auto;
  min-width: 200px;
  height: 43px;
  padding: 0 26px !important;
  font-size: 11px !important;
  letter-spacing: .14em;
}

/* Panoda kabı 1000px'e çıkar (contentSize 760 boğuyordu) ve sütunları AÇIKÇA
   yerleştir. Otomatik yerleşime güvenmek yetmedi: WooCommerce'in float'lı
   eski düzeni grid'le birleşince menü sağa, içerik sola düşüyordu (içerik
   190px'lik menü sütununa sıkışıp form 129px'e çöküyordu). Açık yerleştirme
   belirsizliği tamamen kaldırır. */
body.logged-in.woocommerce-account .entry-content,
body.logged-in.woocommerce-account .entry-content > * { max-width: none; }
body.logged-in.woocommerce-account .woocommerce { max-width: 1000px; margin: 0 auto; }
@media (min-width: 900px) {
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
}

/* ---- Hesap sayfası bölüm başlığı ---- */
.orch-acc-heading {
  margin: 0 0 22px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
  color: var(--text-primary, #1a1815) !important;
}

/* ---- Sipariş tablosu: mobilde kart, masaüstünde tablo ---- */
.woocommerce-orders-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.woocommerce-orders-table th {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted, #9c948c);
  font-weight: 500;
  padding: 0 10px 10px 0;
  text-align: left;
  border-bottom: 1px solid var(--border, #e5e0d8);
}
.woocommerce-orders-table td {
  padding: 14px 10px 14px 0;
  border-bottom: 1px solid var(--border, #e5e0d8);
  vertical-align: middle;
}
.woocommerce-orders-table .woocommerce-button {
  padding: 8px 16px !important;
  font-size: 10px !important;
  letter-spacing: .1em;
}
@media (max-width: 620px) {
  /* Dar ekranda tablo satırı kaydırma yaratıyor — kart düzenine geç */
  .woocommerce-orders-table thead { display: none; }
  .woocommerce-orders-table, .woocommerce-orders-table tbody,
  .woocommerce-orders-table tr, .woocommerce-orders-table td { display: block; width: 100%; }
  .woocommerce-orders-table tr {
    border: 1px solid var(--border, #e5e0d8);
    padding: 14px;
    margin-bottom: 12px;
  }
  .woocommerce-orders-table td {
    border: 0;
    padding: 3px 0;
    display: flex;
    justify-content: space-between;
    gap: 14px;
  }
  .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted, #9c948c);
    flex: none;
  }
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { margin-top: 10px; }
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; }
}

/* ---- Boş durumlar: "sipariş yok" ekranı boş kalmasın ---- */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-Message--info {
  background: var(--surface-muted, #faf8f5);
  border: 0;
  border-left: 2px solid var(--accent, #9a8866);
  padding: 16px 18px;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--text-secondary, #6b6560);
}
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-Message--info::before { content: none; }
.woocommerce-account .woocommerce-info .button {
  background: #1a1815 !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  font-size: 10.5px !important;
  letter-spacing: .12em;
  margin-left: 12px;
}

/* ---- Adres kartları ---- */
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 620px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address {
  border: 1px solid var(--border, #e5e0d8);
  padding: 18px;
  width: auto !important;
  float: none !important;
}
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 {
  font-size: 11px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 10px !important;
}
.woocommerce-Address-title .edit {
  font-size: 10.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted, #9c948c);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-Address address { font-style: normal; font-size: 12.5px; line-height: 1.75; color: var(--text-secondary, #6b6560); }

/* orch-keskin-koseler: WooCommerce blok CSS geçersiz kılma */
.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input,
.wc-block-cart-item__image,
.wc-block-cart-item__image img {
	border-radius: 0 !important;
}

/* orch-blog-kapak: blog yazısı kapak bantı yükseklik sınırı */
/* Not: görselin kendisine dokunma — tema zaten height:100% + object-fit:cover veriyor.
   Sınır KAPA konur, görsel onu doldurur. */
.blog-detail-hero {
	aspect-ratio: 16 / 9;
	max-height: 62vh;
}
.blog-detail-hero .wp-block-post-featured-image {
	height: 100%;
	margin: 0;
}
@media (max-width: 782px) {
	.blog-detail-hero {
		aspect-ratio: 4 / 3;
		max-height: 50vh;
	}
}

/* orch-hero-kayma: slider yüksekliği aktif slayta bağlı olmasın */
/* Sorun: .hb-slide.is-active position:relative idi — slider yüksekliğini ondan alıyordu.
   Slayt değişirken yükseklik yeniden hesaplanıyor, solan görsel (inset:0) geriliyordu.
   Çözüm: yüksekliği slider’a ver, tüm slaytlar absolute kalsın. */
/* orch-hero-buyuk: mobilde hero ilk ekranin buyuk kismini kaplasin —
   4:5 oran taban olarak kalir ama min-height taban koyar, boylece
   hero her zaman ekran yuksekliginin ~%92'sini doldurur (devam
   kartina hafif bir \"kaydir\" ipucu birakarak). Masaustunde (21:9)
   iptal edilir, orada zaten yeterince buyuk. */
.hb-slider {
	aspect-ratio: 4 / 5;
	min-height: 92vh;
	min-height: 92svh;
}
.hb-slider .hb-slide.is-active {
	position: absolute;
}
@media (min-width: 900px) {
	.hb-slider {
		aspect-ratio: 21 / 9;
		min-height: auto;
	}
}

/* orch-hb-slide-aspect-fix: .hero-banner kendi aspect-ratio'suna sahip;
   bu, .hb-slide'daki inset:0 esneme davranisini eziyor ve iç slayt
   dis konteynerin (min-height:92vh ile buyutulmus) boyutuna ULASAMIYORDU
   — aradaki fark beyaz bosluk olarak goruluyordu. Boyut tamamen
   .hb-slider'a birakiliyor. */
.hb-slider .hb-slide {
	aspect-ratio: unset;
}

/* orch-devam-bosluk: "Kaldığınız yerden devam edin" kartının nefes alanı.
   .wp-site-blocks > * kuralı margin-top/bottom:0 dayatıyordu; kart hem hero’ya
   hem alttaki bölüme yapışıyor, çerçevesi başıboş bir çizgi gibi duruyordu. */
.wp-site-blocks > .continue-card {
	margin-top: 26px !important;
	margin-bottom: 26px !important;
}
@media (min-width: 760px) {
	.wp-site-blocks > .continue-card {
		margin-top: 32px !important;
		margin-bottom: 32px !important;
	}
}

/* orch-hero-tasma: hero, "Kaldığınız yerden devam edin" kartını örtüyordu (mobilde görüldü).
   Sebep: .hb-slider position:relative — konumlandırılmış eleman, static kartın üstüne boyanır.
   Slaytlar absolute + slider yüksekliği aspect-ratio’dan geliyor; iOS Safari bu hesabı
   masaüstünden farklı yapabiliyor, slayt taşıp kartı kapatıyor.
   İki katman: (1) taşma kırpılsın, (2) kart kendi katmanına çıksın. */
.hb-slider {
	overflow: hidden;
}
.wp-site-blocks > .continue-card {
	position: relative;
	z-index: 2;
}

/* orch-hero2-metin: gümüş slaytının yazısı arkadaki kolyeyi kapatıyordu — küçültüldü.
   Sadece 2. slayt (data-i="1") hedefleniyor; pırlanta slaytı aynen kalıyor.
   Buton boyutuna dokunulmadı. */
.hb-slide[data-i="1"] .hb-text h1 {
	font-size: 22px;
	max-width: 260px;
}
.hb-slide[data-i="1"] .hb-text p.sub {
	font-size: 12px;
	max-width: 250px;
}
.hb-slide[data-i="1"] .hb-text p.kicker {
	font-size: 10px;
}
@media (min-width: 900px) {
	.hb-slide[data-i="1"] .hb-text h1 {
		font-size: 32px;
		max-width: 340px;
	}
	.hb-slide[data-i="1"] .hb-text p.sub {
		font-size: 14px;
		max-width: 330px;
	}
}

/* orch-pdcs-tipografi: Ürün sayfası önerilen ürünler (pd-cs-item) — PDPAOLA ölçüleriyle eşlendi.
   Genel .product-info h3/.price kurallarına dokunulmadı, başka bölümleri etkilememesi için
   sadece .pd-cs-item kapsamına özel, daha spesifik kurallar eklendi. */
.pd-section-title { font-size: 12px; text-transform: uppercase; letter-spacing: normal; }
.pd-cs-item .product-info h3 { font-size: 10px; letter-spacing: .3px; }
.pd-cs-item .product-info .price { font-size: 11px; }

/* ═══════════════════════════════════════════════════════════════
   ÖDEME SAYFASI — tek ve homojen tasarım (v211)
   • Tek çizgi dili: her yerde aynı hairline çerçeve, keskin köşe
   • Renkli/gri kutu YOK — beyaz zemin, tek vurgu siyah buton
   • Mobilde sipariş özeti formun ALTINA alınır
   NOT 1: Input padding'ine DOKUNULMAZ — WooCommerce "yüzen etiket"
          deseni kullanıyor (padding:24px 9px 8px), bozulur.
   NOT 2: Bu temada .wc-block-checkout kapsayıcısında is-mobile /
          is-small / is-large SINIFI YOK. Duyarlılık yalnızca
          medya sorgusuyla hedeflenir.
   ═══════════════════════════════════════════════════════════════ */

:root { --orch-co-line: #e3ded6; }

@media (max-width: 781px) {
}

/* ═══════════════════════════════════════════════════════════════
   ÖDEME SAYFASI — iki kolon düzen (v214)
   Referans: Shopify/PdPaola tipi tek sayfa checkout.
   • Masaüstü: solda form, SAĞDA açık gri panelde SABİT sipariş özeti
   • Mobil: EN ÜSTTE açılır "Sipariş özeti" çubuğu, altında form
   NOT: WooCommerce'in yerleşik blok düzeni zaten bu yapıda;
        v213'teki tek kolon / özet-alta müdahalesi geri alındı.
   ═══════════════════════════════════════════════════════════════ */

:root { --orch-co-panel: #f5f5f5; }

@media (max-width: 781px) {
}
@media (max-width: 781px) {
}

/* ═══════════════════════════════════════════════════════════════
   ÖDEME ONAY SAYFASI (order-pay) — checkout ile aynı dil (v215)
   Tami, blok checkout'tan sonra müşteriyi bu klasik sayfaya
   yönlendiriyor. Amaç: iki sayfa arasında kopukluk hissedilmesin.
   Hook: body.woocommerce-order-pay + form#order_review
   ═══════════════════════════════════════════════════════════════ */

/* ── Düzen: checkout ile birebir aynı iki kolon ────────────────── */
body.woocommerce-order-pay #order_review {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 32px !important;
}
body.woocommerce-order-pay #order_review > #payment {
  order: 1 !important; flex: 1 1 0% !important; min-width: 0 !important;
}
body.woocommerce-order-pay #order_review > .shop_table {
  order: 2 !important; flex: 0 0 38% !important; width: 38% !important;
  background: var(--orch-co-panel) !important;
  border: 0 !important; padding: 24px !important; margin: 0 !important;
  position: sticky !important; top: 24px !important;
}

@media (max-width: 781px) {
  body.woocommerce-order-pay #order_review { flex-direction: column !important; gap: 18px !important; }
  body.woocommerce-order-pay #order_review > .shop_table {
    order: 1 !important; flex: none !important; width: 100% !important;
    position: static !important; padding: 16px !important;
  }
  body.woocommerce-order-pay #order_review > #payment { order: 2 !important; }
}

/* ── Özet tablosu: çerçevesiz, checkout toplamları gibi ────────── */
body.woocommerce-order-pay .shop_table,
body.woocommerce-order-pay .shop_table th,
body.woocommerce-order-pay .shop_table td,
body.woocommerce-order-pay .shop_table tr { border: 0 !important; }
body.woocommerce-order-pay .shop_table th,
body.woocommerce-order-pay .shop_table td {
  padding: 6px 0 !important; font-size: 13px !important; background: transparent !important;
}
body.woocommerce-order-pay .shop_table thead th {
  font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 0.05em !important; color: var(--text-muted) !important; font-weight: 600 !important;
  border-bottom: 1px solid var(--orch-co-line) !important; padding-bottom: 10px !important;
}
body.woocommerce-order-pay .shop_table tfoot tr:last-child th,
body.woocommerce-order-pay .shop_table tfoot tr:last-child td {
  border-top: 1px solid var(--orch-co-line) !important;
  padding-top: 12px !important; font-size: 17px !important; font-weight: 700 !important;
}

/* ── Ödeme kutusu ──────────────────────────────────────────────── */
body.woocommerce-order-pay #payment { background: transparent !important; border: 0 !important; }
body.woocommerce-order-pay #payment ul.payment_methods {
  border: 1px solid var(--orch-co-line) !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 0 16px !important; list-style: none !important;
}
body.woocommerce-order-pay #payment ul.payment_methods li {
  padding: 14px 16px !important; border-bottom: 1px solid var(--orch-co-line) !important; list-style: none !important;
}
body.woocommerce-order-pay #payment ul.payment_methods li:last-child { border-bottom: 0 !important; }
body.woocommerce-order-pay #payment label { font-size: 13px !important; font-weight: 500 !important; }
body.woocommerce-order-pay .payment_box {
  background: transparent !important; border: 0 !important; margin: 0 !important; padding: 12px 0 0 !important;
}
body.woocommerce-order-pay .payment_box::before { display: none !important; }

/* ── Kart alanları: checkout ile aynı ──────────────────────────── */
body.woocommerce-order-pay #payment input[type=text],
body.woocommerce-order-pay #payment input[type=tel],
body.woocommerce-order-pay #payment input[type=number],
body.woocommerce-order-pay #payment select {
  border: 1px solid var(--orch-co-line) !important; border-radius: 0 !important;
  padding: 12px !important; font-size: 14px !important; font-family: inherit !important;
  background: #fff !important; box-shadow: none !important; width: 100% !important; box-sizing: border-box !important;
}
body.woocommerce-order-pay #payment input:focus,
body.woocommerce-order-pay #payment select:focus { outline: none !important; border-color: #1a1a1a !important; }

/* ── Buton: checkout ile aynı ──────────────────────────────────── */
body.woocommerce-order-pay #payment .button,
body.woocommerce-order-pay #place_order,
body.woocommerce-order-pay #payment button[type=submit] {
  background: #1a1a1a !important; color: #fff !important;
  border: 1px solid #1a1a1a !important; border-radius: 0 !important;
  font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  padding: 15px 22px !important; width: 100% !important; font-family: inherit !important;
}
body.woocommerce-order-pay #payment .button:hover,
body.woocommerce-order-pay #place_order:hover { opacity: .85 !important; }

/* ── Başlık ve genel ritim ─────────────────────────────────────── */
body.woocommerce-order-pay .woocommerce > p,
body.woocommerce-order-pay .woocommerce-info { font-size: 12.5px !important; color: var(--text-secondary) !important; }

/* ═══════════════════════════════════════════════════════════════
   order-pay sipariş özeti — zenginleştirme (v216)
   • Ürün görseli eklendi (functions.php filtresi ile)
   • Mobilde tablo 3 sütun yerine okunabilir satırlara dönüşür
   • Daha küçük tipografi, checkout özetiyle aynı his
   ═══════════════════════════════════════════════════════════════ */

/* ── Ürün satırı: görsel + ad yan yana ─────────────────────────── */
body.woocommerce-order-pay .orch-op-line {
  display: flex !important; align-items: flex-start !important; gap: 12px !important;
}
body.woocommerce-order-pay .orch-op-thumb {
  width: 54px !important; height: auto !important; flex: 0 0 54px !important;
  background: #fff !important; border: 1px solid var(--orch-co-line) !important;
}
body.woocommerce-order-pay .orch-op-name {
  font-size: 12.5px !important; line-height: 1.35 !important; font-weight: 500 !important;
}
body.woocommerce-order-pay .shop_table td.product-name { padding-right: 10px !important; }

/* ── Kişiselleştirme / varyasyon bilgileri ─────────────────────── */
body.woocommerce-order-pay .shop_table .wc-item-meta,
body.woocommerce-order-pay .shop_table .variation {
  margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important;
  font-size: 11px !important; line-height: 1.5 !important; color: var(--text-muted) !important;
}
body.woocommerce-order-pay .shop_table .wc-item-meta li,
body.woocommerce-order-pay .shop_table .variation dt,
body.woocommerce-order-pay .shop_table .variation dd {
  display: inline !important; margin: 0 !important; font-weight: 400 !important;
}
body.woocommerce-order-pay .shop_table .wc-item-meta li p,
body.woocommerce-order-pay .shop_table .variation p { display: inline !important; margin: 0 !important; }
body.woocommerce-order-pay .shop_table .wc-item-meta li::after { content: '' !important; display: block !important; }

/* ── Miktar ve tutar sütunları ─────────────────────────────────── */
body.woocommerce-order-pay .shop_table td.product-quantity,
body.woocommerce-order-pay .shop_table td.product-total { font-size: 12.5px !important; white-space: nowrap !important; }
body.woocommerce-order-pay .shop_table td.product-total { text-align: right !important; font-weight: 500 !important; }

/* ── Mobil: tabloyu okunabilir satırlara çevir ─────────────────── */
@media (max-width: 781px) {
  body.woocommerce-order-pay .shop_table thead { display: none !important; }
  body.woocommerce-order-pay .shop_table,
  body.woocommerce-order-pay .shop_table tbody,
  body.woocommerce-order-pay .shop_table tfoot,
  body.woocommerce-order-pay .shop_table tr { display: block !important; width: 100% !important; }

  body.woocommerce-order-pay .shop_table tbody tr {
    display: grid !important;
    grid-template-columns: 54px 1fr auto !important;
    gap: 0 12px !important;
    align-items: start !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--orch-co-line) !important;
  }
  body.woocommerce-order-pay .shop_table tbody td { display: block !important; padding: 0 !important; }
  body.woocommerce-order-pay .shop_table tbody td.product-name { grid-column: 1 / 3 !important; }
  body.woocommerce-order-pay .shop_table tbody td.product-total { grid-column: 3 !important; text-align: right !important; }
  body.woocommerce-order-pay .shop_table tbody td.product-quantity {
    grid-column: 2 / 4 !important; font-size: 11px !important; color: var(--text-muted) !important; margin-top: 4px !important;
  }
  body.woocommerce-order-pay .orch-op-thumb { width: 48px !important; flex: 0 0 48px !important; }
  body.woocommerce-order-pay .orch-op-name { font-size: 12px !important; }

  /* toplamlar: etiket solda, değer sağda */
  body.woocommerce-order-pay .shop_table tfoot tr {
    display: flex !important; justify-content: space-between !important; align-items: baseline !important;
    padding: 5px 0 !important; gap: 12px !important;
  }
  body.woocommerce-order-pay .shop_table tfoot th,
  body.woocommerce-order-pay .shop_table tfoot td { padding: 0 !important; text-align: left !important; font-size: 12.5px !important; }
  body.woocommerce-order-pay .shop_table tfoot td { text-align: right !important; }
  body.woocommerce-order-pay .shop_table tfoot tr:last-child { padding-top: 12px !important; }
  body.woocommerce-order-pay .shop_table tfoot tr:last-child th,
  body.woocommerce-order-pay .shop_table tfoot tr:last-child td { font-size: 16px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   ÖDEME SAYFASI — PdPaola birebir eşleme (v217)
   Referans değerler canlı pdpaola.com checkout'undan ÖLÇÜLDÜ:
   • hairline #dedede (0.8-1px), keskin köşe, zemin #fff, panel #f5f5f5
   • UI yazı ölçeği 12px; başlıklar 12px/700/uppercase/letter-spacing normal
   • buton #000 12px/700/uppercase; toplam satırı 15px/700
   • ürün görseli 64px (#ececec zemin, radius 1px) + siyah kare adet rozeti (sol üst)
   • kupon butonu #ececec zemin, çerçevesiz, siyah 12px/700 uppercase
   • masaüstünde sağ gri panel kolon boyunca uzar (tam boy yarım), özet içerik sticky
   • masaüstünde "Sipariş özeti" başlığı GİZLİ (PdPaola'da yok); mobilde
     WooCommerce'in doğal akordeon çubuğu olarak kalır
   NOT: input padding/font-size'a DOKUNULMADI (yüzen etiket + iOS zoom koruması)
   ═══════════════════════════════════════════════════════════════ */

:root { --orch-co-line: #dedede; --orch-co-panel: #f5f5f5; }
/* Masaüstünde özet başlık çubuğu gizli (PdPaola panelinde başlık yok) */
@media (min-width: 782px) {
}

/* ── Mobil: üstte Shopify tarzı özet çubuğu ────────────────────── */
@media (max-width: 781px) {
}

/* ── order-pay sayfası: aynı düzeltmeler (buton #000, 15px toplam) ─ */
body.woocommerce-order-pay #payment .button,
body.woocommerce-order-pay #place_order,
body.woocommerce-order-pay #payment button[type=submit] {
  background: #000 !important; border-color: #000 !important;
  font-weight: 700 !important; letter-spacing: normal !important;
}
body.woocommerce-order-pay .shop_table tfoot tr:last-child th,
body.woocommerce-order-pay .shop_table tfoot tr:last-child td {
  font-size: 15px !important;
}

/* ═══════════════════════════════════════════════════════════════
   ÖDEME SAYFASI (order-pay) — sipariş özeti (v218)
   Şablon: woocommerce/checkout/order-receipt.php (tema kopyası)

   NEDEN: Özgün WooCommerce listesi (Sipariş no / Tarih / Toplam /
   Ödeme yöntemi) `float:left` ile diziliyordu — dar ekranda maddeler
   üst üste biniyordu. "Ödeme yöntemi" satırı da tek yöntemimiz olduğu
   için bilgi taşımıyordu. Yerine gerçek sipariş özeti kondu.

   TAMİ NOTU: Tami'nin `.tami-receipt-page-container` kapsayıcısı
   SARMALANMADI, yeri değiştirilmedi — özet onun üstünde kardeş öğe.
   DOM'a dokunmamak, süren Tami teşhisini bozmamak için bilinçli.

   ESKİ NOT (v215/v216): `#order_review` ve `.shop_table` kuralları bu
   sayfada ÇALIŞMIYOR — Tami `receipt_page` ile klasik ödeme tablosunun
   yerini alıyor, o yüzden o düğümler hiç oluşmuyor. Kurallar Tami akışı
   değişirse diye duruyor, ölü kod.
   ═══════════════════════════════════════════════════════════════ */

/* ── Kapsayıcı: checkout form kolonuyla aynı genişlik ─────────── */
body.woocommerce-order-pay .orch-pay-summary {
  max-width: 620px;
  margin: 0 auto 30px;
}

/* ── Üst meta satırı: sipariş no · tarih ──────────────────────── */
body.woocommerce-order-pay .orch-pay-meta {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: 6px 14px;
  margin: 0 0 18px;
  font-size: 12px; color: var(--text-muted);
}
body.woocommerce-order-pay .orch-pay-meta strong {
  font-weight: 600; color: var(--text-primary);
}
/* nokta ayracı — sarmalandığında kaybolur, taşma yapmaz */
body.woocommerce-order-pay .orch-pay-meta-date::before {
  content: '·'; margin-right: 14px; color: var(--orch-co-line);
}

/* ── Başlık: checkout bölüm başlıklarıyla aynı ────────────────── */
body.woocommerce-order-pay .orch-pay-title {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: normal; color: #000;
  margin: 0 0 10px; padding: 0; border: 0;
}

/* ── Kutu: checkout ile aynı hairline dili ────────────────────── */
body.woocommerce-order-pay .orch-pay-box {
  border: 1px solid var(--orch-co-line);
  background: #fff;
  padding: 18px 20px;
}

/* ── Ürün satırı: görsel | ad | tutar ─────────────────────────── */
body.woocommerce-order-pay .orch-pay-item {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 0 14px;
  align-items: start;
  padding: 0 0 16px;
}
body.woocommerce-order-pay .orch-pay-item + .orch-pay-item {
  border-top: 1px solid var(--orch-co-line);
  padding-top: 16px;
}

/* görsel + sol üst siyah kare adet rozeti (checkout ile aynı) */
body.woocommerce-order-pay .orch-pay-thumb { position: relative; width: 64px; }
body.woocommerce-order-pay .orch-pay-thumb img {
  display: block; width: 64px; height: auto;
  background: #ececec; border: 0; border-radius: 1px;
}
body.woocommerce-order-pay .orch-pay-qty {
  position: absolute; left: -6px; top: -6px;
  min-width: 20px; height: 20px; padding: 0 4px;
  display: flex; align-items: center; justify-content: center;
  background: #000; color: #fff;
  font-size: 12px; font-weight: 700; line-height: 1;
}

body.woocommerce-order-pay .orch-pay-name {
  display: block; font-size: 12px; line-height: 1.4; color: var(--text-primary);
}
body.woocommerce-order-pay .orch-pay-price {
  font-size: 12px; white-space: nowrap; text-align: right;
}

/* kişiselleştirme bilgileri (Harf Seçin, Renk Tercihi …) */
body.woocommerce-order-pay .orch-pay-desc .wc-item-meta {
  margin: 5px 0 0; padding: 0; list-style: none;
  font-size: 11px; line-height: 1.5; color: var(--text-muted);
}
body.woocommerce-order-pay .orch-pay-desc .wc-item-meta li { margin: 0; }
body.woocommerce-order-pay .orch-pay-desc .wc-item-meta strong {
  font-weight: 400;
}
body.woocommerce-order-pay .orch-pay-desc .wc-item-meta p {
  display: inline; margin: 0;
}

/* ── Toplamlar ────────────────────────────────────────────────── */
body.woocommerce-order-pay .orch-pay-totals {
  border-top: 1px solid var(--orch-co-line);
  padding-top: 12px;
}
body.woocommerce-order-pay .orch-pay-total-row {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 14px; padding: 4px 0; font-size: 12px;
}
body.woocommerce-order-pay .orch-pay-total-row .amount { font-weight: inherit; }
body.woocommerce-order-pay .orch-pay-total--order_total {
  border-top: 1px solid var(--orch-co-line);
  margin-top: 8px; padding-top: 12px;
  font-size: 15px; font-weight: 700;
}

/* ── Mobil: tek kolon, taşma yok ──────────────────────────────── */
@media (max-width: 781px) {
  body.woocommerce-order-pay .orch-pay-summary { margin-bottom: 24px; }
  body.woocommerce-order-pay .orch-pay-box { padding: 14px 16px; }
  body.woocommerce-order-pay .orch-pay-item {
    grid-template-columns: 54px 1fr auto;
    gap: 0 12px;
  }
  body.woocommerce-order-pay .orch-pay-thumb { width: 54px; }
  body.woocommerce-order-pay .orch-pay-thumb img { width: 54px; }
  /* uzun ürün adı + tutar dar ekranda sıkışmasın */
  body.woocommerce-order-pay .orch-pay-price { font-size: 12px; }
}

/* ── Tami formu: özetten sonra nefes payı ─────────────────────── */
body.woocommerce-order-pay .tami-receipt-page-container { margin-top: 6px; }


/* ==========================================================================
   Mobil dikey kaydırma — tek görselli ürün galerisi (v229)
   .pd-gallery yatay kaydırma konteyneri: overflow-x:auto +
   scroll-snap-type: x mandatory. Tek slayt varsa yatayda kaydıracak
   bir şey yoktur, ama tarayıcı dokunuşu yine de yakalayıp DİKEY sayfa
   kaydırmasını engelliyor (kullanıcı görselin üstündeyken sayfa
   kaymıyor). Tek slayttaysa konteyner davranışını kapatıyoruz.
   ========================================================================== */
.pd-gallery:has(.pd-slide:only-child) {
	overflow-x: visible;
	scroll-snap-type: none;
	touch-action: auto;
}

/* :has() desteklemeyen tarayıcılar için JS yedeği (.is-single sınıfı) */
.pd-gallery.is-single {
	overflow-x: visible;
	scroll-snap-type: none;
	touch-action: auto;
}

/* ==========================================================================
   Kategori açıklaması — başlık hiyerarşisi ve SSS (v238)
   Metinler artık H2 bölümleri + "Sık Sorulan Sorular" (H3 soru / P cevap)
   içeriyor. functions.php bu yapıdan FAQPage şeması üretiyor.
   ========================================================================== */
.cat-desc h2 {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--text-primary);
	margin: 26px 0 10px;
	line-height: 1.35;
}
.cat-desc h3 {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-primary);
	margin: 18px 0 6px;
	line-height: 1.4;
}
.cat-desc h3 + p { margin-top: 0; }
.cat-desc ul {
	margin: 10px 0 14px;
	padding-left: 18px;
	list-style: disc;
}
.cat-desc li {
	font-size: 13px;
	line-height: 1.75;
	color: var(--text-secondary);
	margin-bottom: 4px;
}

@media (max-width: 720px) {
	.cat-desc h2 { font-size: 14px; margin: 22px 0 8px; }
	.cat-desc h3 { font-size: 12.5px; }
	.cat-desc li { font-size: 12.5px; }
}

/* ==========================================================================
   Ürün galerisi — video slaydı (v239)
   9:16 dikey video, 4:5 galeri kadrajında. Merkezden kırpılır (object-fit:
   cover) — ölçüldü, charm her karede tam sığıyor, kesilen bölgede yalnız
   arka plan var.
   ========================================================================== */
.pd-slide-video {
	position: relative;
	background: #f3ead9;   /* videonun krem zemini — yüklenene kadar boşluk olmasın */
}

.pd-slide-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Ses yok göstergesi — kullanıcı sessiz oynatmayı fark etsin */
.pd-slide-video::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* ── Video ses açma butonu (v240) ──────────────────────────────
   Video sessiz başlar (tarayıcılar sesli otomatik oynatmayı
   engelliyor). İsteyen bu butonla sesi açar. */
.pd-video-ses {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0.8px solid rgba(255, 255, 255, 0.55);
	border-radius: 0;
	background: rgba(20, 20, 20, 0.42);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.pd-video-ses:hover,
.pd-video-ses:focus-visible {
	background: rgba(20, 20, 20, 0.66);
	border-color: rgba(255, 255, 255, 0.85);
	outline: none;
}

/* Sessizken kapalı ikon, ses açıkken açık ikon görünür */
.pd-video-ses .pd-ses-acik { display: none; }
.pd-video-ses.sesli .pd-ses-kapali { display: none; }
.pd-video-ses.sesli .pd-ses-acik { display: block; }

@media (max-width: 720px) {
	.pd-video-ses { width: 32px; height: 32px; right: 10px; bottom: 10px; }
}

/* ── Galeri altı görsel notu (v243) ────────────────────────────
   Görseller ürünün son hâlini göstermiyorsa müşteriyi satın alma
   öncesinde bilgilendirir. Uyarı değil, bilgi tonunda. */
.pd-gorsel-notu {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 12px 0 0;
	padding: 10px 12px;
	border: 0.8px solid var(--border, #e3ded6);
	background: #fbfaf8;
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--text-secondary, #6b6b6b);
}

.pd-gorsel-notu svg {
	flex: none;
	margin-top: 2px;
	color: var(--text-muted, #9a9791);
}

@media (max-width: 720px) {
	.pd-gorsel-notu { font-size: 11px; padding: 9px 10px; }
}

/* ==========================================================================
   Masaüstünde tam genişlikli görsel bantları — 16:9 (v249)
   Sorun: anasayfadaki "Kişiye Özel Tasarım" bandı 4:3, Hakkımızda hero'su
   ise oransız (dikey görsel width:100% ile esniyordu) → 1536px ekranda
   1141px ve 2036px yükseklik. Ekranı boydan boya kaplıyor, kullanıcı
   içeriğin geri kalanını göremiyordu.
   Çözüm: masaüstünde ikisi de 16:9 yatay bant, merkezden kırpma.
   Mobilde dokunulmuyor — orada dikey oran doğru davranış.
   ========================================================================== */
/* Mobil: kare (1:1) — dikey görsel tam genişlikte esneyince ekranı
   boydan boya kaplıyordu; kare hem dengeli hem kaydırmayı kısaltıyor. */
@media (max-width: 899px) {
	.custom-banner img,
	.about-page-hero img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		object-position: center;
	}
}

/* Masaüstü: hero bandıyla AYNI oran (21:9) — 1536px ekranda ~652px yükseklik.
   Üç bant da aynı yatay ritmi paylaşsın diye .hero-banner'ın masaüstü
   oranı (style.css satır ~457) birebir eşlendi. */
@media (min-width: 900px) {
	.custom-banner img,
	.about-page-hero img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 21 / 9;
		object-fit: cover;
		object-position: center;
	}
}

/* ==========================================================================
   Hakkımızda — hero boşluğu, başlık ölçeği, kicker (v252)
   ========================================================================== */

/* Görsel üstteki çizgiye YAPIŞIK olsun. Kısayol çıktısı wpautop tarafından
   <p> içine sarılıyordu; o <p>'nin varsayılan margin'i ile satır-içi görselin
   line-height boşluğu üst üste binip görünür bir aralık bırakıyordu.
   Kapsayıcının kendi aspect-ratio'su da artık gereksiz — oranı görsel yönetiyor. */
.about-page-hero {
	aspect-ratio: auto;
	line-height: 0;
	font-size: 0;
	margin: 0;
}

.about-page-hero > p,
.about-page-hero > * {
	margin: 0;
	line-height: 0;
}

/* Başlık ölçeği — 26px iki satıra taşıyor ve gövde metnine göre ağır kalıyordu */
.about-page-body h1 {
	font-size: 21px;
	line-height: 1.35;
	letter-spacing: -0.005em;
	margin: 0 0 18px;
}

/* Kicker: marka adı uzadı, nefes alsın */
.about-page-body .kicker {
	font-size: 10.5px;
	letter-spacing: 0.14em;
	color: var(--text-muted, #9a9791);
	margin: 0 0 12px;
}

@media (min-width: 900px) {
	.about-page-body h1 { font-size: 24px; margin: 0 0 22px; }
	.about-page-body .kicker { font-size: 11px; letter-spacing: 0.16em; margin: 0 0 14px; }
}

/* ── Marka görselleri: mobil / masaüstü ayrımı (v253) ──────────────
   Özelleştirici'de her alan için iki ayrı görsel yüklenebiliyor; ikisi de
   basılır, hangisinin görüneceğini medya sorgusu belirler.

   DİKKAT — ÖZGÜLLÜK: Yukarıdaki oran kuralları `.about-page-hero img`
   (0,1,1) biçiminde ve `display:block` içeriyor. Sade `.orch-img-desktop`
   (0,1,0) bundan daha az özgül olduğu için gizleme çalışmıyordu ve iki
   görsel alt alta basılıyordu. Gizleme kuralları o yüzden `!important`
   ile yazıldı — görünürlük anahtarı her koşulda kazanmalı.              */
img.orch-img-desktop { display: none !important; }
img.orch-img-mobile  { display: block !important; }

@media (min-width: 900px) {
	img.orch-img-mobile  { display: none !important; }
	img.orch-img-desktop { display: block !important; }
}

/* ── Sepet sayfası ürün önerisi (v262) ─────────────────────────────
   Öneri kutusu şimdiye dek yalnız mini sepetteydi. Sepet sayfasında
   müşteri asıl kararı veriyor; eşiğe yaklaşmışsa tamamlayacak parçayı
   burada görmeli. Görsel dil mini sepetle birebir aynı. */
.orch-cartpage-suggest {
	max-width: 1100px;
	margin: 26px auto 0;
	padding: 18px 20px;
	border: 0.8px solid var(--border, #e3ded6);
	background: #fbfaf8;
}

.orch-cartpage-suggest .ocd-suggest-title {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-primary, #1a1a1a);
}

.orch-cartpage-suggest .ocd-suggest-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.orch-cartpage-suggest .ocd-suggest-item {
	display: flex;
	flex-direction: column;
	gap: 7px;
	text-decoration: none;
	color: inherit;
}

.orch-cartpage-suggest .ocd-suggest-item img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #f1ede8;
}

.orch-cartpage-suggest .ocd-suggest-name {
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--text-secondary, #6b6b6b);
}

.orch-cartpage-suggest .ocd-suggest-price {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--text-primary, #1a1a1a);
}

@media (max-width: 720px) {
	.orch-cartpage-suggest { padding: 14px 14px; margin-top: 20px; }
	.orch-cartpage-suggest .ocd-suggest-row { gap: 10px; }
	.orch-cartpage-suggest .ocd-suggest-name,
	.orch-cartpage-suggest .ocd-suggest-price { font-size: 11.5px; }
}

/* ==========================================================================
   Ödeme sayfası — ilçe seçici, telefon notu (v270)
   ========================================================================== */

/* İlçe açılır listesi. Kutu <body>'ye eklenir (checkout'un taşma kırpması
   listeyi kesmesin diye), konumu JS ile hizalanır. */
.orch-ilce-kutu {
	position: absolute;
	z-index: 100000;
	max-height: 260px;
	overflow-y: auto;
	background: #fff;
	border: 0.8px solid #1a1a1a;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
	padding: 4px 0;
}

.orch-ilce-kutu[hidden] { display: none; }

.orch-ilce-sec {
	display: block;
	width: 100%;
	padding: 9px 14px;
	border: 0;
	background: none;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
	color: var(--text-primary, #1a1a1a);
	cursor: pointer;
}

.orch-ilce-sec:hover,
.orch-ilce-sec:focus-visible {
	background: #f4f2ef;
	outline: none;
}

.orch-ilce-sec[aria-selected="true"] {
	background: #1a1a1a;
	color: #fff;
}

.orch-ilce-bos {
	margin: 0;
	padding: 12px 14px;
	font-size: 13px;
	color: var(--text-muted, #9a9791);
}

/* Telefon hata mesajı */
.orch-tel-hata {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 600;
	color: #a8071a;
}

/* Engellenen "Siparişi tamamla" butonu */
/* (8 Ağu: soluklaştırma kaldırıldı — aşağıdaki kural geçerli) */

/* ==========================================================================
   Ödeme bekleme ekranı (v273)
   3D onayından sonraki 5-6 saniyelik boşlukta müşteriyi bilgilendirir.
   Marka dili: beyaz zemin, hairline çerçeve, tek ince halka — mağaza
   deneyiminden kopmayan sakin bir bekleyiş.
   ========================================================================== */
.orch-bekle {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(2px);
}

.orch-bekle[hidden] { display: none; }

.orch-bekle-ic {
	max-width: 340px;
	text-align: center;
}

.orch-bekle-halka {
	display: block;
	width: 34px;
	height: 34px;
	margin: 0 auto 20px;
	border: 1.5px solid #e3ded6;
	border-top-color: #1a1a1a;
	border-radius: 50%;
	animation: orch-bekle-don 0.85s linear infinite;
}

@keyframes orch-bekle-don {
	to { transform: rotate(360deg); }
}

.orch-bekle-baslik {
	margin: 0 0 7px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--text-primary, #1a1a1a);
}

.orch-bekle-alt {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--text-secondary, #6b6b6b);
}

.orch-bekle-uyari {
	margin: 0;
	padding-top: 14px;
	border-top: 0.8px solid #e3ded6;
	font-size: 11.5px;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: var(--text-muted, #9a9791);
}

/* Hareket azaltma tercihi: halka dönmesin, yine de görünsün */
@media (prefers-reduced-motion: reduce) {
	.orch-bekle-halka { animation: none; border-top-color: #1a1a1a; }
}

/* ==========================================================================
   Ödeme sayfası — mobil taşma düzeltmesi (v274)
   --------------------------------------------------------------------------
   SORUN: mobil kuralda form kolonuna `padding: 0` verilmişti; fatura
   alanları ekranın sağ kenarına dayanıp taşmış görünüyordu. E-posta alanı
   ayrı bir kapsayıcıda olduğu için etkilenmiyordu — bu yüzden yalnız
   fatura bölümü bozuk görünüyordu.
   ÇÖZÜM: kolona kenar boşluğu verildi (sidebar'ın 16px'iyle hizalı) ve
   alanlara taşmayı kesin engelleyen güvenlik kuralları eklendi.
   NOT: input padding/font-size'a DOKUNULMADI — yüzen etiket ve iOS
   yakınlaştırma koruması bozulmasın.
   ========================================================================== */
@media (max-width: 781px) {

	/* Sayfanın tamamında yatay kaydırma oluşmasın */
	body.woocommerce-checkout {
		overflow-x: hidden;
	}
}


/* ── Adres alanı: iki satırlık kutu (v275) ────────────────────────
   Tek satırlık input uzun adreslerde yazının kaymasına yol açıyordu.
   Gerçek input React'in kontrolünde kalır (state bozulmasın diye);
   üstüne aynı ölçülerde bir <textarea> bindirilir, yazılan her şey
   yerel setter ile input'a aktarılır. Görünen kutu iki satır. */
.orch-adres-sarmal { position: relative; }

.orch-adres-alan {
	width: 100%;
	min-height: 74px;
	padding: 24px 9px 8px;      /* yüzen etiketle aynı — üste binmesin */
	border: 1px solid #dedede;
	border-radius: 0;
	background: #fff;
	font-family: inherit;
	font-size: 16px;            /* iOS yakınlaştırmasını engeller */
	line-height: 1.45;
	color: var(--text-primary, #1a1a1a);
	resize: vertical;
	box-sizing: border-box;
}

.orch-adres-alan:focus {
	outline: none;
	border-color: #000;
	box-shadow: 0 0 0 1px #000;
}

/* Gerçek input gizlenir ama DOM'da kalır — React onu yönetmeye devam eder */
.orch-adres-gizli {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	margin: 0 !important;
}

@media (max-width: 781px) {

	.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout {
		margin-top: 0 !important;
	}
}

/* Teşekkür sayfası: "Ek bilgi" bölümü gizli (v277)
   PHP tarafında blok kaldırılıyor; bu kural farklı blok adıyla gelen
   sürümler için güvenlik ağı. */
.wp-block-woocommerce-order-confirmation-additional-fields,
.wp-block-woocommerce-order-confirmation-additional-information,
.woocommerce-order .wc-block-order-confirmation-additional-fields,
.woocommerce-order-received .wc-block-order-confirmation-additional-fields {
	display: none !important;
}

/* Tami yönlendirme ara ekranı — güvenlik ağı (v278)
   JS tarafı metinden bulup gizliyor; bu kural eklenti kendi sınıfını
   basarsa diye. Sadece ödeme akışında geçerli, kalıcı bir gizleme değil. */
body.woocommerce-checkout [class*="redirect-notice"],
body.woocommerce-checkout [class*="tami-redirect"],
body.woocommerce-checkout [id*="tami-redirect"],
body.woocommerce-order-pay [class*="redirect-notice"],
body.woocommerce-order-pay [class*="tami-redirect"],
body.woocommerce-order-pay [id*="tami-redirect"] {
	display: none !important;
}

/* Bekleme ekranı her koşulda en üstte kalsın */
.orch-bekle { z-index: 2147483000 !important; }

/* Dilek Kavanozu — tasarıma özel galeri slaytları (v281)
   Gizlenen slayt kaydırma akışından tamamen çıkmalı; `hidden` özniteliği
   bazı görünüm bağlamlarında yetmiyor. */
.pd-gallery .pd-slide[hidden] { display: none !important; }


/* Bekleme ekranı — güven mesajı (v291)
   3D onayından sonraki bekleyişte müşteriye "para çekildi mi, hata mı var"
   endişesi yaşatmamak için ödemenin alındığını açıkça söylüyoruz. */
.orch-bekle-guvence {
	margin: 14px 0 0;
	padding: 10px 12px;
	border: 0.8px solid #e3ded6;
	background: #fbfaf8;
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--text-secondary, #6b6b6b);
}

.orch-bekle-guvence strong { color: var(--text-primary, #1a1a1a); font-weight: 600; }

/* Dilek Kavanozu — yaşam tarzı slaydı (3. slayt)
   Model fotoğrafı; galerideki diğer slaytlarla aynı kadraj oranında
   davranır. 1792x2400 gibi 4:5 dışı görseller de object-fit ile oturur. */
.pd-gallery .pd-slide-yasam img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 42%;
	display: block;
}

/* ── Taksit bilgisi — sepete ekle butonunun altında (v299) ─────────
   Yüksek fiyat itirazını eritmek için aylık tutar. Fiyatla yarışmamalı:
   küçük punto, gri ton, ince çizgi. Bilgi verir, bağırmaz. */
.orch-taksit {
	margin: 12px 0 0;
	padding-top: 11px;
	border-top: 0.8px solid var(--border, #e3ded6);
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: var(--text-secondary, #6b6b6b);
	text-align: center;
}

.orch-taksit[hidden] { display: none; }

.orch-taksit strong {
	font-weight: 600;
	color: var(--text-primary, #1a1a1a);
}

/* wc_price() kendi <span class="amount"> sarmalını basıyor — miras alsın */
.orch-taksit .amount,
.orch-taksit bdi {
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
}

/* Aynı satırda devam etsin — alt satıra düşüp dikeyde yer kaplamasın.
   Ayırıcı orta nokta CSS'ten geliyor; boşluklar nokta ile tutarlı dursun. */
.orch-taksit-not {
	display: inline;
	white-space: nowrap;
	font-size: 11px;
	letter-spacing: 0.03em;
	color: var(--text-muted, #9a9791);
}

.orch-taksit-not::before {
	content: "·";
	margin: 0 5px;
	color: var(--text-muted, #c9c5be);
}

@media (max-width: 720px) {
	.orch-taksit { font-size: 11px; margin-top: 9px; padding-top: 9px; line-height: 1.4; }
	.orch-taksit-not { font-size: 10px; }
	.orch-taksit-not::before { margin: 0 4px; }
}

/* Çok dar ekranda tek satıra sığmazsa sarmasına izin ver — kesilmesin.
   380px altında "3 taksitle 1.438,97₺ · tüm kredi kartlarına" sığmayabilir. */
@media (max-width: 380px) {
	.orch-taksit-not { white-space: normal; }
}


/* ═══ v313 — order-pay üst başlık + ödeme-bekleniyor rozeti + bekleme ekranı modları ═══ */
body.woocommerce-order-pay .orch-pay-headline {
  font-size: 19px; font-weight: 700; letter-spacing: .02em;
  text-transform: uppercase; color: #000; text-align: center;
  margin: 0 0 6px; padding: 0; border: 0;
}
body.woocommerce-order-pay .orch-pay-note {
  font-size: 13px; line-height: 1.5; color: var(--text-muted, #6b6257);
  text-align: center; margin: 0 0 22px;
}
body.woocommerce-order-pay .orch-pay-bekliyor {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: #6b6257; background: #faf8f4;
  border: 1px solid var(--orch-co-line, #dedede); padding: 2px 8px;
}
/* Hazırlık modunda (checkout → ödeme sayfası geçişi) henüz ödeme yok:
   "Ödemeniz güvende / bankanız..." güvence paragrafı bu modda gizlenir */
.orch-bekle[data-mod="hazirlik"] .orch-bekle-guvence { display: none; }

/* ── Bildirim şeridi (toast) — pop-up gönderiminde (v319) ──────────
   Pop-up artık gönderime basar basmaz kapanıyor. Kullanıcının tek geri
   bildirimi bu şerit: engelleyici değil, kendiliğinden söner, hiçbir
   tıklamayı yakalamaz. */
#orch-toast {
	position: fixed;
	left: 50%;
	bottom: 26px;
	transform: translate(-50%, 14px);
	z-index: 99999;
	max-width: calc(100vw - 32px);
	padding: 12px 20px;
	background: #1a1a1a;
	color: #fff;
	font-family: inherit;
	font-size: 12.5px;
	letter-spacing: .02em;
	line-height: 1.4;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .32s ease, transform .32s ease;
}

#orch-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 480px) {
	#orch-toast { font-size: 12px; padding: 11px 16px; bottom: 20px; white-space: normal; text-align: center; }
}

/* ── 7) MOBİL: üstteki özet çubuğu kaldırıldı ──────────────────
   Yusuf'un isteği: "üsttekini kaldıralım, sadece alttaki kalsın".
   Üstteki = sidebar'daki açılır-kapanır çubuk. Geri almak için
   bu bloğu sil. */
@media (max-width: 781px) {
}

/* ── Zorunlu alan uyarısı — ölçülü (7 Ağu) ─────────────────────────
   Önceden yalnız kırmızı çerçeve + buton metni vardı; ikisi de yeterince
   fark edilmiyordu. Buton mesajı gözün baktığı yerde değil — kullanıcı
   doldurması gereken ALANA bakıyor.

   Abartmadan üç şey ekliyoruz:
   1) Alanın altında kısa bir satır (ne yapılacağını söyler)
   2) Kısa bir titreme (gözü oraya çeker, 0,35 sn, sonra durur)
   3) Çerçeve bir tık belirgin

   Renk markanın kendi kırmızısı (#b0472e) — parlak uyarı kırmızısı değil,
   premium tonla uyumlu. */

.pf-uyari {
	display: block;
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.45;
	letter-spacing: .01em;
	color: #b0472e;
}

/* Çerçeve tek piksel daha belirgin — gürültü yapmadan */
.orch-pf input.pf-error,
.orch-file.pf-error .orch-file-input {
	border-width: 1.5px;
	box-shadow: 0 0 0 3px rgba(176, 71, 46, .08);
}

/* Kısa titreme — bir kez çalışır, sonra durur.
   Küçük genlik (3px) bilerek: dikkat çeker ama rahatsız etmez. */
@keyframes orchSarsinti {
	0%, 100% { transform: translateX(0); }
	20%      { transform: translateX(-3px); }
	40%      { transform: translateX(3px); }
	60%      { transform: translateX(-2px); }
	80%      { transform: translateX(2px); }
}

.pf-sarsi {
	animation: orchSarsinti .35s ease-in-out;
}

/* Hareket hassasiyeti olan kullanıcılarda titreme çalışmaz —
   uyarı satırı ve çerçeve zaten yeterli bilgiyi veriyor. */
@media (prefers-reduced-motion: reduce) {
	.pf-sarsi { animation: none; }
}

/* ── Sepet çekmecesi: kupon kodu (7 Ağu) ───────────────────────────
   Katlanır bağlantı olarak duruyor — açık kutu değil. Gerekçe: görünür
   kupon kutusu, kodu olmayan kullanıcıyı kod aramaya itiyor ve o kişi
   çoğunlukla geri dönmüyor. */

.ocd-kupon-ac {
	display: block;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid transparent;
	font-family: inherit;
	font-size: 12.5px;
	letter-spacing: .01em;
	color: #6b6b6b;
	text-align: left;
	cursor: pointer;
	transition: color .15s ease;
}

.ocd-kupon-ac:hover { color: #1a1a1a; }
.ocd-kupon-ac[aria-expanded="true"] { color: #1a1a1a; margin-bottom: 8px; }

.ocd-kupon[hidden] { display: none; }
.ocd-kupon { margin: 0 0 12px; }

.ocd-kupon-satir { display: flex; gap: 8px; }

.ocd-kupon-satir input {
	flex: 1 1 auto;
	min-width: 0;              /* taşmayı önler — flex içinde şart */
	box-sizing: border-box;
	border: 1px solid #d8d3cc;
	border-radius: 0;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: #fff;
}

.ocd-kupon-satir input:focus { outline: none; border-color: #1a1a1a; }

.ocd-kupon-uygula {
	flex: 0 0 auto;
	padding: 10px 18px;
	background: #1a1a1a;
	color: #fff;
	border: 0;
	border-radius: 0;
	font-family: inherit;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity .15s ease;
}

.ocd-kupon-uygula:hover { opacity: .85; }
.ocd-kupon-uygula:disabled { opacity: .5; cursor: default; }

.ocd-kupon-mesaj { margin: 7px 0 0; font-size: 12px; line-height: 1.45; }
.ocd-kupon-mesaj:empty { display: none; }
.ocd-kupon-hata { color: #b0472e; }
.ocd-kupon-ok   { color: #2f6b4f; }

/* Uygulanan indirim satırı — ara toplamın hemen üstünde */
.ocd-indirim-row[hidden] { display: none; }
.ocd-indirim-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 6px;
	font-size: 13px;
	color: #2f6b4f;
}

/* ── Hero altı güven şeridi (7 Ağu) ────────────────────────────────
   Oturumların %81'i tek sayfa, medyan 37 sn — güven İLK EKRANDA
   kurulmalı. Sayfa ortasındaki değerlendirme bölümünü çoğu ziyaretçi
   hiç görmüyor. Köşeli, ince, sessiz; hero'yla yarışmıyor. */
.guven-serit {
	background: #f4f1ec;
	border-bottom: 1px solid var(--border, #e3ded6);
	padding: 11px 20px;
	overflow-x: auto;
	scrollbar-width: none;
}
.guven-serit::-webkit-scrollbar { display: none; }

.gs-ic {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	white-space: nowrap;
	font-size: 11.5px;
	letter-spacing: .02em;
	color: var(--text-secondary, #6b6b6b);
}

.gs-puan { color: #1a1a1a; font-weight: 500; }
.gs-ayrac { margin: 0 12px; color: var(--text-muted, #c9c5be); }

@media (max-width: 720px) {
	.guven-serit { padding: 9px 14px; }
	.gs-ic { justify-content: flex-start; font-size: 10.5px; }
	.gs-ayrac { margin: 0 9px; }
}

/* ── Kategori sıralaması (8 Ağu) ───────────────────────────────────
   Çip şeridinin sağ altına oturur. Filtre YOK — 69 üründe gereksiz;
   kategori şeridi zaten daraltma işini görüyor.
   KÖŞELİ, marka dilinde: ince çerçeve, büyük harf etiket, sade ok. */
.siralama-sar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 10px 0 0;
}

.siralama-et {
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted, #9a9791);
}

.siralama-sec {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--border, #e3ded6);
	border-radius: 0;                    /* KÖŞELİ */
	background: #fff;
	padding: 6px 26px 6px 10px;
	font-family: inherit;
	font-size: 11px;
	letter-spacing: .02em;
	color: #1a1a1a;
	cursor: pointer;
	/* Sade ok — SVG gömülü, ek istek yok */
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231a1a1a' stroke-width='1.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 9px center;
	transition: border-color .15s ease;
}

.siralama-sec:hover,
.siralama-sec:focus { border-color: #1a1a1a; outline: none; }

@media (max-width: 720px) {
	.siralama-sar { margin-top: 8px; }
	.siralama-et { display: none; }      /* dar ekranda etiket gereksiz */
	.siralama-sec { font-size: 10.5px; padding: 6px 24px 6px 9px; }
}

/* ── Galeride "devamı var" sinyali — mobil (8 Ağu) ─────────────────
   SORUN: Yusuf fark etti — ziyaretçiler tek fotoğrafla karar veriyor,
   diğer kareler olduğunu anlamıyorlar. Mobilde her slayt TAM GENİŞLİK
   olduğu için sonraki fotoğraftan hiç iz görünmüyordu; alttaki ince
   ilerleme çubuğu tek başına fark edilmiyor.

   ÇÖZÜM — "göz kırpma" (peek): slayt biraz daraltılıyor, sonraki
   fotoğrafın kenarı görünüyor. Yarım kalan bir görüntü, insanı
   tamamlamaya iter — kaydırma çubuğundan çok daha güçlü bir sinyal.
   Metin eklemiyor, marka dilini bozmuyor.

   Masaüstü ETKİLENMİYOR: orada galeri iki sütunlu ızgara, hepsi görünür. */
@media (max-width: 899px) {
	.pd-gallery { gap: 6px; }

	.pd-gallery .pd-slide {
		flex: 0 0 calc(100% - 38px);
		width: calc(100% - 38px);
		min-width: calc(100% - 38px);
		scroll-snap-align: start;      /* sola yaslı — kenar payı sağda kalsın */
	}

	/* Son slaytın da sola yaslanabilmesi için arkasına pay bırakılır,
	   yoksa sona gelindiğinde hizalanamaz. */
	.pd-gallery .pd-slide:last-child { margin-right: 38px; }

	/* Tek görselli üründe kırpma anlamsız — tam genişlik kalsın */
	.pd-gallery.is-single .pd-slide,
	.pd-gallery.is-single .pd-slide:last-child {
		flex: 0 0 100%;
		width: 100%;
		min-width: 100%;
		margin-right: 0;
	}

	/* Kare sayacı — sağ altta, sessiz. Kaç fotoğraf olduğunu SÖYLER;
	   göz kırpma "devamı var" der, sayaç "kaç tane" der. */
	/* Konum JS ile veriliyor (top), CSS'te bottom YOK.
	   SEBEP: sayaç `.pd-gallery-wrap` içinde duruyor ama o sarmalayıcı
	   galeriden BAŞKA şeyler de barındırıyor — ilerleme çubuğu ve
	   (ürün panelinden girilirse) görsel notu. `bottom` kullanınca
	   notu olan ürünlerde sayaç fotoğrafın altına taşıp yazının üstüne
	   biniyordu (Yusuf son iki üründe fark etti). Artık galerinin
	   kendi alt kenarına hizalanıyor. */
	.pd-sayac {
		position: absolute;
		right: 44px;
		z-index: 3;
		padding: 4px 9px;
		background: rgba(26, 26, 26, .62);
		color: #fff;
		font-size: 10.5px;
		letter-spacing: .06em;
		line-height: 1;
		pointer-events: none;
		backdrop-filter: blur(2px);
	}
}

/* Masaüstünde sayaç gereksiz — tüm kareler ızgarada görünür */
@media (min-width: 900px) { .pd-sayac { display: none; } }

/* ── Marka puanı satırı (8 Ağu) ────────────────────────────────────
   183 değerlendirme 27 ürüne dağılmış, 42 üründe hiç yorum yok.
   Yorumsuz ürüne giren kişi sıfır sosyal kanıt görüyordu.
   Bu satır marka ORTALAMASINI gösterir ve "Orchards geneli" ibaresiyle
   ürünün kendi yorumlarından AÇIKÇA ayrılır — şemaya dokunmaz. */
.pd-marka-puan {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 18px;
	padding: 11px 14px;
	background: #f4f1ec;
	border: 1px solid var(--border, #e3ded6);
	font-size: 12.5px;
	color: var(--text-secondary, #6b6b6b);
}

.pmp-yildiz { color: #1a1a1a; }
.pmp-deger  { color: #1a1a1a; font-weight: 500; }
.pmp-ayrac  { color: var(--text-muted, #c9c5be); }

/* Not satırı tam genişlik kaplar, alta düşer */
.pmp-not {
	flex: 1 0 100%;
	margin-top: 3px;
	font-size: 11px;
	color: var(--text-muted, #9a9791);
}

@media (max-width: 720px) {
	.pd-marka-puan { font-size: 12px; padding: 10px 12px; }
	.pmp-not { font-size: 10.5px; }
}

/* ── Ödeme engeli açıklaması (8 Ağu) ───────────────────────────────
   Soluk bir buton tek başına neyin eksik olduğunu anlatmıyordu;
   Clarity'de müşterilerin ödemeye geçemediği görüldü. Artık sebep
   butonun hemen üstünde yazıyor. */
.orch-odeme-engel-not {
	margin: 0 0 10px;
	padding: 9px 12px;
	background: rgba(176, 71, 46, .06);
	border-left: 2px solid #b0472e;
	font-size: 12.5px;
	line-height: 1.5;
	color: #b0472e;
}

/* ── Eksik alan uyarısı — ödeme butonu üstü (8 Ağu) ────────────────
   Eskiden butona basınca "Ödeme ekranı hazırlanıyor" penceresi açılıyor,
   doğrulama hatası varsa müşteri boşuna bekleyip sayfaya dönüyor ve NE
   EKSİK olduğunu anlamıyordu. Artık pencere hiç açılmıyor; eksikler
   burada kırmızıyla listeleniyor ve ilk eksik alana kaydırılıyor. */
.orch-eksik-uyari {
	margin: 0 0 12px;
	padding: 12px 14px;
	background: rgba(176, 71, 46, .07);
	border-left: 3px solid #b0472e;
	color: #b0472e;
	font-size: 13px;
	line-height: 1.55;
}

.orch-eksik-uyari strong {
	display: block;
	margin: 0 0 5px;
	font-weight: 600;
}

.orch-eksik-uyari ul {
	margin: 0;
	padding-left: 18px;
	list-style: disc;
}

.orch-eksik-uyari li { margin: 2px 0; }

/* ── Adres formu düzeni (8 Ağu, Yusuf) ─────────────────────────────
   Mevcut sıra: ülke → ad → soyad → adres → bina → posta → ilçe → il
   İstenen:     ülke → ad → soyad → İL → İLÇE → adres → telefon

   Mantık: önce kim, sonra nerede (geniş → dar), sonra tam adres.
   Kullanıcı il seçmeden ilçe listesini göremiyordu; yeni sıra bunu
   doğal hale getiriyor.

   Kaldırılanlar: "Bina, kat, daire" (address_2) ve "Posta kodu".
   İkisi de ZORUNLU DEĞİL (canlıda doğrulandı) — gizlemek akışı kesmiyor.
   Kapı/daire bilgisi adres alanına yazılabiliyor, posta kodu kargo
   için gerekmiyor. */
.wc-block-components-address-form { display: flex; flex-wrap: wrap; }

.wc-block-components-address-form > * { flex: 1 1 100%; order: 99; }

.wc-block-components-address-form__country     { order: 1; }
.wc-block-components-address-form__first_name  { order: 2; }
.wc-block-components-address-form__last_name   { order: 3; }
.wc-block-components-address-form__state       { order: 4; }
.wc-block-components-address-form__city        { order: 5; }
.wc-block-components-address-form__address_1   { order: 6; }
.wc-block-components-address-form__phone       { order: 7; }

/* 8 Ağu (Yusuf): İKİ SÜTUN KALDIRILDI — Ad/Soyad ve İl/İlçe yan yana
   dururken diğer alanlardan (Adres, Telefon) kısa kalıyor ve form
   basamaklı görünüyordu. Hepsi tam genişlik: tek sütun, hizalı, sakin.
   Dikeyde biraz daha uzun ama tutarlılık daha değerli. */

/* Kaldırılan alanlar — gizleniyor, silinmiyor. Zorunlu olmadıkları
   canlıda doğrulandı; geri istenirse tek kural. */
.wc-block-components-address-form__address_2,
.wc-block-components-address-form__postcode {
	display: none !important;
}

/* Adres kutusu satır arttıkça büyüsün — sabit iki satırda sıkışmasın */
.orch-adres-alan {
	min-height: 46px;
	resize: none;
	overflow: hidden;
	transition: height .12s ease;
}

/* ── Taksit notu — ödeme yöntemi altında (8 Ağu) ───────────────────
   Ürün sayfasında taksit yazıyordu ama ödeme adımında kayboluyordu;
   Türkiye'de bu adımda taksit görmek kararı etkiliyor.
   Tutar yazılmıyor: taksit tutarı karta/bankaya göre değişir, yanlış
   rakam vermektense "3 taksite kadar" demek hem doğru hem yeterli. */
/* 8 Ağu 2. tur (Yusuf): RENKLİ HAL GERİ — sade satır fark edilmiyordu.
   İlk sürümde kutudan taşıyordu çünkü ödeme LİSTESİNİN İÇİNE giriyordu;
   o sorun konum düzeltmesiyle çözüldü. Artık bloğun kardeşi olduğu için
   hizalı duruyor ve renkli hali güvenle kullanılabiliyor. */
.orch-taksit-not {
	margin: 10px 0 0;
	padding: 11px 13px;
	background: #f4f1ec;
	border-left: 3px solid #1a1a1a;
	list-style: none;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--text-secondary, #6b6b6b);
	box-sizing: border-box;
	width: 100%;
}

.orch-taksit-not::marker { content: none; }

.orch-taksit-not strong { color: #1a1a1a; font-weight: 600; }


/* ── Adres formu: alan yükseklikleri eşitlendi (8 Ağu) ─────────────
   Ölçüm: İl (select) 64px, diğer alanlar 52px — yan yana durunca
   basamaklı görünüyordu. Select'in kendi dolgu/satır yüksekliği
   farklı olduğu için normalleştiriliyor. */
.wc-block-components-address-form .wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-address-form .wc-block-components-state-input {
	margin-top: 0;
	margin-bottom: 16px;
}

.wc-block-components-address-form select,
.wc-block-components-address-form input[type="text"],
.wc-block-components-address-form input[type="tel"] {
	height: 52px;
	box-sizing: border-box;
}

/* ── 8 Ağu: ADRES KARTI GİZLEME GERİ ALINDI ───────────────────────
   🔴 HATA: Kart CSS ile gizlenmiş, formun açılması JS'e bırakılmıştı.
   JS açmayınca ORTADA HİÇBİR ŞEY KALMADI — gönderim adresi bölümü
   tamamen kayboldu (Yusuf bildirdi).
   Bu, aynı gün DÖRDÜNCÜ kez tekrarlanan desen: "standart olanı gizle,
   yerine kendi mekanizmana güven." Mekanizma çalışmazsa müşteri
   kilitleniyor.
   KURAL: Görünür bir şeyi ASLA, yerine gelecek olan görünene kadar
   gizleme. Kart görünür kalır; JS formu açarsa kart zaten DOM'dan
   kendiliğinden kalkıyor. */

/* ── İlçe alanına seçim oku (8 Ağu) ────────────────────────────────
   İl alanı bir <select> olduğu için tarayıcı sağına ok koyuyor; İlçe
   ise <input> ve okla gelmiyordu. İkisi de yalnız listeden seçildiği
   halde biri seçilebilir görünüp diğeri görünmüyordu.
   Aynı oku İlçe'ye de veriyoruz — tutarlı ve "buraya tıklanır" diyor. */
.wc-block-components-address-form__city input[readonly] {
	cursor: pointer;
	padding-right: 34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b6b6b' stroke-width='1.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

/* ── Dolu alanın etiketi küçülüp soluklaşsın (8 Ağu) ───────────────
   WooCommerce yüzen etiket kullanıyor ama dolu/boş farkı zayıftı:
   etiket dolu alanda da neredeyse aynı boyutta ve koyulukta kalıyordu.
   Yusuf: dolunca daha da küçülsün ve soluklaşsın, silinince eski
   haline dönsün. `is-active` sınıfını WooCommerce kendisi yönetiyor,
   biz yalnız görünümü belirginleştiriyoruz. */
.wc-block-components-text-input.is-active label,
.wc-block-components-address-form .is-active label {
	font-size: 10.5px !important;
	letter-spacing: .04em;
	color: var(--text-muted, #a5a19a) !important;
	opacity: .75;
	transition: font-size .15s ease, color .15s ease, opacity .15s ease;
}

/* Boş alanda etiket tam boy ve okunur — silinince buraya döner */
.wc-block-components-text-input:not(.is-active) label,
.wc-block-components-address-form :not(.is-active) > label {
	transition: font-size .15s ease, color .15s ease, opacity .15s ease;
}

/* Odaktayken etiket biraz belirginleşsin — kullanıcı nerede olduğunu görsün */
.wc-block-components-text-input.is-active:focus-within label {
	color: #1a1a1a !important;
	opacity: 1;
}

/* ── İl kutusunun fazla yüksekliği (8 Ağu) ─────────────────────────
   Ölçüm: İl kapsayıcısı 64px, içindeki select 52px — fazlalık
   kapsayıcıda. Diğer alanların kapsayıcısı 52px olduğu için yan yana
   basamaklı duruyordu. Kapsayıcı hizalanıyor. */
.wc-block-components-address-form__state,
.wc-block-components-address-form__country {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.wc-block-components-address-form__state > *,
.wc-block-components-address-form__country > * {
	margin-top: 0;
	margin-bottom: 0;
}

/* Tüm alan kapsayıcıları aynı yükseklik ve aralık — İl kutusu
   fazladan 12px alıyordu (ölçüldü: 64 vs 52). */
.wc-block-components-address-form > * {
	min-height: 52px;
	margin-bottom: 16px;
}


/* ── "+ Ekle bina, kat, daire" tamamen kaldırıldı (8 Ağu) ──────────
   address_2 alanı gizlenmişti ama açma bağlantısı (`__address_2-toggle`)
   ve gizli girdisi ekranda kalıyordu. Zorunlu olmadığı canlıda
   doğrulandı; kapı/daire bilgisi adres alanına yazılabiliyor. */
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-address-form__address_2-hidden-input,
.wc-block-components-address-form__address_2 {
	display: none !important;
}


/* ── Hediye paketi kutusu — üstünden nefes payı (8 Ağu, Yusuf) ─────
   Ödeme bölümünün hemen dibinden başlıyordu, sıkışık duruyordu. */
.wp-block-woocommerce-checkout-additional-information-block {
	margin-top: 22px;
}

/* Taksit notu bloğun içinde — genişliği bloktan miras alır, taşmaz */
.wp-block-woocommerce-checkout-payment-block > .orch-taksit-not {
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

/* ── 8 Ağu temizliği: kaldırılan öğelerin boşlukları ───────────────
   Dört öğe kaldırıldı (sıralama kutusu, "tüm kredi kartlarına" eki,
   üretim süresi satırı, ürün sayfasındaki kalp butonu). Bu kural
   geride kalan dikey boşlukları kapatıyor. */

/* Sıralama kaldırıldı — çip şeridi alt boşluğu normale dönsün */
.siralama-sar { display: none; }

/* Taksit satırı: "tüm kredi kartlarına" gidince tek satır kaldı */
.orch-taksit { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }

/* Üretim notu kaldırıldı — teslimat satırı taksitten hemen sonra gelsin */
.pd-note { display: none; }
.pd-delivery { margin-top: 8px; }

/* Kalp butonu kaldırıldı — WhatsApp satırının altındaki boşluk kapansın.
   .card-actions-heart ÜRÜN KARTLARINDA çalışmaya devam ediyor; burada
   yalnız ürün sayfası bağlamı hedefleniyor. */
.pd-info > .card-actions-heart,
.pd-info > .orch-wishlist-tek { display: none; }

/* ── Sepet ikonu: tıklamada gölge oluşmasın (28 Ağu) ───────────────
   Mini sepet bir <button>; tıklanınca tarayıcının odak halkası ve
   Blocks'un kendi `box-shadow`'u basılıyordu. Başlıktaki diğer ikonlar
   <a> olduğu için onlarda görünmüyor, sepet tek başına farklı duruyordu.
   ⚠️ Erişilebilirlik korunuyor: halka yalnız KLAVYE ile gezilirken
   (`:focus-visible`) gösteriliyor; fare/dokunmatikte gizleniyor. */
header.site-header .wc-block-mini-cart__button:focus,
header.site-header .wc-block-mini-cart__button:active,
header.site-header .wc-block-mini-cart__button:focus-within {
	outline: none !important;
	box-shadow: none !important;
	background: none !important;
	border: 0 !important;
}

header.site-header .wc-block-mini-cart__button {
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	-webkit-appearance: none;
}

/* ⚠️ 28 Ağu — KLAVYE HALKASI DA KALDIRILDI.
   Eklediğim `:focus-visible` halkası beklenenden uzun kalıyordu:
   tıklamadan sonra odak butonda kaldığı için tarayıcı bunu klavye
   gezinmesi sayıp halkayı gösteriyor ve sepet açıldıktan sonra da
   duruyordu. Erişilebilirlik açısından sakınca yok: çekmece açılınca
   odağı O alıyor, klavye kullanıcısı kaybolmuyor. */
header.site-header .wc-block-mini-cart__button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* Sarmalayıcılar da gölge basmasın — kaynak buton olmayabilir */
header.site-header .wc-block-mini-cart,
header.site-header .wc-block-mini-cart *,
header.site-header [class*="mini-cart"] button,
header.site-header [class*="mini-cart"] button:focus,
header.site-header [class*="mini-cart"] button:focus-visible,
header.site-header [class*="mini-cart"] button:active {
	outline: none !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
}
