/*
Theme Name: Artefar Child
Template: astra
Version: 1.4
Description: Artefar editorial storefront — Astra child theme. Astra'nın kendi başlık/ürün markup'ı devre dışı bırakılır; tüm görünüm bu dosyadan gelir. Açık zemin token'ları güncellendi (bg #f7f5f0 / ink #111111 / border rgba(0,0,0,.08)) — VISUAL-SPEC.md'nin eski açık-zemin değerlerini geçersiz kılar. Koyu zemin (.af-dark, sadece hero) dokunulmadı.
*/

/* ---------- Tokens — açık zemin (varsayılan, drawer da bunu kullanıyor) ---------- */
:root{
  --bg:#f7f5f0; --ink:#111111; --body:#2b2b2b;
  --line:rgba(0,0,0,.08); --line-soft:rgba(0,0,0,.05);
  /* 2026-10-04: kağıt dokusu zemini (#E8DABA) #6b6b6b ile 3.85:1 veriyordu
     (WCAG AA metin eşiği 4.5:1 altı) — #4A463F'e koyulaştırıldı (6.77:1,
     site sahibinin kendi önerdiği değer). */
  --mute:#4A463F; --veil:rgba(247,245,240,.82); --grain:.055;
}
:root[data-artefar="dark"],
.af-dark{
  --bg:#170c0b; --ink:#f8f5f0; --body:#ded5c9;
  --line:rgba(240,234,225,.15); --line-soft:rgba(240,234,225,.10);
  --mute:#9e918c; --veil:rgba(23,12,11,.82); --grain:.09;
  background:var(--bg); color:var(--ink);
}

/* ---------- Astra reset: tema kendi görünümünü dayatmasın ---------- */
.ast-container,.site-content .ast-container{max-width:none;padding-inline:0}
.site-header,.ast-primary-header-bar,.ast-below-header,.ast-above-header,
.woocommerce-breadcrumb,.ast-woocommerce-container .woocommerce-result-count,
.woocommerce-ordering,.ast-onsale-card,.ast-shop-product-out-of-stock{display:none!important}
#content,.site-content{padding:0!important;margin:0!important;background:var(--bg)}
.ast-separate-container{background:var(--bg)}
.entry-content>*{margin-block:0}

html,body{margin:0;background:var(--bg)}
body{
  color:var(--ink);
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  font-size:var(--af-fs-body,15px);line-height:var(--af-lh-body,1.65);letter-spacing:0;-webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}

/* Link rengi — Astra'nın varsayılan (mavi) link rengini "html body" özgüllüğüyle ez */
html body a,html body a:visited{color:var(--ink);text-decoration:none}
::selection{background:var(--ink);color:var(--bg)}

/* ---------- Hover / focus — tek dil: görsel scale(1.04) 900ms, buton/link opacity .68 220ms, başka efekt yok ---------- */
html body a,button,.af-icon,.af-pill,.af-cart,.af-configure,.af-btn,.af-pair-add,.af-selector,.af-remove,
.af-promo__applied button,.af-account__tab,.woocommerce-MyAccount-navigation a{
  transition:opacity 220ms var(--af-ease);
}
html body a:hover,html body button:hover,html body .af-icon:hover,html body .af-pill:hover,
html body .af-cart:hover,html body .af-configure:hover,html body .af-btn:hover,html body .af-pair-add:hover,
html body .af-selector:hover,html body .af-remove:hover,html body .af-promo__applied button:hover{
  opacity:.68;background:inherit;color:inherit;border-color:inherit;
}
/* Kök sebep (katalog/kategori kartları hover'da "beyaza yıkanmış" görünüyordu
   — gerçek tarayıcıda ölçülüp doğrulandı: kartın <a>'sı opacity:.68'e
   düşüyordu): yukarıdaki genel "buton/link hover'da soluklaş" kuralı, DÜZ
   METİN linkleri için tasarlanmıştı ama seçici genel "a" içerdiği için
   görsel saran kart linklerini de yakalıyordu. Bu iki bağlamda (katalog
   kartı, kategori kartı) daha spesifik bir kuralla geri alınıyor —
   görsel zoom (aşağıda, ayrı kurallarda) tek geçiş efekti kalıyor. */
html body li.product a:hover,html body .af-grid a:hover{opacity:1}
/* Seçili/aktif durumlar hover değil — dokunulmaz (is-active, aria-pressed, is-done) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:1px solid var(--ink);outline-offset:2px;
}

/* Başlık rengi — Astra global heading rengini ez, Cormorant her yerde */
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6,.af-serif{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:var(--af-track-display,-.01em);margin:0;color:var(--ink);
}
button,input,textarea,select{font-family:inherit}

.af-grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--grain);mix-blend-mode:multiply;background-size:220px 220px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>")}

.af-wrap{max-width:1560px;margin:0 auto;padding-inline:32px}
.af-meta{color:var(--mute);font-size:10.5px;font-weight:400;letter-spacing:.3em;line-height:1.4;text-transform:uppercase}
.af-body{color:var(--body);font-size:15px;line-height:1.7;text-wrap:pretty;max-width:56ch}
.af-rule{border:0;border-top:1px solid var(--line);margin:0}
.af-price{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:.04em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}

/* Buton metni — VISUAL-SPEC: Jakarta 11–12px / 500 / 0.14em / uppercase */
.af-btn,.af-pill,.af-cart,.button,button[name="add-to-cart"]{
  font-size:12px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;line-height:1!important;
}

/* Köşe yarıçapı — VISUAL-SPEC #2: kutu/kart/görsel/panel keskin (0), buton/pill hap (999px). Gölge/gradient yok.
   .af-configure (katalog kartındaki ikincil "Configure Artwork" linki) bilerek dışarıda —
   ana CTA'lardan (Add to Cart, filtre pill'leri) ayrışsın diye kendi keskin/ince stiline sahip. */
.af-option,.af-selector,.af-picker,.af-drawer,
li.product img,.artefar-pdp-main-image-wrapper,.af-line,.af-badges,input,select,textarea{border-radius:0!important}
.af-btn,.af-pill,.af-cart,.button,.af-pair-add,.woocommerce-form button[type="submit"],.woocommerce form button[type="submit"]{border-radius:999px!important}
/* Gerçek boşluk bulundu: yukarıdaki iki kural .button'a sadece tipografi/radius
   veriyordu, renk hiç tanımlı değildi — bizim .af-btn class'ımızı taşımayan her
   çıplak WC varsayılan buton (Confirm email address, Browse products, Pay for
   order, Cancel order, Save changes...) Astra'nın kendi mavi marka rengini
   taşımaya devam ediyordu (gerçek, siteyi genelini etkileyen bir boşluktu).
   DİKKAT: .af-cart/.af-pill buraya BİLEREK dahil değil — onlar kasıtlı olarak
   "ghost" (şeffaf/ince çerçeve) tasarlanmış (satır 120, 375), dolu siyaha
   çevirmek header CART butonunu ve filtre pillerini bozardı. */
.af-btn,.button,button[name="add-to-cart"]{background:var(--ink)!important;color:var(--bg)!important;border:1px solid var(--ink)!important}

/* ---------- Header ---------- */
/* Gerçek bug (v9.0'da bulundu): top:0 sabitti, admin bar açıkken (WP 6.x'in
   kendi --wp-admin--admin-bar--height değişkeni, kapalıyken 0) header admin
   bar'ın ALTINA değil ÜSTÜNE/ARKASINA biniyordu, logo kesiliyordu. */
.af-header{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:40;background:var(--veil);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background-color 400ms var(--af-ease),color 300ms ease,border-color 400ms var(--af-ease),backdrop-filter 400ms var(--af-ease)}
/* Hero'lu sayfalarda (yalnızca front-page.php'de .af-hero var — :has() ile
   koşullu, body class eklemeye gerek kalmadı) header ilk yüklemede şeffaf,
   hero görselinin üzerine serbestçe biniyor. assets/artefar.js scroll'da
   .af-header'a .is-scrolled ekleyince mevcut opak krem+blur'a geçiş yapar. */
body:has(.af-hero) .af-header:not(.is-scrolled){background:transparent;backdrop-filter:none;border-bottom-color:transparent}
body:has(.af-hero) .af-header:not(.is-scrolled) .af-logo,
body:has(.af-hero) .af-header:not(.is-scrolled) .af-nav a,
body:has(.af-hero) .af-header:not(.is-scrolled) .af-icon,
body:has(.af-hero) .af-header:not(.is-scrolled) .af-cart{color:#f8f5f0;transition:color 300ms ease}
body:has(.af-hero) .af-header:not(.is-scrolled) .af-icon--ring{border-color:rgba(240,234,225,.4);transition:color 300ms ease,border-color 400ms var(--af-ease)}
/* v9.5: ilk yüklemede sadece logo kalsın — nav/arama/cart fade-in ile
   scroll'da belirir (.af-header__center = nav+burger, .af-tools = arama+cart,
   gerçek header.php class'ları). */
/* Gerçek bug (2026-10-04, site sahibi bildirdi): .af-header__center hem
   nav metinlerini HEM DE mobil hamburger butonunu sarıyor — ikisini
   birlikte opacity:0 yapmak, mobilde TEK navigasyon giriş noktası olan
   hamburger'ı hero bölümü bitene kadar (260vh'lik pinned Edition Opening
   dahil) görünmez VE tıklanamaz bırakıyordu. Artık sadece .af-nav (metin
   linkleri, masaüstünde "sakin başlangıç" hissi için hâlâ beliriyor)
   soluyor — .af-burger HER ZAMAN görünür/tıklanabilir. */
body:has(.af-hero) .af-header:not(.is-scrolled) .af-header__center .af-nav,
body:has(.af-hero) .af-header:not(.is-scrolled) .af-tools{opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity 400ms ease,transform 400ms ease}
body:has(.af-hero) .af-header.is-scrolled .af-header__center .af-nav,
body:has(.af-hero) .af-header.is-scrolled .af-tools{opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity 400ms ease,transform 400ms ease}
.af-header__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:72px;max-width:1560px;margin:0 auto;padding-inline:32px}
.af-logo{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(16px,1.6vw,21px);letter-spacing:clamp(.18em,.9vw,.34em);white-space:nowrap;color:var(--ink)}
/* Gerçek bug (bu turda bulundu): .af-nav doğrudan <li> taşıyor ama
   list-style:none hiç tanımlanmamıştı — tarayıcı varsayılan bullet (•)
   <li> seviyesinde, benim .af-nav a renk kuralımdan ETKİLENMİYORDU (ayrı
   kutu modeli). Şeffaf header'da metin doğru renge boyanırken noktalar
   koyu kalıp "sadece noktalar görünüyor" izlenimini yaratan buydu. */
.af-nav{display:flex;list-style:none;justify-content:center;align-items:center;column-gap:clamp(16px,2.4vw,32px);row-gap:8px;flex-wrap:wrap}
body:has(.af-hero) .af-header:not(.is-scrolled) .af-nav{color:#f8f5f0}
.af-nav a{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

/* Henüz gerçek sayfası olmayan nav kalemleri (Originals/Objects/Journal) —
   uydurma link yerine Edition Opening'deki "COMING SOON" ile aynı dürüst
   desen: görünür ama tıklanamaz, küçük "Soon" rozetiyle. */
.af-nav__soon{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--mute);cursor:default;opacity:.55}
.af-nav__soon small{font-size:8px;letter-spacing:.1em;border:1px solid currentColor;border-radius:999px;padding:2px 6px}
.af-menu__links .af-nav__soon{display:flex;align-items:center;min-height:64px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,9vw,52px);border-bottom:1px solid var(--line-soft);text-transform:none;letter-spacing:0;justify-content:space-between}
.af-menu__links .af-nav__soon small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-family:'Plus Jakarta Sans',sans-serif}
.af-header__center{display:flex;align-items:center;justify-content:center}
.af-tools{display:flex;align-items:center;gap:8px;justify-self:end}

/* ---------- v10 header (GÖREV Faz 3) — yalnız ?af10=1/çerezle .af10-header
   class'ı eklenince aktif. AYNI markup/class'lar (af-header__center,
   af-tools, af-nav, af-logo, af-icon, af-cart) kullanılıyor ki hero
   üzerindeyken şeffaflaşma/scroll'da belirme davranışı (body:has(.af-hero)
   .af-header:not(.is-scrolled)...) olduğu gibi çalışmaya devam etsin —
   ayrı class isimleri kullansaydım o kuralları ikinci kez yazmam
   gerekirdi (bakım riski). Sadece GRİD SIRASI ve birkaç ölçü değişiyor:
   nav sola, logo ortaya (mockup'ın istediği gibi). */
.af10-header .af-header__in > .af-logo{ order:2; font-size:26px; letter-spacing:.42em; padding-left:.42em; }
.af10-header .af-header__in > .af-header__center{ order:1; justify-content:flex-start; }
.af10-header .af-header__in > .af-tools{ order:3; }
/* 5 kaleme çıkınca (Prints/Originals/Objects/Journal/Studio) eski geniş
   boşluk tek satıra sığmıyordu (Studio 2. satıra düşüyordu, gerçek
   tarayıcıda ölçülüp doğrulandı) — bu header varyantına özel daha dar
   boşluk, legacy nav'a dokunmadan. */
.af10-header .af-nav{ justify-content:flex-start; column-gap:18px; }
.af10-header .af-nav__soon small{ padding:1px 5px; }
/* 901–1366px arası (burger henüz devrede değil, logo+5 kalem dar) — daha da
   sıkı boşluk, gerçek tarayıcıda 1280px'te 2. satıra düşen "Studio"
   bulunup düzeltildi (sabit 72px header yüksekliğinde taşma yaratıyordu). */
@media (min-width:901px) and (max-width:1366px){
  .af10-header .af-nav{ column-gap:12px; }
  .af10-header .af-nav a, .af10-header .af-nav__soon{ font-size:10px; }
  .af10-header .af-header__in > .af-logo{ font-size:20px; letter-spacing:.3em; }
}
/* 2026-11-02: "Trade" ile 6 kalem — 1201–1599px'te "Soon" rozetleri gizlenir (kalemler zaten soluk renkte),
   menü tek satırda kalır ve logoya değmez; 1600px+ rozetler görünür. */
@media (min-width:1201px) and (max-width:1599px){ .af10-header .af-nav__soon small{ display:none; } }
.af10-header .af-nav a.is-active{ border-bottom:1px solid var(--ink); padding-bottom:6px; }
body:has(.af-hero) .af10-header:not(.is-scrolled) .af-nav a.is-active{ border-bottom-color:#f8f5f0; }
/* flex-shrink:0 — dar flex satırlarda (drawer header, 01/02/03 adım metniyle
   yan yana) bu 48px daire sıkışıp oval/bulanık görünebiliyordu (kapatma
   butonunun "boş oval" gibi görünmesi şikayetinin gerçek sebebi buydu). */
.af-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.af-icon svg{display:block}
.af-icon--ring{border-color:var(--line)}
/* Kapatma "×" — SVG'ye hiç bağımlı değil, saf CSS pseudo-element ile çiziliyor
   (bulletproof: SVG render/markup sorunlarına karşı bağışık). İki çubuk 45/-45
   derece döndürülüp ortalanıyor. */
.af-icon--close{position:relative}
.af-icon--close::before,.af-icon--close::after{content:'';position:absolute;top:50%;left:50%;width:12px;height:1px;background-color:currentColor;transition:background-color 220ms var(--af-ease)}
.af-icon--close::before{transform:translate(-50%,-50%) rotate(45deg)}
.af-icon--close::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* v9.0: hap/kutu kaldırıldı — diğer nav linkleriyle birebir aynı düz metin. */
/* Gerçek kök sebep (bu turda bulundu, gerçek tarayıcıda getComputedStyle
   ile doğrulandı): appearance:none eksikti VE tarayıcı <button>'a kendi
   box-shadow:0 1px 2px rgba(0,0,0,.05) form-control gölgesini veriyordu —
   CLAUDE.md "gölge yok" kuralını ihlal eden, SAVED/CART altında görünen
   "belirsiz daire/gölge" tam buydu. */
.af-cart{position:relative;display:inline-flex;align-items:center;gap:6px;height:48px;padding:0;border:0;appearance:none;-webkit-appearance:none;background:transparent;box-shadow:none;color:var(--ink);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.af-cart svg{display:block;flex-shrink:0}
/* Sepete eklendi — sessiz editoryal onay: rozet/zıplama yok, sadece 3 kısık geçiş */
.af-cart-ping::after{content:'';position:absolute;inset:-4px;border-radius:999px;border:1px solid rgba(17,17,17,.35);opacity:0;pointer-events:none;animation:afCartPing .7s var(--af-ease) forwards}
@keyframes afCartPing{0%{transform:scale(.92);opacity:.8}100%{transform:scale(1.18);opacity:0}}
.af-cart-sweep::before{content:'';position:absolute;bottom:-3px;left:12%;width:76%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;animation:afCartSweep .65s var(--af-ease) forwards}
@keyframes afCartSweep{0%{transform:scaleX(0);opacity:1}50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* Kök sebep (sepet boşken "CART" metni ortalanmamış görünüyordu): sepet 0
   ürünlüyken bu span boş metin içeriyor ama DOM'da HÂLÂ VAR — .af-cart'ın
   gap:8px'i, span 0 genişlikte olsa bile onunla "Cart" arasına yine de 8px
   boşluk ekliyordu, bu da metni optik olarak sola kaydırıyordu. :empty ile
   span tamamen akıştan çıkınca gap de uygulanmıyor, "Cart" tek başına tam
   ortalanıyor. */
.af-cart-count{display:inline-block}
.af-cart-count:empty{display:none}
/* Mekanik tumbler (bavul kilidi) — sepet sayısı değişince rakam dikey olarak
   yeni değere "yuvarlanıyor". Önceki basit crossfade (is-updating/is-incoming)
   bununla değiştirildi — ikisi aynı anda tetiklenmesin diye tek mekanizma kaldı. */
.af-tumbler-window{display:inline-block;position:relative;height:1.25em;line-height:1.25em;overflow:hidden;vertical-align:text-top;min-width:1ch;text-align:center}
.af-tumbler-reel{display:inline-flex;flex-direction:column;transform:translateY(0);will-change:transform}
.tumbler-digit{display:block;height:1.25em;line-height:1.25em;font-variant-numeric:tabular-nums}
.af-tumbler-reel.is-rolling{animation:afTumblerRoll .45s var(--af-ease) forwards}
@keyframes afTumblerRoll{0%{transform:translateY(0);filter:blur(0)}40%{filter:blur(.5px)}100%{transform:translateY(-50%);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.af-cart-ping::after,.af-cart-sweep::before{animation:none;display:none}.af-tumbler-reel.is-rolling{animation:none}}
/* 2026-10-09: mobil menü ikonu görünmüyordu — kök neden: SVG'nin boyutu yalnız HTML özniteliğiyle
   verilmişti; flex ebeveynde (.af-icon{display:flex}) svg daralıp genişliği 0 px'e düşüyordu
   (canlıda ölçüldü: düğme 48×48, svg 0×16). Header ikonlarında daralma kapatıldı. */
.af-icon > svg,.af-cart > svg{flex:none}
.af-burger svg{width:18px;height:18px}
.af-burger{display:none}
@media(max-width:900px){.af-nav{display:none}.af-burger{display:flex}}
/* v10 header'ın 5 kalemi (Prints/Originals/Objects/Journal/Studio), eski
   2 kalemlik nav'ın sığdığı 901-1100px aralığında artık sığmıyor (gerçek
   tarayıcıda 901/1024px'te 2. satıra taştığı ölçüldü) — SADECE bu header
   varyantı için burger eşiği yükseltildi, legacy nav'a dokunulmadı. */
@media(min-width:901px) and (max-width:1200px){.af10-header .af-nav{display:none}.af10-header .af-burger{display:flex}}
/* Gerçek bug (2026-10-04): .af10-header'ın ortalanmış büyük logosu
   (26px/.42em) 768/900px kırılımlarında KÜÇÜLMÜYORDU — üç class'lı seçici
   (.af10-header .af-header__in > .af-logo) genel mobil .af-logo kuralından
   (tek class) daha özgül olduğu için medya sorgusu içindeki genel kural
   hiç devreye girmiyordu. Logo geniş kalınca .af-tools (Saved/Cart) sıkışıp
   390px'te 25px taşıyordu — tüm sayfa yatayda 25px kayabiliyordu. */
@media(max-width:900px){
  .af10-header .af-header__in > .af-logo{ font-size:14px; letter-spacing:.2em; padding-left:0; }
}
.af-menu{position:fixed;inset:0;z-index:55;display:none;flex-direction:column;background:var(--bg);padding:20px 24px calc(24px + env(safe-area-inset-bottom,0px))}
.af-menu[data-open="1"]{display:flex}
.af-menu__head{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:48px}
.af-menu__links{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px}
.af-menu__links a{display:flex;align-items:center;min-height:64px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,9vw,52px);border-bottom:1px solid var(--line-soft)}

/* ---------- Mobil başlık — 56px sabit yükseklik, 3 nokta düzen: logo / menü / sepet ---------- */
@media(max-width:768px){
  .af-header__in{height:56px;padding-inline:16px;gap:8px}
  .af-logo{font-size:14px;letter-spacing:.2em}
  .af-icon--search{display:none}
}

/* ---------- Hero (koyu zemin) ---------- */
/* GERÇEK KÖK SEBEP (bu turda bulundu): .af-header position:sticky olduğu
   için NORMAL DOCUMENT FLOW'da kendi 72px'ini (mobilde 56px) kaplıyordu —
   hero section'ı header'ın üzerine hiç BİNMİYORDU, ALTINDAN başlıyordu.
   Header'ı transparent yapınca arkasında GÖRÜNEN ŞEY hero değil, body'nin
   kendi krem zemin rengiydi ("krem üstüne krem yazı" — kullanıcının
   bildirdiği gerçek sorun buydu, text-shadow bunu çözmezdi). Hero artık
   negatif margin-top ile header'ın (z-index 40) ARKASINA (hero z-index:2,
   zaten daha düşük) gerçekten çekiliyor — sadece hero'lu sayfada. */
/* -73/-57: header'ın border-bottom'u (1px) toplam yüksekliğe dahil — sadece
   içerik yüksekliğini (72/56) çıkarsaydık 1px'lik ince bir kalıntı kalıyordu. */
body:has(.af-hero) .af-hero{margin-top:-73px}
@media(max-width:768px){body:has(.af-hero) .af-hero{margin-top:-57px}}
/* Gerçek bug (2026-10-04, site sahibi bildirdi — "ölü kaydırma alanı"):
   280vh'lik iz, 100vh'lik pin'den çıkınca 180vh'lik bir sarmal bırakıyordu;
   solma (bloom) bu izin SONUNDA bitiyordu (kök sebep bu değildi), asıl
   sorun pin AÇILDIKTAN SONRA 100vh'lik tamamen boyasız bir normal-scroll
   payıydı (Issue 01 henüz girmemişken hero'nun solmuş düz rengi tek başına
   kayıyordu). 160vh'e indirildi (iz=60vh) + Issue 01 kendi üstüne
   bindirilerek (aşağıda .af10-edition margin-top:-40vh) bu pay ortadan
   kaldırıldı. */
.af-hero{position:relative;z-index:2;height:160vh;background:var(--bg)}
/* Issue 01 (v10) hero'nun son 40vh'ının ÜSTÜNE biner — aralarında boş
   normal-scroll payı kalmasın diye. Legacy manifesto akışına (ayrı
   dosya/section, bu kuralı miras almıyor) DOKUNULMADI. */
.af-hero:has(+ .af-hero-fade + .af10-edition){ z-index:1; }
/* Maske denemesi geri alındı — sayfa yüklenir yüklenmez (scroll=0, henüz hiç
   bloom yokken) alt kenarı erkenden şeffaflaştırıp altındaki bone zemini
   gösteriyordu, çirkin bir beyaz şerit oluşturuyordu. Pin'in zemini de dark
   temaya (.af-dark → var(--bg) koyu) geri döndü — bone'a geçiş artık SADECE
   JS'teki bloom katmanı (.af-hero__bloom) ile, scroll'a bağlı, statik CSS'le
   değil. 100dvh: mobil tarayıcı adres çubuğu 100vh'yi gerçek viewport'tan
   büyük hesaplatıp alt kenarda boşluk bırakabiliyordu — dvh destekleyen
   tarayıcılarda bunu eziyor. */
.af-hero__pin{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.af-hero__frame{position:absolute;inset:0;will-change:transform,opacity;transform-origin:center center;backface-visibility:hidden;transform:translateZ(0);contain:paint}
.af-hero__frame img{width:100%;height:100%;object-fit:cover;display:block}
/* Editoryal koyulaştırma — metnin tam üzerine gelen açık renkli boş kanvas
   maketi (gerçek tarayıcıda ölçülüp doğrulandı) kontrastı düşürüyordu; tek
   başına text-shadow yetmedi. .af-hero__frame'in KENDİ ::after'ı — z-index
   vermiyoruz, bloom(1)/seam(2)/copy(2) katmanları zaten frame'in (z-index:auto)
   üzerinde kalıyor, sıralama bozulmuyor. Merkeze odaklı radial + üst/alt
   linear ikinci geçiş, sabit (scroll'a bağlı değil) — bloom/seam'in kendi
   scroll animasyonuyla çakışmıyor. */
.af-hero__frame::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 55% at 50% 48%,rgba(17,17,17,.62) 0%,rgba(17,17,17,.34) 55%,rgba(17,17,17,0) 78%),
    linear-gradient(to bottom,rgba(17,17,17,.22) 0%,rgba(17,17,17,0) 22%,rgba(17,17,17,0) 68%,rgba(17,17,17,.4) 100%);
}
/* Exposure bloom katmanı — koyu .af-dark bağlamında var(--bg) koyu çözümlenir,
   burada HER ZAMAN açık zemin gerekiyor (aynı #f7f5f0 değeri, sadece kapsam dışına
   taşınmış) — scroll'un ikinci yarısında (JS) üstüne binip görseli tümüyle "bone"
   zemine yıkıyor, sert kesinti olmadan. */
.af-hero__bloom{position:absolute;inset:0;z-index:1;background:#f7f5f0;opacity:0;pointer-events:none;will-change:opacity}
/* Gerçek bug (2026-10-03/04): bloom #f7f5f0'a (v9 --bg) soluyordu, ama
   v10'un zemini artık kağıt dokusunun taban rengi #D9D4C6 (paper.css) —
   ikisi TAM AYNI DEĞİL, hero'nun KENDİ solma animasyonu İÇİNDE (bridge
   şeridinden ÖNCE, görselin üstünde) ince bir renk atlaması oluşturuyordu.
   Legacy'nin kendi sonraki bölümü (#artefar-manifesto-stage) hâlâ #f7f5f0
   kullandığı için bu düzeltme SADECE v10 zincirinde. */
.af-hero:has(+ .af-hero-fade + .af10-edition) .af-hero__bloom{ background:#D9D4C6; }
/* Alt kenar yumuşatma şeridi — statik mask-image DENENMİŞTİ, sayfa yüklenir
   yüklenmez (scroll=0, henüz hiç bloom yokken) erkenden şeffaflaşıp beyaz şerit
   gösterdiği için kaldırılmıştı. Bunun yerine: ayrı, KENDİ opacity'si JS'te
   bloom ile birebir senkron, scroll=0'da görünmez (opacity:0) bir gradient
   şerit — sadece bloom ilerledikçe belirip alt kenarı bone zemine "eritiyor",
   sayfa yüklendiğinde hiçbir şey göstermiyor. */
.af-hero__seam{position:absolute;left:0;right:0;bottom:0;height:24vh;z-index:2;background:linear-gradient(to bottom,rgba(247,245,240,0) 0%,#f7f5f0 100%);opacity:0;pointer-events:none;will-change:opacity}
.af-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;max-width:1560px;padding-inline:32px;will-change:transform,opacity}
/* text-shadow: fotoğrafın açık renkli bölgeleri (krem halı, boş kanvas
   maketi) üzerinde metin kontrastı düşüyordu — gerçek tarayıcıda ölçülüp
   doğrulandı (ekran görüntüsünde "Tactile Wall Art" tam boş kanvasın
   üzerine geliyor). Ayrı bir gradient katmanı eklemek yerine (mevcut
   scroll'a bağlı .af-hero__bloom/.af-hero__seam sistemiyle çakışırdı) metne
   sabit, yumuşak bir gölge verildi — görselin altındaki renk ne olursa
   olsun okunabilirlik korunuyor. */
/* v9.7: kullanıcı geri bildirimi — başlık fazla iri/yayvan duruyordu.
   font-weight:300 Cormorant'ın onaylı kesimlerinden (CLAUDE.md: 300/400).
   Renk saf #fff yerine var(--ink) kullanıldı (.af-dark'ta zaten #f8f5f0 —
   neredeyse beyaz, onaylı token). */
.af-hero__copy h1{font-weight:300;font-size:clamp(40px,4vw,62px);line-height:1.15;letter-spacing:-.02em;max-width:680px;margin-inline:auto;text-wrap:balance;color:var(--ink);text-shadow:0 2px 14px rgba(0,0,0,.35)}
.af-scrollcue{display:inline-flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.af-scrollcue span{width:1px;height:48px;background:var(--line)}
/* v9.6: SEO metni kaldırılmadı, editoryal "küratör notu" olarak sağ-alt
   köşeye taşındı — .af-hero__pin zaten position:sticky (positioning context
   sağlıyor), metin ona göre mutlak konumlanıyor. Aynı text-shadow tekniği
   (üstteki h1 notuna bakın) okunabilirlik için korundu. */
.af-hero__note{position:absolute;z-index:2;right:48px;bottom:64px;max-width:290px;margin:0;font-size:12px;line-height:1.7;text-align:right;color:var(--body);text-shadow:0 2px 18px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.75)}
@media(max-width:768px){
  /* .af-hero__pin varsayılan flex-direction:row — .af-hero__note static
     olunca .af-hero__copy ile yan yana gelirdi, column ile alt alta diziliyor
     (frame/bloom/seam zaten position:absolute, bundan etkilenmiyor). */
  .af-hero__pin{flex-direction:column}
  .af-hero__note{position:static;text-align:center;color:var(--body);margin:20px auto 0;padding-inline:32px;max-width:52ch}
}
@media(prefers-reduced-motion:reduce){.af-hero{height:100vh}.af-hero__pin{height:100vh}.af-hero__bloom{display:none}.af-hero__seam{display:none}}

/* ---------- Full-bleed görsel anı — 1560px kutunun dışına taşar ---------- */
.af-fullbleed{position:relative;z-index:2;width:100vw;margin-left:calc(50% - 50vw);height:64vh;min-height:360px;max-height:720px;overflow:hidden}
.af-fullbleed img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border:0}
/* Editoryal metin bindirmeli banner varyantı — hero'da bulunan aynı açık
   renkli boş kanvas bölgesi kontrast sorunu burada da olacaktı, aynı
   merkeze odaklı koyulaştırma önceden uygulandı (deploy sonrası tekrar
   keşfetmek yerine). */
/* Kök sebep (görsel daralıp sağda büyük boş alan bırakıyordu — ekran
   görüntüsüyle doğrulandı): .af-fullbleed--banner'ı flex yapmak, akış
   içindeki <picture>'ı da (absolute değil) flex item'a çevirip içerik
   boyutuna küçültüyordu. Görsel önceki gibi normal akışta %100 genişlikte
   kalmalı — ortalama işini SADECE metin katmanı kendi absolute+flex'iyle
   yapıyor. */
.af-fullbleed__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 65% at 50% 50%,rgba(17,17,17,.6) 0%,rgba(17,17,17,.32) 55%,rgba(17,17,17,0) 80%)}
.af-fullbleed__copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;max-width:640px;margin:0 auto;padding:0 24px}
.af-fullbleed__copy .af-meta{color:rgba(247,245,240,.88);text-shadow:0 1px 8px rgba(0,0,0,.7)}
.af-fullbleed__copy h2{color:var(--bg);font-size:clamp(30px,4vw,52px);line-height:1.15;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.6),0 1px 6px rgba(0,0,0,.8)}
.af-fullbleed__copy p{color:rgba(247,245,240,.92);font-size:14px;line-height:1.6;margin:0;max-width:52ch;text-shadow:0 1px 12px rgba(0,0,0,.65)}
.af-fullbleed__copy .af-btn{background:var(--bg);color:var(--ink);border-color:var(--bg);margin-top:8px}
.af-fullbleed__copy .af-btn:hover{opacity:.88}

/* ---------- Malzeme matrisi (3 sütun) ---------- */
.af-materials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.af-materials-index{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}
.af-materials-col h3{font-size:22px;font-weight:500;line-height:1.3;margin:0 0 12px}
.af-materials-col .af-body{max-width:none}
@media(max-width:860px){.af-materials-grid{grid-template-columns:1fr;gap:36px}}

/* ---------- Section / grid ---------- */
.af-section{padding:96px 32px;border-top:1px solid var(--line-soft);background:var(--bg);position:relative;z-index:3;scroll-margin-top:80px}
/* Zemin değişiminin hemen ardından gelen bölüm: geçiş zaten zemin farkıyla işaretli, ikinci bir hairline ekleme */
.af-dark~.af-section,.af-fullbleed~.af-section{border-top:0}
.af-hero~.af-section{padding:128px 32px 96px}
/* Kök sebep: .af-section (padding-inline:32px) çoğu şablonda bir .af-wrap
   (padding-inline:32px) sarıyor — masaüstünde 1560px kutusu içinde fark etmiyordu
   ama dar ekranda bu iki dolgu TOPLANIYORDU (her kenarda 64px), içerik genişliğini
   eziyordu; katalog gibi sayfalarda mobildeki "sıkışık/dağınık" görünümün asıl
   kaynağı buydu. Mobilde yatay dolguyu tek yere (af-wrap, 20px) indiriyoruz, dikey
   dolguyu da README'nin öngördüğü mobil değere (64px) çekiyoruz. */
@media(max-width:768px){
  .af-wrap{padding-inline:20px}
  .af-section{padding-inline:0;padding-block:64px}
  .af-hero~.af-section{padding-inline:0;padding-block:64px}
}

/* Hero → Manifesto geçişi: bloom katmanı (JS) scroll'un ikinci yarısında zaten
   hero'yu tümüyle bone zemine yıkıyor — bu şerit artık koyu→açık degrade DEĞİL,
   nötr bone dolgu (eski koyu gradient burada tekrar koyulaşma/"flash" yaratırdı). */
.af-hero-fade{height:160px;margin-top:-160px;position:relative;z-index:2;pointer-events:none;background:var(--bg)}

/* ---------- Manifesto sahnesi — scroll ile daktilo efekti ---------- */
/* Kök sebep (boşluk): sticky-pin scroll animasyonlarında (hero dahil) sticky
   çözülüp normal akışa döndükten sonra pin'in kendi yüksekliği kadar (100vh)
   "ölü" bir scroll payı kalır — parent (280vh) - viewport (100vh) = 180vh'de
   animasyon biter ama kutunun kendisi 280vh'de biter, aradaki 100vh boş bone
   ekranı kaydırmaktan başka bir şey yapmaz. margin-top:-10vh bunun sadece
   onda birini kapatıyordu, kalan ~90vh'lik boşluk hâlâ duruyordu (önceki
   ekran görüntüsü tam o boşluğun içindeydi, sticky "bozulmamıştı"). Doğru
   değer TAM hero pin yüksekliği kadar: -100vh — manifesto'nun kendi sticky'si
   artık hero'nun boşa çıkan son 100vh'lik payına TAM üst üste biniyor, bu pay
   zaten o noktada tamamen bone renginde olduğu için görsel bir sorun yaratmıyor. */
/* 268vh: yazım hızı istem üzerine bir %20 daha yavaşlatıldı. typingThreshold
   (artefar.js'te 0.84) zaten 1'e yakın — onu artırmak matematiksel olarak
   imkansız (progress hiçbir zaman 1'i geçmiyor). Bunun yerine threshold SABİT
   kalıp toplam scroll mesafesi (dolayısıyla karakter başına düşen scroll payı)
   %40 artırıldı: 220vh→268vh (120vh scroll payı → 168vh, tam %40 fazla). */
/* Kök sebep (Collections'ın yarım yazıyla üst üste binmesi): 165vh'de
   manifesto'nun "yapışık" (sticky) scroll payı sadece 65vh (165-100vh pin) idi.
   Takip eden bölüme uygulanan -100vh margin bu payı AŞIYORDU — Collections
   normal akışta daha manifesto animasyonu (progress<1, yazı hâlâ yarımken)
   BİTMEDEN ekranın alt kısmına giriyor, z-index'i daha yüksek olduğu için de
   yapışık pin'in ÜSTÜNE biniyordu. 220vh'e çıkarılıp negatif margin TAMAMEN
   kaldırıldı — artık hiçbir üst üste binme riski yok, dolgu ile sıkılaştırma
   yeterli. (Not: 220vh'de yapışık pay 120vh > 100vh pin olduğu için -100vh
   margin aslında GÜVENLİ olurdu — istenirse ayrıca eklenip kalan boş kuyruk da
   kapatılabilir, ama bu turda "asla negatif margin yok" talimatına harfiyen uyuldu.) */
/* 336vh: yazım hızı istem üzerine bir kez daha yavaşlatıldı — threshold (0.65)
   yine sabit, scroll payı 168vh→236vh'e çıkarıldı. Collections'a bağlanan
   section margin:0 olduğu için (bkz. aşağıda) bu boy artışı hiçbir üst üste
   binme riski taşımıyor — Collections her zaman TAM progress=1'de giriyor,
   stage ne kadar uzun olursa olsun. */
#artefar-manifesto-stage{position:relative;height:336vh;margin:-100vh 0 0;padding:0;background-color:var(--bg);z-index:2}
#artefar-manifesto-stage + section{position:relative;margin-top:0!important;padding-top:64px!important;background:var(--bg);z-index:3}
.manifesto-pin-container{position:sticky;top:0;left:0;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}
.manifesto-content-box{max-width:760px;width:90%;text-align:center;margin:0 auto;padding-inline:24px;transform:translateY(-5vh)}
@media(max-width:768px){.manifesto-content-box{max-width:95%;transform:translateY(-2vh)}}
/* Kök sebep (buton "görünmez" gibiydi — gerçek tarayıcıda ölçülüp doğrulandı):
   background tamamen şeffaf (rgba(0,0,0,0)), kontur sadece %8 opak siyahtı —
   bone (#f7f5f0) zemin üzerinde pratikte kayboluyordu (buton DOM'da/işlevsel
   olarak vardı, sadece görsel kontrastı neredeyse sıfırdı). Artık kendi
   yarı saydam bone zemini + backdrop-filter + belirgin kontur var, sağ-alta
   taşındı (istem üzerine). 48px dokunma hedefi kuralı korundu (min-height). */
/* Not: Chromium'da (gerçek tarayıcı, Playwright ile) :focus/:focus-visible/:active
   durumlarının hiçbirinde mavi bir değer ölçülemedi (outline/border/background
   hep ink/bone kaldı) — muhtemelen Safari/dokunmatik'e özgü bir davranış
   (-webkit-tap-highlight-color, CSS'in normal kapsamı dışında bir katman) ya da
   macOS'un kendi erişilebilirlik halkası. Yine de standart, zararsız önlemler
   (tap-highlight-color:transparent, açık :active tanımı) burada ekleniyor. */
.manifesto-sound-btn{
  position:absolute;bottom:36px;left:48px;z-index:40;
  display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;
  background:rgba(247,245,240,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(0,0,0,.16);border-radius:999px!important;outline:none;box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  cursor:pointer;transition:background-color 250ms ease,border-color 250ms ease,color 250ms ease,transform 150ms ease;
}
html body .manifesto-sound-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);opacity:1}
html body .manifesto-sound-btn:hover .bar{background-color:var(--bg)}
.manifesto-sound-btn:focus,.manifesto-sound-btn:focus-visible,.manifesto-sound-btn:visited{outline:none;box-shadow:none}
.manifesto-sound-btn:active{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important;transform:scale(.96)}
.manifesto-sound-btn:active .bar{background-color:var(--bg)!important}
/* Minik "equalizer" — 3 çubuk, sabit yükseklikte durur, sadece gerçek bir tık
   sesi çalarken (artefar.js, playKeyClick etrafında) kısa bir nabız atıyor. */
.sound-bars{display:inline-flex;align-items:center;gap:2px;height:10px}
.sound-bars .bar{display:block;width:2px;background-color:var(--ink);border-radius:1px;transition:background-color 250ms ease}
.sound-bars .bar-1{height:4px}
.sound-bars .bar-2{height:10px}
.sound-bars .bar-3{height:6px}
.manifesto-sound-btn.is-playing .bar-1{animation:afSoundBar .4s ease-in-out infinite alternate}
.manifesto-sound-btn.is-playing .bar-2{animation:afSoundBar .6s ease-in-out infinite alternate}
.manifesto-sound-btn.is-playing .bar-3{animation:afSoundBar .5s ease-in-out infinite alternate}
@keyframes afSoundBar{0%{transform:scaleY(.4)}100%{transform:scaleY(1)}}
.manifesto-sound-btn[data-muted="true"] .bar{opacity:.35;height:2px}
.manifesto-sound-btn[data-muted="true"] .sound-label{color:var(--mute)}
@media(prefers-reduced-motion:reduce){.manifesto-sound-btn.is-playing .bar{animation:none}}
@media(max-width:600px){.manifesto-sound-btn{bottom:24px;left:24px;padding:0 12px}}
/* 2026-10-08: mobilde ses kontrolü minimal ikon (yalnız Issue 01 açılışı).
   Durum: data-muted + aria-pressed (JS); erişilebilir ad: aria-label.
   Dokunma alanı 48×48; yuvarlak ikon düğmesi (CLAUDE.md istisnası). */
.manifesto-sound-btn .sound-icon{display:none}
@media(max-width:600px){
  .af10-edition__sound{width:48px!important;height:48px;min-height:48px;padding:0!important;gap:0;justify-content:center}
  .af10-edition__sound .sound-bars,.af10-edition__sound .sound-label{display:none}
  .af10-edition__sound[data-muted="true"] .sound-icon--off,
  .af10-edition__sound[data-muted="false"] .sound-icon--on{display:block}
  .af10-edition__sound[data-muted="true"]{color:var(--mute)}
}

/* ---------- Manifesto scroll ipucu — sayfa açılışında belirip ilk scroll'da sönüyor ---------- */
.manifesto-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;opacity:.75;transition:opacity 400ms ease,transform 400ms ease}
.manifesto-scroll-hint[hidden]{display:none!important}
.manifesto-scroll-hint.is-hidden{opacity:0;transform:translate(-50%,12px)}
.manifesto-scroll-hint .hint-text{font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.manifesto-scroll-hint .hint-line{width:1px;height:24px;background:linear-gradient(to bottom,var(--mute) 0%,rgba(0,0,0,0) 100%)}
@media(prefers-reduced-motion:reduce){.manifesto-scroll-hint{transition:none}}
.manifesto-kicker{font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 24px;line-height:1;display:block}
/* Kök sebep (kopuk caret bug'ı): bu satır önceden display:flex idi — metin span'ı ve
   caret span'ı iki AYRI flex item'a dönüşüyordu, doğal inline akıştan (ve satır
   sarmasından) kopuyordu, caret sağ kenarda asılı kalıyordu. Düz block + text-align
   ile caret artık gerçek bir inline karakter gibi son harfe yapışık kalıyor. */
.manifesto-typewriter{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(26px,3.2vw,40px);line-height:1.35;letter-spacing:-.01em;color:var(--ink);text-align:center;min-height:2.7em;margin:0 auto 36px auto;display:block}
.typewriter-text{display:inline}
.typewriter-caret{display:inline!important;font-weight:300;font-size:.9em;color:var(--mute);margin-left:2px;vertical-align:baseline;animation:afBlinkCaret 1s step-start infinite}
@keyframes afBlinkCaret{0%,100%{opacity:1}50%{opacity:0}}
.manifesto-pillars{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:8px;opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s ease}
.pillar-item{display:inline-flex;align-items:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pillar-bullet{font-size:5px;line-height:1;color:var(--mute)}
.pillar-sep{width:1px;height:12px;background:var(--line)}
@media(max-width:768px){.manifesto-pillars{gap:12px}.pillar-sep{display:none}}
@media(prefers-reduced-motion:reduce){
  #artefar-manifesto-stage{height:auto;margin-top:0}
  #artefar-manifesto-stage + section{margin-top:0!important}
  .manifesto-pin-container{position:static;height:auto;padding-block:96px}
  .manifesto-content-box{transform:none;opacity:1}
  .typewriter-caret{display:none}
}
.af-section__head{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:48px}
.af-section__head .af-meta{display:block}
.af-section__head__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:24px}
.af-section__desc{margin-top:12px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;line-height:1.6;color:var(--mute);max-width:64ch}
.af-section__head h2{font-weight:500;font-size:clamp(28px,3.4vw,46px);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.af-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-bottom:32px;border-bottom:1px solid var(--line-soft);margin-bottom:48px}
.af-filters__pills{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{height:48px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.af-pill{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 20px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.af-pill.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* ---------- İki katmanlı editoryal kategori başlığı (4 ana mağaza
   kategorisi — Artefar Classic/Japan/Canvas/Framed — SADECE burada).
   Renkler görev metninde literal hex (#111111/#8A857C) olarak verilmişti —
   CLAUDE.md "yeni renk üretme" kuralı gereği onaylı token'lara
   (--ink/--mute) eşlendi, yeni hex eklenmedi. ---------- */
.af-shopcat__head{padding-top:48px;display:flex;flex-direction:column;gap:8px}
.af-shopcat__kicker{font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.af-shopcat__title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:var(--af-fs-h2);line-height:1.08;letter-spacing:var(--af-track-display);margin:0}
.af-shopcat__tabs{border-bottom:1px solid var(--line);margin-top:32px}
.af-shopcat__tabs-row{display:flex;gap:28px;overflow-x:auto;padding-bottom:16px;scrollbar-width:none}
.af-shopcat__tabs-row::-webkit-scrollbar{display:none}
.af-shopcat__tab{flex:none;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--mute);padding-bottom:12px;border-bottom:1px solid transparent;min-height:44px;display:flex;align-items:center}
.af-shopcat__tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}
.af-shopcat__tab:hover{color:var(--ink)}
@media(max-width:600px){
  .af-filters{flex-direction:column;align-items:stretch;gap:16px}
  .woocommerce-ordering select{width:100%}
}

ul.products,.af-grid{display:grid!important;margin:0;padding:0;list-style:none}
.af-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}
/* Katalog ızgarası — katı hizalama: sabit sütun/satır boşluğu, taşan/float
   davranış yok. Kart sütunu 320px'e genişletildi (önceden 280px) — daha
   ferah kartlar. 768px altında (istem üzerine) sabit 2 sütun. */
.af-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);margin:0;transition:transform 900ms var(--af-ease)}
.af-grid a:hover img{transform:scale(1.04)}

/* ---------- Katalog kartı — v9.0: müze kataloğu sadeliği. Kutu/arka plan/
   gölge/buton yok — kart = tek link (görsel + bilgi). Shop, kategori ve
   "related products" gridlerinin hepsi ul.products kullanıyor, tek kural
   seti hepsini kapsıyor. */
/* Gerçek kök sebep (bu turda bulundu): salt "1fr" sütunun CSS Grid'deki
   örtük minimum genişliği auto'dur — bir üründe (Skeleton with Burning
   Cigarette) img'in intrinsic boyutu diğerlerinden büyük olduğu için o
   sütun GERÇEKTEN daha geniş render oluyordu (gerçek tarayıcıda ölçülüp
   doğrulandı: 339px vs 368px media genişliği, oran aynı, mutlak boyut
   farklı). minmax(0,1fr) minimum genişliği 0'a kilitleyip tüm sütunları
   içerikten bağımsız eşitliyor. */
ul.products{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:96px 48px!important;padding-inline:20px!important;margin:32px auto 96px!important;max-width:1560px!important;align-items:stretch}
@media(min-width:640px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-inline:64px!important}}
@media(min-width:1100px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:96px 32px!important}}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;height:auto;background:transparent}
/* v9.8: taban hizalama — kart tam yükseklikte (align-items:stretch), bilgi
   bloğu flex:1 ile tabana kilitleniyor, sanatçı satırı olan/olmayan
   kartlarda fiyat/başlık hep aynı Y'de kalıyor. */
.artefar-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
li.product .artefar-card-media{position:relative;display:block;flex:none;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--bg)}
/* 2026-10-04: #F7F5F0 (var(--bg)) kağıt dokusu görevinde transparent
   yapılacak 4 renkten biri — bu SADECE görselin kendi ALTINDAKİ (yükleme
   öncesi/gap) yedek renk, GÖRSELİN KENDİSİ (<img>, object-fit:cover)
   değil, o aynen kalıyor. Gerçek bug: bazı kartlarda bu yedek zemin
   görselin ÜSTÜNDE kalan bir boşlukta görünür oluyordu (kağıt dokusuyla
   sert kontrast yaratan düz beyazımsı blok) — transparent'a çevrildi,
   "ürün görseline doku binmesin" kuralını BOZMUYOR (görsel katmanı ayrı). */
li.product .artefar-card-media{background:transparent}
li.product .artefar-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;margin:0;transition:opacity 300ms ease}
li.product .artefar-card-media img.artefar-card-media__hover{opacity:0;z-index:1}
.artefar-card-link:hover .artefar-card-media img:not(.artefar-card-media__hover){opacity:.92}
.artefar-card-link:hover .artefar-card-media img.artefar-card-media__hover{opacity:1}
/* Kaydetme (bookmark) butonu — görselin sağ-alt köşesi, kartın kendi linkine
   tıklanmasını engellemek için JS'te stopPropagation var. */
/* Hover ayrıca tanımlanmadı — html body button:hover{opacity:.68} zaten
   her <button>'ı (bu dahil) kapsıyor, sitenin tek hover dili bu. */
/* Kullanıcı geri bildirimi: görsel üzerinde (position:absolute, ince ikon)
   neredeyse görünmüyordu — fiyatın altına, metin+ikon kombinasyonuyla
   net/okunur bir aksiyona çevrildi. Hover ayrıca tanımlanmadı, genel
   button:hover{opacity:.68} zaten kapsıyor. */
.artefar-card-save{position:static;width:auto;height:auto;margin:10px 0 0;display:inline-flex;align-items:center;gap:6px;padding:0;appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;color:var(--mute);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.artefar-card-save svg{display:block;flex-shrink:0}
/* Gerçek bug: tarayıcının kendi mavi tap-highlight/focus rengi tıklamada
   görünüyordu — :hover/:focus/:active hiçbiri mavi background ALMAMALI. */
.artefar-card-save:hover,.artefar-card-save:focus,.artefar-card-save:focus-visible,.artefar-card-save:active{background:transparent!important;outline:none!important;box-shadow:none!important}
.artefar-card-save::selection,.artefar-card-save *::selection{background:transparent}
.artefar-card-save.is-saved{color:var(--ink)}
.artefar-card-save.is-saved svg path{fill:currentColor;stroke:var(--ink)}
/* 2026-10-08: kart bilgi alanında ve ürün sayfasında başlık satırında.
   Görünüm aynı (ikon + kısa etiket); 48 px dokunma alanı görünmez ::before
   ile, klavye odağı etiketin altı çizilerek görünür. */
.artefar-card-save{position:relative;align-self:flex-start}
.artefar-card-save::before{content:'';position:absolute;left:-8px;right:-8px;top:50%;height:48px;transform:translateY(-50%)}
.artefar-card-save:focus-visible .artefar-card-save__label{text-decoration:underline;text-underline-offset:3px}
/* Ana sayfa kart rayı yatay kaydırmalı (overflow:auto) — Save kartın en altında
   olduğu için 48 px alanın alt yarısı kırpılıyordu; alanı içeride tutacak boşluk. */
.artefar-card-save--rail{margin-bottom:18px}
/* Görsel yoksa gri kutu değil, çapraz çizgi deseni (VISUAL-SPEC #8) */
img.woocommerce-placeholder,.af-placeholder{
  background-color:transparent;
  background-image:repeating-linear-gradient(115deg,var(--line-soft) 0 1px,transparent 1px 12px);
}
.artefar-card-info{display:flex;flex-direction:column;flex:1;padding-top:12px;border-top:1px solid var(--line)}
li.product .artefar-card-kicker{display:block;margin:0 0 8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.artefar-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px}
li.product .artefar-card-title{
  font-family:var(--af-font-text)!important;font-size:var(--af-fs-body)!important;line-height:1.3;margin:0!important;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500}
.artefar-card-link:hover .artefar-card-title{text-decoration:underline;text-underline-offset:4px}
.artefar-card-price{flex:none;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
li.product .artefar-card-price .price{margin:0;font-family:'Plus Jakarta Sans',sans-serif!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important;color:var(--ink)!important;font-variant-numeric:tabular-nums}
/* Sanatçı yoksa şablon bu span'ı hiç basmıyor (content-product.php). */
.artefar-card-artist{display:block;margin-top:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}

/* ---------- Single product / konfigüratör ---------- */
.af-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:24px}
.af-breadcrumb a{color:var(--mute)}
.af-breadcrumb [aria-current]{color:var(--mute)}
body.single-product,
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image{background-color:var(--bg)}
/* 2026-10-09 (2): sütunlar 55% + 45% + 48 px boşluk kabın %100'ünü aşıyordu; görsel sütunu ayrıca 40 px
   yan dolguyla daralıyordu. Kesirli sütunlar + boşluk, görsel sütunu dolgusuz; breadcrumb ile ürün
   arasındaki 64 px üst boşluk 24 px. */
.af-product{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);max-width:1280px;margin-inline:auto;gap:clamp(32px,4vw,64px);padding-block:24px 64px}
/* Kök sebep (sol/sağ sütun dikey hizasızlığı): 60px üst dolgu, görsel kutusunu
   sağ sütundaki kicker/başlıkla aynı hizada başlamaktan alıkoyuyordu — ikisi
   grid'de aynı satırda başlasa da, içerideki dolgu görseli aşağı itiyordu.
   Üst dolgu kaldırıldı, ikisi artık tam aynı çizgide başlıyor. */
/* Sticky: galeri pencereden uzunsa üst değeri af-viewer.js negatife çeker (alt kontroller erişilebilir kalır). */
.af-product__media{position:sticky;top:var(--af-media-top,88px);align-self:start;padding:0;min-width:0}

/* ---------- Ürün sayfası görsel sahnesi — sahte çerçeve/tab denemesi kaldırıldı,
   gerçek mockup'lar zaten kendi içinde çerçeveli; burada sadece temiz bir görsel
   kutusu var. ---------- */
/* 2026-10-09: eski küçük resim şeridi, ana görsel kutusu ve galeri okları kaldırıldı — yeni galeri
   assets/css/af-viewer.css (yalnız ürün sayfası). */
.stage-footer-meta{display:flex;justify-content:space-between;gap:16px;margin-top:16px}
.stage-footer-meta span{font-size:10.5px;font-weight:400;letter-spacing:.3em;line-height:1.4;text-transform:uppercase;color:var(--mute)}
.af-product__kicker{font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:8px}
.af-product__summary h1{
  font-weight:400;font-size:clamp(24px,2.5vw,32px);line-height:1.25;margin:0 0 8px;max-width:480px;color:var(--ink);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.artefar-active-spec-line{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.04em;color:var(--mute);margin-bottom:16px}
.artefar-active-spec-line:empty{display:none}
/* 2026-10-08 (mobil madde 5, düzeltilmiş yorum): eserin adı (ör. "Bauhaus 1919
   Exhibition") mobilde 24 → 28 px; aynı serif ve ağırlık, hiyerarşi aynı.
   Uzun adlar taşmaz: dengeli kırılır, en çok 3 satır (masaüstü 2 satır, değişmedi). */
@media(max-width:768px){
  .af-product__summary h1{font-size:28px;line-height:1.2;-webkit-line-clamp:3;text-wrap:balance;overflow-wrap:anywhere}
}
.af-product__titlemeta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:24px}
.af-product__titlemeta .artefar-active-spec-line{margin-bottom:0;min-width:0}
.af-product__titlemeta .artefar-card-save{margin:0;flex:none;align-self:center}
@media(max-width:900px){
  .af-product{grid-template-columns:1fr;gap:0;padding-block:32px}
  /* Kök sebep: sticky medya, tek sütuna düşünce de sticky kalmaya devam ediyordu —
     özet metni kaydırınca görselin üstüne biniyordu (mobilde bildirilen "overlap" bug'ı). */
  .af-product__media{position:static;top:auto;padding:0 0 24px}
  .af-product__summary{padding:24px 0 48px}
}
.af-stock{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.af-stock::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.af-selector{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding:24px 0;margin:0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink);cursor:pointer;text-align:left;appearance:none;-webkit-appearance:none;font:inherit}
.af-selector:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.af-selector__label{font-size:10.5px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:8px}
.af-selector__value{display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:500}
/* 2026-10-24 (site sahibi): Style / Size satırları buton hissi vermiyordu. Sakin kalıp düğme olduğu anlaşılsın diye:
   sağda hairline çerçeveli, köşesiz "Change ›" düğmesi; satırın herhangi bir yerine gelince/odaklanınca düğme dolu
   (mürekkep zemin, kağıt metin) olur. Satır soluklaşmaz (genel opacity .68 kuralı burada kapalı). */
.af-selector__action{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:40px;padding:0 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:background-color 220ms var(--af-ease),color 220ms var(--af-ease)}
html body .af-selector:hover{opacity:1;border-color:var(--line-soft)}
html body .af-selector:hover .af-selector__action,.af-selector:focus-visible .af-selector__action{background:var(--ink);color:var(--bg)}
.af-swatches{display:flex;flex-wrap:wrap;gap:16px;padding-block:24px;border-bottom:1px solid var(--line-soft)}
.af-swatches[hidden]{display:none!important}
/* outline:none — tıklamada tarayıcı varsayılan mavi halkası çıkmasın; gerçek
   klavye odağı zaten sitenin genel button:focus-visible kuralıyla geri geliyor
   (bkz. dosya başı), burada elenen sadece fare tıklamasındaki istenmeyen görünüm. */
.af-swatch{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:48px;min-height:48px;padding:4px;border:0;outline:none;background:transparent;box-shadow:none;color:var(--ink);cursor:pointer}
.af-swatch i{display:block;width:32px;height:32px;border-radius:50%;border:1px solid var(--line)}
.af-swatch[aria-pressed="true"] i{border:2px solid var(--ink)}
.af-swatch:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.af-swatch span{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* Kağıt türü sekmeleri — Matte/Semi Glossy/Fine Art (madde 1, 2026-10-04). */
.af-paper-tabs{display:flex;gap:24px;padding-block:20px;border-bottom:1px solid var(--line-soft)}
.af-paper-tabs[hidden]{display:none!important}
.af-paper-tab{background:none;border:none;border-bottom:1.5px solid transparent;cursor:pointer;padding:0 0 8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);min-height:44px}
.af-paper-tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}
.af-paper-tab:hover{color:var(--ink)}

/* Boyut popup'ı — 11 standart poster ölçüsü + "view all other sizes" ile
   açılan kalan ölçüler, İKİSİ DE 2 sütunlu (madde 2/4, 2026-10-04). */
.af-picker__grid--std2col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:16px}
.af-picker__grid--std2col[hidden]{display:none!important}
.af-picker__more{
  display:block;width:100%;margin-top:14px;padding:12px 0;border:none;border-top:1px solid var(--line);
  background:none;cursor:pointer;text-align:left;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;
  font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
}
.af-picker__more:hover{color:var(--mute)}
/* outline:none — Firefox/Safari'nin native dashed odak halkası "Proceed to
   Checkout" gibi butonlarda tıklama/hover sırasında çakışan bir çerçeve
   gibi görünüyordu; gerçek klavye erişilebilirliği zaten ayrı, genel
   button:focus-visible kuralıyla (dosya başı) korunuyor. */
.af-btn{outline:none;display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer}
/* Kök sebep (hap butonlarda kesik/yamuk outline): dosya başındaki genel
   button:focus-visible{outline:1px solid var(--ink)} kuralı, .af-btn'den daha
   spesifik (tag+pseudo > tek class) — bu yüzden az önceki .af-btn{outline:none}
   klavye odağında hâlâ EZİLİYORDU. Köşeleri 999px yuvarlak bir hapta dikdörtgen
   outline'ın köşeleri kesik/uyumsuz duruyordu. Burada açıkça ezip kapatıyoruz. */
.af-btn:focus,.af-btn:focus-visible{outline:none!important}
.af-btn:disabled{opacity:.4;cursor:not-allowed}
.af-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
/* Fiyat + Add to Cart satırı — variable.php'de .af-buybar class'ı taşıyor */
@media(max-width:600px){
  .af-buybar{flex-direction:column;align-items:stretch!important;gap:16px!important}
  .af-buybar .single_add_to_cart_button{width:100%}
}

/* WooCommerce'in kendi enjekte ettiği "View cart" linki (bkz. artefar.js —
   artık drawer'ı açıyor, /cart/'a göndermiyor) — editoryal küçük başlık
   stiline getirildi. */
a.added_to_cart.wc-forward{display:inline-block;margin-left:16px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;color:var(--ink);vertical-align:middle}
a.added_to_cart.wc-forward:hover{color:var(--mute)}

/* ---------- Doğrudan /cart/'a gelinirse (paylaşılan link, yer imi, geri
   tuşu) — editoryal normalize. Drawer'daki cart görünümüyle aynı fikir,
   ayrı bir sistem kurmadan gerçek WooCommerce sınıflarını temaya bağlıyor. */
.woocommerce-cart table.shop_table{border:1px solid var(--line);border-collapse:collapse;width:100%}
.woocommerce-cart table.shop_table th{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line);padding:16px;text-align:left}
.woocommerce-cart table.shop_table td{padding:20px 16px;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--body)}
.woocommerce-cart table.shop_table td.product-name a{font-family:var(--af-font-text);font-size:var(--af-fs-body);color:var(--ink);text-decoration:none;font-weight:500}
.woocommerce-cart table.shop_table td.product-remove a{color:var(--mute)}
.woocommerce-cart .coupon .input-text{width:auto;min-width:200px;height:48px;border:1px solid var(--line);background:transparent;padding:0 14px;font-size:12px;box-sizing:border-box}
.woocommerce-cart .cart_totals{border:1px solid var(--line);padding:24px;background:var(--bg)}
.woocommerce-cart .cart_totals table{width:100%}
.woocommerce-cart .cart_totals td,.woocommerce-cart .cart_totals th{border-bottom:1px solid var(--line-soft);padding:12px 0}
/* Buton normalizasyonu: sıfırdan yeni bir sınıf kurmak yerine mevcut .af-btn
   pill sistemine bağlanıyor — sitedeki her CTA'yla aynı görünüm. */
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:inline-flex!important;align-items:center;justify-content:center;height:48px;padding:0 28px;
  border:1px solid var(--ink)!important;border-radius:999px!important;background:var(--ink)!important;color:var(--bg)!important;
  font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:opacity 200ms ease
}
.woocommerce-cart button[name="apply_coupon"]:hover,
.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{opacity:.85}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;margin-top:16px}

/* ---------- Mobil sabit alt bar: gerçek CTA'yı klonlamıyor, aynı formu tetikliyor
   (bkz. artefar.js) — Instagram/Facebook reklam trafiğinde "Sepete Ekle" her
   zaman tek dokunuşla ulaşılabilir olsun diye. Editoryal 64px seçim satırları
   / 48px dokunmatik hedef kuralları KISALTILMADI (reklam trafiği gerekçesiyle
   sıkıştırma yerine bu kalıcı alt bar tercih edildi). ---------- */
.af-mobile-buybar{display:none}
@media(max-width:768px){
  body.single-product .af-mobile-buybar{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    position:fixed;left:0;right:0;bottom:0;z-index:45;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
    background:var(--veil);backdrop-filter:blur(14px);border-top:1px solid var(--line);
  }
  body.single-product .af-product{padding-bottom:80px}
}
.af-mobile-buybar__price{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:500;color:var(--ink);flex:1;min-width:0}
.af-mobile-buybar__price .price{font-size:inherit}
.af-mobile-buybar button{flex-shrink:0;min-width:168px;height:48px}
/* ---------- PDP kargo/teslimat tahmin aracı ---------- */
.artefar-pdp-shipping-estimator{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.artefar-estimator-toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;background:transparent;border:0;padding:0;cursor:pointer;color:var(--ink);outline:none}
.estimator-lead{display:inline-flex;align-items:center;gap:8px}
.estimator-truck-icon{color:var(--mute);flex:none}
.estimator-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.estimator-toggle-sign{font-size:16px;font-weight:300;color:var(--mute);line-height:1}
.artefar-estimator-drawer{padding-top:16px}
.artefar-estimator-drawer[hidden]{display:none!important}
.estimator-field label{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.artefar-select-minimal{width:100%;min-height:48px;background:var(--bg);border:1px solid var(--line);border-radius:0;padding:0 16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;color:var(--ink);outline:none;cursor:pointer}
.artefar-select-minimal:focus{border-color:var(--ink)}
/* 2026-10-08: tahmin aracının ülke seçicisi — beyaz (--bg) zemin yerine
   sayfanın kâğıt zemini görünür; ok tema mürekkep renginde, odak görünür.
   Açılan seçenek listesi masaüstünde aynı zemin/metin; mobilde liste
   işletim sisteminin kendi seçim ekranıdır (stillenemez, okunaklıdır).
   Mobilde 16 px: iOS odaklanınca sayfayı yakınlaştırmasın. */
.artefar-pdp-shipping-estimator .artefar-select-minimal{
  -webkit-appearance:none;appearance:none;background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23111111' stroke-width='1.2'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:12px 12px;padding-right:44px;
  font-size:13px;color:var(--ink);text-overflow:ellipsis
}
.artefar-pdp-shipping-estimator .artefar-select-minimal:focus-visible{outline:1px solid var(--ink);outline-offset:2px;border-color:var(--ink)}
.artefar-pdp-shipping-estimator .artefar-select-minimal option{background-color:#D9D4C6;color:#111111}
@media(max-width:768px){.artefar-pdp-shipping-estimator .artefar-select-minimal{font-size:16px}}
.artefar-estimator-result{background:var(--line-soft);border-left:2px solid var(--ink);padding:16px;margin-top:16px}
.artefar-estimator-result:empty,.artefar-estimator-result[hidden]{display:none}
.result-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}
.result-service-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:500;color:var(--ink)}
.result-price-badge{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ink);white-space:nowrap}
.result-timeline{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;color:var(--mute)}

/* 2x2 güven matrisi — mobilde de HER ZAMAN 2 sütun (dağınık dikey listeye düşürülmez) */
.af-badges{display:grid;grid-template-columns:repeat(2,1fr);margin-top:24px;border:1px solid var(--line)}
.af-badges div{display:flex;gap:6px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:500;line-height:1.4;color:var(--body)}
@media(max-width:480px){.af-badges div{padding:10px 8px;font-size:10px}}
.af-badges div::before{content:"";flex:none;width:5px;height:5px;margin-top:6px;border-radius:50%;background:var(--ink)}
/* 2026-10-08: rozet sayısı tek kalırsa (ödeme kapalıyken 3) son rozet iki sütuna yayılır — ızgarada boş hücre kalmaz. */
.af-badges div:last-child:nth-child(odd){grid-column:1/-1}
.af-acc{border-top:1px solid var(--line);margin-top:32px}
.af-acc details{border-bottom:1px solid var(--line-soft)}
.af-acc summary{display:flex;align-items:center;justify-content:space-between;padding-block:24px;cursor:pointer;list-style:none;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.af-acc summary::-webkit-details-marker{display:none}
.af-acc summary::after{content:"+";font-size:16px;color:var(--mute)}
.af-acc details[open] summary::after{content:"\2212"}
.af-acc p{margin:0 0 16px;color:var(--body);font-size:15px;line-height:1.65;max-width:46ch}
.af-pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.af-pair{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);animation:afReveal 1s var(--af-ease) both}
.af-pair img{aspect-ratio:4/5;object-fit:cover;width:100%}
/* 2026-10-24 (site sahibi): "Pair With This Artwork" dar kartta iki satıra kırılıp sola yaslı ve sıkışık duruyordu.
   Buton kart genişliğinde, yazı ortalı; sığarsa tek satır, sığmazsa iki dengeli satır (text-wrap:balance). */
.af-pair .af-btn{width:100%;height:auto;min-height:48px;margin-top:auto;padding:12px 20px;text-align:center;line-height:1.5;font-size:11px;letter-spacing:.14em;text-wrap:balance;white-space:normal}
@keyframes afReveal{from{opacity:0;filter:blur(14px);transform:scale(.92)}to{opacity:1;filter:blur(0);transform:none}}

/* ---------- Picker modal / sepet çekmecesi ---------- */
/* z-index:70 idi — çocuğun (drawer) 999999'u sadece BU katman içinde geçerliydi, dışarıdaki
   yüksek z-index'li elemanlar (Astra scroll-to-top vb.) overlay'in ÜSTÜNE binebiliyordu.
   Overlay'in kendisi artık en üstte. */
.af-overlay{position:fixed;inset:0;z-index:999998;display:none;background:rgba(17,17,17,.55);backdrop-filter:blur(8px)}
.af-overlay[data-open="1"]{display:flex}
.af-picker{margin:auto;width:min(720px,100%);max-height:100%;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:clamp(24px,2.6vw,32px)}
.af-picker__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px}
.af-picker__kicker{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.af-picker__title{display:block;font-size:clamp(22px,2.4vw,30px)}
.af-picker__subline{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--mute);max-width:52ch}
.af-picker__subline[hidden]{display:none}
[data-af-picker-note]{display:block;margin-top:8px}
.af-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding-top:16px}
.af-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:14px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:center;transition:border-color 220ms var(--af-ease),background-color 220ms var(--af-ease)}
.af-option:hover{border-color:var(--ink);background:var(--line-soft)}
.af-option small{font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums}
.af-option.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.af-option.is-active small{color:var(--bg)}

/* Boyut listesi — "Excel tablosu" hissi veren kare ızgara yerine dikey,
   ince 1px alt çizgili küratör fihristi (site sahibi geri bildirimi,
   2026-10-04). Format/Stil ızgarası DEĞİŞMEDİ (az seçenek, kare uygun). */
.af-picker__grid--list{display:flex;flex-direction:column;gap:0;padding-top:8px}
.af-picker__grid--list .af-option{
  flex-direction:row;align-items:center;justify-content:space-between;text-align:left;
  min-height:44px;padding:11px 4px;border:none;border-bottom:1px solid var(--line);border-radius:0;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;letter-spacing:.02em;
}
.af-picker__grid--list .af-option:last-child{border-bottom:none}
.af-picker__grid--list .af-option:hover{background:var(--line-soft);border-color:var(--line)}
.af-picker__grid--list .af-option span{font-family:var(--af-font-text);font-size:var(--af-fs-body)}
.af-picker__grid--list .af-option small{font-size:11px;font-weight:500}
.af-picker__grid--list .af-option.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* 2026-10-18 (site sahibi): Dimensions — inç ve cm tek satırda ("16×12″ / 41×30 cm"), cm asla alt satıra
   inmez. Masaüstünde 3 sütun (4 sütunda kutu 158 px'e düşüp kırılıyordu), mobilde 2 sütun; yazı boyutu ve
   yatay iç boşluk en uzun ölçüye ("33.1×46.8″ / 84×119 cm") sığacak şekilde. */
.af-picker__grid--std2col{grid-template-columns:repeat(3,minmax(0,1fr))}
.af-picker__grid--std2col .af-option{padding-inline:8px}
.af-picker__grid--std2col .af-option span{white-space:nowrap;font-size:15px;letter-spacing:-.01em;line-height:1.3}
@media (max-width:640px){
  .af-picker__grid--std2col{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .af-picker__grid--std2col .af-option{padding-inline:4px}
  .af-picker__grid--std2col .af-option span{font-size:clamp(11px,3.3vw,14px)}
}
/* Style & Medium — Poster ve Canvas üst satırda yan yana, çerçeveler "Float Framed Canvas" başlığı altında
   kendi bloğunda (White, Black, Natural Wood, Espresso). Masaüstü 4 sütun, mobil 2. */
.af-picker__grid--styles{grid-template-columns:repeat(4,minmax(0,1fr))}
.af-picker__grid--styles .af-option--base{grid-column:span 2}
.af-picker__group{grid-column:1/-1;display:block;padding-top:16px;margin-top:8px;border-top:1px solid var(--line);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media (max-width:640px){
  .af-picker__grid--styles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .af-picker__grid--styles .af-option--base{grid-column:span 1}
}

/* overflow-y burada YOK — her view kendi içinde scroll olur (aşağıda), dış katmanda
   ikinci bir scroll bölgesi olursa tutarsız "fazladan boşluk" hissi verir. */
.af-drawer{margin-left:auto;display:flex;flex-direction:column;width:460px;max-width:100vw;height:100%;background-color:var(--bg)!important;opacity:1!important;color:var(--ink);border-left:1px solid var(--line);box-shadow:-8px 0 32px rgba(0,0,0,.08);z-index:999999;overflow:hidden}
.af-drawer__back[data-af-back-persistent]{flex:none;border-top:1px solid var(--line);margin:0;padding:16px 36px}
.af-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:32px 36px 20px;border-bottom:1px solid var(--line)}
/* Kök sebep ("YOUR SELECTION" iki satıra bölünüp adımların üstüne taşması):
   .af-drawer__steps{display:flex} bir AUTHOR kuralı — tarayıcının [hidden]
   {display:none} UA kuralını HER ZAMAN ezer (origin önceliği: author her
   zaman UA'dan üstün, specificity/sıra fark etmez). JS `steps.hidden=true`
   yazdığında görsel olarak hiçbir şey değişmiyordu — adımlar HER ZAMAN
   görünür kalıyor, "YOUR SELECTION" ile AYNI satıra sıkışıp taşıyordu.
   [hidden] seçicisine author-seviyesinde açık bir display:none vererek
   attribute'u gerçekten çalışır hale getiriyoruz. */
.af-drawer__title{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);white-space:nowrap;display:inline-flex;align-items:center;height:14px;line-height:14px}
.af-drawer__title[hidden],.af-drawer__steps[hidden]{display:none!important}
/* Aynı sınıf bug: .af-drawer__back{display:block!important} [hidden]'ı
   eziyordu — "Back to Cart" sepet ekranında da görünüyordu (yalnız
   01/02/03 adımlarında görünmeli). */
.af-drawer__back[hidden]{display:none!important}
/* Solid, tek parça geçiş: overflow-x YOK — 3 madde 460px'e rahat sığar, kayma/kırpma olmaz */
/* Tek satırlık, tutarlı temel hizası olan adım göstergesi — üç madde artık
   nokta ayırıcıyla ("·") tek bir editoryal ifade gibi okunuyor. */
.af-drawer__steps{display:flex;align-items:baseline;justify-content:flex-start;gap:16px;flex:1}
/* Kök sebep ("eğri/taşan kapsül" görünümü): bu düğmeler <button> elemanı —
   appearance/border-radius/outline hiç sıfırlanmamıştı, bazı tarayıcılar
   (özellikle macOS Safari/Chrome) native buton çerçevesini (hafif yuvarlak,
   gölgeli) author stilinin üstüne basıyordu. Hepsi burada açıkça eziliyor;
   alt çizgi artık border-bottom değil, metin genişliğine sıkı sıkıya bağlı
   ayrı bir ::after katmanı — kesin düz, taşma/eğrilik riski yok. */
.af-drawer__steps button{
  position:relative;flex:none;display:inline-flex;align-items:baseline;appearance:none;-webkit-appearance:none;
  background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;margin:0;padding:0 0 4px;font:inherit;
  font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  white-space:nowrap;line-height:1.2;cursor:pointer;
}
.af-drawer__steps button::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:transparent;transition:background-color 220ms var(--af-ease)}
.af-drawer__steps button.is-active,.af-drawer__steps button:hover{color:var(--ink)}
.af-drawer__steps button.is-active::after,.af-drawer__steps button:hover::after{background-color:var(--ink)}
.af-drawer__views{flex:1;display:flex;flex-direction:column;min-height:0}
/* Görünürlük artık JS'te inline style.display ile yönetiliyor (anlık, animasyonsuz geçiş) */
.af-drawer__views>[data-af-drawer-view]{display:none;flex-direction:column;justify-content:space-between;min-height:100%;overflow-x:hidden;overflow-y:auto}
.af-drawer__views>[data-af-drawer-view="details"],.af-drawer__views>[data-af-drawer-view="shipping"]{padding:32px 36px 36px}

.af-details-form{display:flex;flex-direction:column;gap:20px}
.af-form-row label{display:block;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.af-form-row input,.af-form-row select{
  width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 0;font-size:15px;color:var(--ink);
}
.af-form-row input:focus,.af-form-row select:focus{outline:0;border-bottom-color:var(--ink)}
.af-form-row--split{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.af-shipping-rates{display:flex;flex-direction:column;gap:12px}
.af-ship-rate{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:16px;cursor:pointer;font-size:13px}
.af-ship-rate input{width:16px;height:16px;accent-color:var(--ink)}
.af-ship-rate__label{flex:1}
.af-ship-rate__cost{font-variant-numeric:tabular-nums;color:var(--mute)}
/* 2026-10-05 gerçek bug: burada display:flex!important vardı — JS'in
   (gotoDrawerView) adımı gizlemek için yazdığı inline display:none'ı
   eziyordu; ödeme iframe'i (#f7f5f0 zemin) SEPET ekranında da çekmecenin
   altında açık renkli bir şerit olarak görünüyordu. Görünürlüğü artık
   yalnız JS'in inline display'i yönetiyor (aktifken 'flex'). */
.af-payment-view{padding:0!important;flex:1;flex-direction:column;min-height:0}
.af-payment-iframe{flex:1;width:100%;height:100%;min-height:420px;border:0;background:var(--bg);display:block}

.af-drawer__back{
  display:block!important;width:100%;margin:14px auto 0!important;padding:6px 12px!important;background:transparent!important;border:none!important;
  font-size:10px!important;font-weight:500;letter-spacing:.14em!important;text-transform:uppercase!important;color:#76746e!important;
  text-align:center;cursor:pointer!important;
}

.af-confirmation{padding:36px;display:flex;flex-direction:column;justify-content:space-between;min-height:100%}
.af-confirmation h2{font-weight:400;font-size:26px;line-height:1.3;margin-top:12px;max-width:20ch}
.af-confirmation__recap{margin-top:20px}

/* Ödeme iframe'i checkout sayfasını af_embed=1 ile açar — site header/footer/drawer
   kendi kendini tekrar basmasın diye burada tamamen susturulur (bkz. header.php/footer.php). */
body.af-embed{margin:0}
body.af-embed .af-checkout{padding-block:24px;max-width:none}
body.af-embed .af-checkout>h1,body.af-embed .af-checkout__stepper{display:none}
body.af-embed .af-wrap{padding-inline:20px}
.af-drawer-body{display:flex;flex-direction:column;flex:1;min-height:0}
.af-empty{display:flex;flex-direction:column;gap:8px;padding:48px 28px;text-align:center}
/* v10.3: Saved Works listesi (data-af-saved-list) bu class'ı taşımıyordu —
   kenar boşluğu hiç uygulanmıyordu, görseller sol duvara yapışıyordu
   (gerçek bug, header.php'de class eklendi). Kullanıcı isteğiyle 24→28px. */
.af-lines{display:flex;flex-direction:column;padding:0 28px}
.af-line{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line-soft);animation:afReveal 1s var(--af-ease) both}
.af-line__thumb{aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden}
.af-line__thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border:0}
.af-line__body{display:flex;flex-direction:column;gap:8px;min-width:0}
.af-line__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.af-line__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.af-qty{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid rgba(0,0,0,.12)!important;border-radius:2px!important;height:30px!important;width:80px!important;padding:0 4px!important;box-sizing:border-box!important;background:transparent}
.af-qty button{background:transparent!important;border:none!important;width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;line-height:1!important;padding:0!important;margin:0!important;cursor:pointer!important;color:#111!important}
.af-qty span{font-size:12px!important;line-height:1!important;text-align:center!important;flex:1!important;color:#111!important}
.af-remove{background:none;border:0;color:var(--mute);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:0}
/* ---------- Saved Works çekirmecesi — cart drawer ile aynı .af-line
   bileşenini paylaşıyor, sadece bundle teşvik şeridi kendine özel. ---------- */
.af-saved-empty{color:var(--mute);margin-top:24px;padding-inline:28px}
.af-saved-bundle{margin-top:24px;padding:20px 28px 0;border-top:1px solid var(--line)}
.af-saved-bundle__note{font-size:12px;line-height:1.5;color:var(--mute);margin:0 0 16px}
.af-remove:hover{color:var(--ink)}
.af-recommend{display:flex;flex-direction:column;gap:12px;padding:24px;border-top:1px solid var(--line-soft)}
.af-recommend__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-soft);animation:afReveal 1s var(--af-ease) both}
.af-pair-add{flex:none;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.af-pair-add:hover{background:var(--ink);color:var(--bg)}
.af-promo{display:flex;flex-direction:column;gap:8px}
.af-coupon-toggle summary{display:flex;align-items:center;justify-content:space-between;min-height:32px;cursor:pointer;list-style:none;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.af-coupon-toggle summary::-webkit-details-marker{display:none}
.af-coupon-toggle summary::after{content:"+";font-size:14px;color:var(--mute)}
.af-coupon-toggle[open] summary::after{content:"\2212"}
.af-coupon-toggle .af-coupon{margin-top:12px}
.af-promo__applied{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--ink);font-size:11px;letter-spacing:.1em}
.af-promo__applied button{border:0;background:transparent;color:var(--mute);cursor:pointer;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.af-promo__applied button:hover{color:var(--ink)}
.af-promo__error{font-size:11px;line-height:1.5;color:var(--mute)}
.af-coupon{display:flex;gap:8px}
.af-coupon input{flex:1;min-width:0;height:48px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.af-totals-row{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--mute)}
/* 2026-10-24: kargo ülkesi — "Shipping  $4.90" satırının altında künye satırı: "TO TÜRKIYE ············ CHANGE ⌄".
   Yerel <select> görünmez, satırın tamamını kaplar (tıklama alanı ≥48 px yerine 40 px + satır aralığı). Astra/Woo select
   kuralları daha özgül olduğu için html body ile. */
.af-shipto{display:flex;flex-direction:column;gap:4px}
.af-shipto__pick{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin:0;cursor:pointer;font-size:10.5px;font-weight:400;letter-spacing:.2em;line-height:1.4;text-transform:uppercase;color:var(--mute)}
.af-shipto__country{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.af-shipto__change{display:inline-flex;align-items:center;gap:6px;flex:none;color:var(--ink);font-weight:500}
html body .af-shipto__select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;appearance:none;-webkit-appearance:none;background:none}
.af-shipto__pick:hover .af-shipto__change{opacity:.68}
.af-shipto__pick:focus-within{outline:1px solid var(--ink);outline-offset:2px}
.af-bundle-applied-note{display:block;margin:4px 0 8px;font-size:11px;line-height:1.5}
.af-totals-row span:last-child{color:var(--ink);font-variant-numeric:tabular-nums}
.af-totals-row--total{padding-top:8px;border-top:1px solid var(--line-soft)}
.af-totals-row--total span:last-child{font-family:var(--af-font-text);font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.af-foot{margin-top:auto;display:flex;flex-direction:column;gap:16px;padding:24px;border-top:1px solid var(--line)}

/* ---------- Mobil sepet çekmecesi — tam genişlik, opak, alt güvenli alan ---------- */
@media(max-width:600px){
  .af-drawer{width:100%}
  .af-drawer__head{padding:24px 20px 16px}
  .af-drawer__back[data-af-back-persistent]{padding:16px 20px}
  .af-drawer__views>[data-af-drawer-view="details"],.af-drawer__views>[data-af-drawer-view="shipping"]{padding:24px 20px}
  .af-lines{padding:0 20px}
  .af-recommend{padding:20px}
  /* PROCEED TO CHECKOUT / toplam çubuğu mobil tarayıcı alt bar'ının arkasında kalmasın */
  .af-foot{padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px))}
  .af-confirmation{padding:24px}
}

/* ---------- Woo bildirimleri — sakin, tek satır, marka tonunda (kırmızı kutu değil) ---------- */
.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-NoticeGroup{
  list-style:none;margin:0 0 24px;padding:16px 24px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;
}
.woocommerce-error::before,.woocommerce-message::before,.woocommerce-info::before{
  content:"—";margin-right:8px;color:var(--mute);
}
.woocommerce-error{
  border-color:rgba(116,57,31,.35);color:var(--af10-clay,#74391F);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-family:'Plus Jakarta Sans',sans-serif;
}
.woocommerce-error li{color:var(--af10-clay,#74391F)}

/* ---------- Ödeme — 3 adım ---------- */
.af-checkout{padding-block:64px;max-width:1200px;margin-inline:auto}
.af-checkout>h1{font-weight:500;font-size:clamp(28px,3.4vw,40px)}
.af-checkout__stepper{display:flex;align-items:center;gap:0;margin-bottom:48px;list-style:none;padding:0}
.af-checkout__stepper li{display:flex;align-items:center;gap:12px;flex:1;color:var(--mute)}
.af-checkout__stepper li::after{content:"";flex:1;height:1px;background:var(--line);margin-inline:12px}
.af-checkout__stepper li:last-child::after{display:none}
.af-checkout__num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:12px;flex:none}
.af-checkout__label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.af-checkout__stepper li.is-active{color:var(--ink)}
.af-checkout__stepper li.is-active .af-checkout__num{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.af-checkout__stepper li.is-done .af-checkout__num{border-color:var(--ink)}
.af-checkout__stepper li.is-done .af-checkout__num::after{content:"\2713"}
.af-checkout__stepper li.is-done .af-checkout__num{font-size:0}
.af-checkout__stepper li.is-done .af-checkout__num::after{font-size:13px}

.af-step{display:none}
.af-step.is-active{display:block}
.af-step h2{font-weight:500;font-size:clamp(24px,2.6vw,32px);margin-bottom:24px}
.af-checkout .form-row{margin:0 0 16px}
.af-checkout label{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.af-checkout input.input-text,.af-checkout select,.af-checkout textarea{
  width:100%;min-height:48px;padding:14px 16px;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--ink);font-size:15px;
}
.af-checkout textarea{min-height:96px}
.af-checkout .validation-error input,.af-checkout .woocommerce-invalid input{border-color:var(--ink)}
.af-checkout span.woocommerce-error, .af-checkout .woocommerce-error{color:var(--mute);font-size:11px;text-transform:none;letter-spacing:0}
/* Ödeme adım 3 — kupon: Woo'nun kendi çalışan AJAX form'u (checkout/form-coupon.php)
   korunuyor, sadece editoryal giydiriliyor. Üstteki ikinci/stilsiz kopya
   functions.php'de kaldırıldı (remove_action), bu artık sayfadaki TEK kupon formu. */
.woocommerce-form-coupon-toggle{border-bottom:1px solid var(--line-soft);margin:0 0 24px;padding-bottom:16px;list-style:none}
.woocommerce-form-coupon-toggle .woocommerce-info{margin:0;padding:0;border:0;background:transparent;list-style:none}
.woocommerce-form-coupon-toggle .showcoupon{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-decoration:underline;text-underline-offset:3px}
.woocommerce-form-coupon-toggle .showcoupon:hover{color:var(--ink)}
.checkout_coupon.woocommerce-form-coupon{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:14px 0 24px;padding:0;border:0;background:transparent}
.checkout_coupon.woocommerce-form-coupon p.form-row{margin:0;padding:0;width:auto!important;flex:1 1 220px}
.checkout_coupon.woocommerce-form-coupon p.form-row-last{flex:none}
.checkout_coupon .input-text{width:100%;height:48px;padding:0 16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;outline:none}
.checkout_coupon .input-text:focus{border-color:var(--ink)}
.checkout_coupon .button{height:48px;padding:0 24px;background:var(--ink)!important;color:var(--bg)!important;border:1px solid var(--ink)!important;border-radius:999px!important;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;cursor:pointer;white-space:nowrap}
.checkout_coupon .clear{display:none}
.af-checkout__nav{display:flex;justify-content:space-between;gap:16px;margin-top:32px}
.af-order-review{border:1px solid var(--line);padding:24px}
/* 2026-10-08: Astra'nın `.woocommerce-checkout form #order_review{width:40%;float:right}` kuralı /checkout/ ödeme adımını
   dar bir sütuna sıkıştırıyordu (sipariş özeti, ödeme yöntemleri, onay bloğu ~240px). Yalnız bu bileşen. */
html body .af-checkout form #order_review.af-order-review{width:auto;float:none}
.af-checkout__grid{display:grid;grid-template-columns:60% 40%;gap:48px;align-items:start}
@media(max-width:900px){.af-checkout__grid{grid-template-columns:1fr}}
.af-checkout__summary{position:sticky;top:88px;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:16px}
.af-checkout__summary-lines{display:flex;flex-direction:column;gap:12px}
.af-summary-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--body)}
.af-summary-line span:last-child{font-family:'Plus Jakarta Sans',sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}

/* ---------- Woo form alanları (genel: login, register, order tracking, address) ---------- */
/* Kök sebep (Sign In formu tamamen çakışıyordu — ekran görüntüsüyle
   doğrulandı): WooCommerce/Astra'nın kendi .form-row-first/.form-row-last
   class'ları float:left/right + %47 genişlik veriyor, bu tema onu hiç
   sıfırlamamıştı — "Username" ve "Password" satırları yan yana binip
   altındaki Remember me/Login satırıyla üst üste düşüyordu. float:none +
   tam genişlik + clear ile tek sütuna zorlanıyor. */
.woocommerce-form .form-row,.woocommerce form .form-row,.af-account form .form-row{margin:0 0 16px;float:none!important;width:100%!important;clear:both;box-sizing:border-box}
.woocommerce-form label,.woocommerce form label,.af-account form label{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.woocommerce-form .input-text,.woocommerce form .input-text,.af-account form .input-text,
.woocommerce-form select,.woocommerce form select{
  width:100%;min-height:48px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:15px;
}
.woocommerce-form button[type="submit"],.woocommerce form button[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;
}

/* ---------- Hesap portalı ---------- */
/* .af-wrap'in genel 1560px kapsayıcısına kendi max-width'i olmadan oturuyordu
   (aynı elementte iki class birden: af-wrap + af-account) — bu yüzden kart
   geniş ekranda sola yapışık kalıyordu (gerçek tarayıcıda doğrulandı).
   Diğer dar içerik sayfalarıyla aynı desen: .af-wrap'in kendi margin:0 auto'su
   üzerine dar bir max-width bindiriliyor, böylece tüm sayfada ortalanıyor. */
.af-account{padding-block:64px;max-width:560px;margin:0 auto}
.af-account__tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:32px}
.af-account__tab{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:0;background:transparent;color:var(--mute);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.af-account__tab.is-active{color:var(--ink);border-bottom:2px solid var(--ink)}
.af-account__pane{display:none}
.af-account__pane.is-active{display:block}
.af-account form{max-width:480px;border:1px solid var(--line);padding:32px}
.af-account form .form-row:last-child{margin-bottom:0}
.af-account input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;accent-color:var(--ink);margin:0}
.af-account .woocommerce-LostPassword{margin-top:16px}
.af-account .woocommerce-LostPassword a{color:var(--mute)}
.af-account .woocommerce-LostPassword a:hover{color:var(--ink)}
/* ==========================================================================
   Hesap portalı (giriş yapılmış) — v8.5: tek, temiz blok. Önceki turların
   (v8.0–v8.4) birbirini ezen/tekrar eden kuralları burada birleştirildi,
   yamalanmadı. Gerçek class'lar WooCommerce çekirdek şablonlarından
   (myaccount/orders.php, my-address.php, form-edit-account.php — sunucudan
   okundu) doğrulandı; "Confirm email address" bildirimi bu WC sürümünde
   (11.1.1) HİÇ YOK — spec'in hayali varsayımıydı, karşılığı yazılmadı.
   GERÇEK KÖK SEBEP HATIRLATMASI: Astra'nın eski kutulu nav CSS'i
   "modern-woo-account-view" ayarıyla (WP-CLI, astra-settings option'ı)
   zaten kapatıldı — CSS'te tekrar ezmeye gerek yok. */

.af-myaccount-head{max-width:880px;margin:0 auto}
.af-myaccount-head h1{font-family:'Cormorant Garamond',serif;font-size:var(--af-fs-h2);font-weight:400;margin-top:8px;letter-spacing:var(--af-track-display)}
.af-myaccount{display:flex;flex-direction:column;max-width:880px;margin:0 auto}

/* Hesap sayfalarında yüzey rengi her yerde --bg (Astra'nın beyaz
   article/container zemini varsa transparent'a indirgeniyor; zaten
   .ast-separate-container var(--bg) alıyordu, bu ek güvenlik). */
body.woocommerce-account article,body.woocommerce-account .site-content,body.woocommerce-account #primary{background:transparent}

/* ---------- Yatay sekme çubuğu ---------- */
.af-myaccount .woocommerce-MyAccount-navigation{float:none!important;width:100%;margin-bottom:48px;overflow-x:auto;scrollbar-width:none}
.af-myaccount .woocommerce-MyAccount-navigation::-webkit-scrollbar{display:none}
.af-myaccount .woocommerce-MyAccount-content{float:none!important;width:100%;max-width:860px;margin:0 auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:32px;border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li{margin:0;flex-shrink:0}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{margin-left:auto}
.woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color 180ms ease,border-color 180ms ease}
.woocommerce-MyAccount-navigation a:hover{color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--ink);font-weight:500;border-bottom-color:var(--ink)}

/* ---------- Dashboard (woocommerce/myaccount/dashboard.php override'ı) ---------- */
.artefar-acc-greeting{font-family:'Cormorant Garamond',serif;font-size:var(--af-fs-h3);font-weight:400;color:var(--ink);margin:0 0 40px;letter-spacing:var(--af-track-display)}
.artefar-acc-links{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.artefar-acc-links li{border-left:1px solid var(--line-soft)}
.artefar-acc-links li:first-child{border-left:0}
.artefar-acc-links a{display:flex;flex-direction:column;gap:6px;padding:24px;transition:opacity 180ms ease}
.artefar-acc-links li:first-child a{padding-left:0}
.artefar-acc-links a:hover{opacity:.6}
.artefar-acc-links .k{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.artefar-acc-links .v{font-family:var(--af-font-text);font-size:var(--af-fs-body);color:var(--ink);overflow-wrap:anywhere;font-weight:500}
@media(max-width:600px){
  .artefar-acc-links{grid-template-columns:1fr}
  .artefar-acc-links li{border-left:0;border-top:1px solid var(--line-soft)}
  .artefar-acc-links li:first-child{border-top:0}
  .artefar-acc-links a{padding-left:0!important}
}

/* ---------- Form alanları (Account details, Addresses) — sadece hesap
   sayfasında ince ayar, checkout/login'in genel kuralı bozulmadı ---------- */
body.woocommerce-account .woocommerce-form label{font-size:10.5px;letter-spacing:.22em}
body.woocommerce-account .input-text:focus,body.woocommerce-account select:focus{border-color:var(--ink);outline:none}
/* Şifre göster/gizle ikonu tarayıcının kendi native kontrolü — yalnızca
   Edge'in ::-ms-reveal'ı CSS ile küçültülebiliyor, Chrome/Safari'de bu
   seviyede stil erişimi yok (dürüst sınır, JS'siz aşılamaz). */
input[type="password"]::-ms-reveal{width:16px;height:16px;opacity:.45}

/* ---------- Account details (form-edit-account.php — gerçek class'lar).
   v8.6: Display name alanı TAMAMEN gizlendi (zorunluluk v8.5'te zaten
   kaldırılmıştı, kayıtta ad+soyad otomatik kullanılıyor) — :has() ile ID
   üzerinden hedeflendi (bu <p> başka hiçbir class'la ayırt edilemiyordu,
   email ile birebir aynı .form-row.form-row-wide class'ını taşıyor). Ölçüler
   küçültüldü: form 480px, input 44px — bilerek v8.5'teki genel 48px'ten
   FARKLI, sadece bu form için (daha spesifik seçici kazanıyor). */
body.woocommerce-account .woocommerce-EditAccountForm{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;max-width:480px}
body.woocommerce-account .woocommerce-EditAccountForm .form-row:has(#account_display_name){display:none}
body.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
body.woocommerce-account .woocommerce-EditAccountForm fieldset,
body.woocommerce-account .woocommerce-EditAccountForm .artefar-pw-row,
body.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type{grid-column:1/-1}
body.woocommerce-account .woocommerce-EditAccountForm .clear{display:none}
body.woocommerce-account .woocommerce-EditAccountForm label{font-size:10px;letter-spacing:.2em;margin-bottom:6px}
body.woocommerce-account .woocommerce-EditAccountForm .input-text{height:44px;min-height:0;padding:0 14px;font-size:14px}
body.woocommerce-account .woocommerce-EditAccountForm .required{display:none}
body.woocommerce-account .woocommerce-EditAccountForm .input-text:focus{outline:none;border-color:var(--ink)}
body.woocommerce-account .woocommerce-EditAccountForm .input-text:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
/* Şifre fieldset'i — assets/artefar.js açılır/kapanır satıra çeviriyor
   (.artefar-pw-row), fieldset JS ile [hidden] alıyor; legend/border burada
   değil, satır zaten kendi başlığını taşıyor. */
body.woocommerce-account .woocommerce-EditAccountForm fieldset{border:0;padding:0;margin:0}
body.woocommerce-account .woocommerce-EditAccountForm fieldset:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
body.woocommerce-account .woocommerce-EditAccountForm legend{display:none}
body.woocommerce-account .woocommerce-EditAccountForm fieldset .form-row-wide{grid-column:1/-1}
body.woocommerce-account .artefar-pw-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:baseline;gap:24px;margin:0 0 20px}
body.woocommerce-account .artefar-pw-row .k{font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
body.woocommerce-account .artefar-pw-row .v{font-size:13.5px;color:var(--body);letter-spacing:.2em}
body.woocommerce-account .artefar-acc-action{justify-self:end;background:none;border:0;padding:12px 0;margin:-12px 0;cursor:pointer;font:inherit;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;min-height:44px}
body.woocommerce-account .artefar-acc-action:hover{text-decoration-color:var(--ink)}
body.woocommerce-account #account_display_name_description{display:block;margin-top:6px;font-size:12px;font-style:normal;color:var(--mute)}
body.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type{margin-top:32px}
@media(max-width:600px){
  body.woocommerce-account .woocommerce-EditAccountForm,
  body.woocommerce-account .woocommerce-EditAccountForm fieldset:not([hidden]){grid-template-columns:1fr}
  body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]{width:100%}
}

/* ---------- Addresses (my-address.php — gerçek class'lar: dış
   .u-columns.woocommerce-Addresses.col2-set, her adres .u-column1/.u-column2
   .woocommerce-Address, içinde header.woocommerce-Address-title > h2 + a.edit,
   sonra <address>).
   GERÇEK KÖK SEBEP (bu turda bulundu): v8.5'teki display:grid;1fr 1fr kuralım
   Astra'nın clearfix'i (.u-columns::before/::after{content:'';display:table})
   İLE ÇAKIŞIYORDU — content:'' olsa da bu pseudo-element'ler GERÇEK grid
   item'ı sayılıyor (CSS Grid spec'i böyle), 2-kolonlu grid'de 4 item (before,
   billing, shipping, after) ikişerli satırlara bölünüyor: 1. satır
   [before, billing], 2. satır [shipping, after] — "Billing sağda, Shipping
   solda ama aşağıda kayık" görüntüsü TAM BUYDU. Artık pseudo-elementler
   tamamen kapatılıyor + kart/2-kolon düzeni bırakılıp Orders ile aynı
   "satır" desenine geçildi: her adres kendi 3-kolonlu satırı (etiket,
   içerik, aksiyon). DOM sırası billing→shipping (template'ten doğrulandı,
   $get_addresses dizisi billing'i önce tanımlıyor); CSS order ile Shipping
   öne alındı. */
/* "The following addresses will be used..." açıklaması gettext ile boş
   stringe çevrildi (functions.php), ama <p> PHP'de koşulsuz basılıyor
   (my-address.php) — içi whitespace olacağından :empty eşleşmez, bu yüzden
   DOM konumuna göre hedefleniyor: açıklama <p>'si her zaman .woocommerce-Addresses
   grid'inden hemen önce gelir (şablondan doğrulandı). */
.woocommerce-MyAccount-content > p:has(+ .woocommerce-Addresses){display:none}
.woocommerce-MyAccount-content .woocommerce-Addresses{display:flex;flex-direction:column}
.woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-MyAccount-content .woocommerce-Addresses::after{content:none;display:none}
.woocommerce-Address{float:none!important;width:auto!important;display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:baseline;gap:24px;padding:18px 0;border-top:1px solid var(--line-soft);margin:0}
.woocommerce-Address:last-child{border-bottom:1px solid var(--line-soft)}
.woocommerce-Address.u-column1{order:2} /* Billing */
.woocommerce-Address.u-column2{order:1} /* Shipping — önce gösteriliyor */
.woocommerce-Address-title{display:contents}
.woocommerce-Address-title h2{grid-column:1;margin:0;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.woocommerce-Address-title .edit{grid-column:3;justify-self:end;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;white-space:nowrap}
.woocommerce-Address-title .edit:hover{text-decoration-color:var(--ink)}
.woocommerce-Address address{grid-column:2;margin:0;font-size:13.5px;font-style:normal;color:var(--body)}
@media(max-width:600px){
  .woocommerce-Address{grid-template-columns:1fr auto;grid-template-areas:"label action" "content content";gap:6px 16px}
  .woocommerce-Address-title h2{grid-area:label;grid-column:auto}
  .woocommerce-Address-title .edit{grid-area:action;grid-column:auto}
  .woocommerce-Address address{grid-area:content;grid-column:auto;margin-top:4px}
}

/* ---------- Sipariş tablosu ---------- */
table.woocommerce-orders-table,table.shop_table{width:100%;border-collapse:collapse;font-size:13px}
table.woocommerce-orders-table thead,table.shop_table thead{background:transparent}
table.woocommerce-orders-table th,table.shop_table th{padding:18px 0;border-bottom:1px solid var(--line);text-align:left;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
table.woocommerce-orders-table td,table.shop_table td{padding:18px 0;border-bottom:1px solid var(--line-soft);text-align:left;font-variant-numeric:tabular-nums}
.woocommerce-orders-table__cell-order-status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
/* "View"/"Pay"/"Cancel" aksiyon linkleri — genel .button pill'inden bilerek
   ayrı: tablo satırında küçük, ghost, hover'da dolu. */
.woocommerce-orders-table__cell-order-actions .button{height:36px;min-height:0;padding:0 18px;font-size:10px;background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.woocommerce-orders-table__cell-order-actions .button:hover{background:var(--ink)!important;color:var(--bg)!important}

/* ---------- Bildirimler (adres kaydedildi, sipariş yok, misafir siparişini
   hesaba bağla vb.) — gerçek WC çekirdeği 'notice' tipini .woocommerce-info
   class'ıyla basıyor (templates/notices/notice.php'den doğrulandı).
   GERÇEK DOM SIRASI (VerificationController.php satır 283'ten doğrulandı):
   linkin KENDİSİ metinden ÖNCE geliyor — "order" ile görsel olarak sağa
   alınıyor, metin çıplak text node olduğu için ona dokunulamıyor, sadece
   linke order:1 vermek yeterli (varsayılan order:0 < 1, metin önce render
   olur). v8.5'teki soluk var(--line) rengim kendi hatamdı (Astra değil) —
   kontrast var(--ink)'e çekildi. */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error{
  background:transparent;border:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  color:var(--body);margin:0;padding:18px 0;font-size:13.5px;list-style:none;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:24px;
}
/* Ardışık bildirimlerde çift çizgi olmasın — ikincinin üst çizgisi kaldırılır. */
.woocommerce-MyAccount-content .woocommerce-info + .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-info + .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info + .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-message + .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message + .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-message + .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-error + .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error + .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error + .woocommerce-error{border-top:0}
.woocommerce-MyAccount-content .woocommerce-info a,
.woocommerce-MyAccount-content .woocommerce-message a,
.woocommerce-MyAccount-content .woocommerce-error a{
  order:1;justify-self:end;white-space:nowrap;margin:0;height:auto;min-height:0;padding:0;
  background:none!important;border:0!important;border-radius:0!important;
  color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;opacity:1!important;
  font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;
}
.woocommerce-MyAccount-content .woocommerce-info a:hover,
.woocommerce-MyAccount-content .woocommerce-message a:hover,
.woocommerce-MyAccount-content .woocommerce-error a:hover{text-decoration-color:var(--ink)}
.woocommerce-MyAccount-content .woocommerce-message::before,.woocommerce-MyAccount-content .woocommerce-error::before,.woocommerce-MyAccount-content .woocommerce-info::before{display:none}

/* ---------- Footer — üç sütun (Koleksiyonlar / Yardım / Stüdyo) + telif satırı ---------- */
/* Astra'nın "scroll to top" butonu TAMAMEN KALDIRILDI (site sahibi
   isteği, 2026-10-03) — gerçek kaldırma Astra Customizer ayarından
   (astra-settings[scroll-to-top-enable] = false, wp option patch ile),
   burada yalnız artık DOM'da hiç basılmayacak elemana ait ölü CSS
   silindi. */

/* Footer — kendi bağımsız renk seti (.af-dark'tan AYRI, literal hex,
   CLAUDE.md'nin footer istisnasıyla onaylı). .af-footer kapsamında --ft-*
   custom property'leri tanımlanıp altta tekrar kullanılıyor (DRY, ama
   değerlerin kendisi literal — isim sadece taşıyıcı). */
.af-footer{
  --ft-bg:#EFE0CD;--ft-ink:#170c0b;--ft-mute:#635856;--ft-line:rgba(23,12,11,.12);
  background:var(--ft-bg)!important;color:var(--ft-ink)!important;
  border-top:1px solid var(--ft-line);padding-top:96px;padding-bottom:32px;
}
.af-footer .af-wrap{padding-inline:48px}
.af-footer a{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ft-ink)!important}
.af-footer a:hover{opacity:.7}
.af-footer .af-meta{color:var(--ft-mute)!important}
.af-footer .af-serif{color:var(--ft-ink)!important}
.af-footer__cols{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--ft-line)}
@media(max-width:900px){.af-footer__cols{grid-template-columns:1fr 1fr;gap:40px 32px}}
@media(max-width:600px){.af-footer__cols{grid-template-columns:1fr;gap:40px}}
.af-footer__col ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}

/* Curation sütunu — Collections/Curated Themes alt grupları (2026-10-04).
   Not: istenen #716C63 onaylı footer paletinde yok, en yakın onaylı token
   olan --ft-mute (#635856) kullanıldı — yeni renk üretilmedi. */
.af-footer__col--curation .af-footer__subhead{display:block;margin-top:24px;color:var(--ft-mute)!important}
.af-footer__col--curation ul a{color:var(--ft-mute)!important}
.af-footer__col--curation ul a:hover{color:var(--ft-ink)!important;opacity:1}
/* Alt bar — eskiden sağdaki sabit #ast-scroll-top butonuyla çakışmaması
   için padding-right ayrılmıştı; buton tamamen kaldırıldığı için (madde
   3, 2026-10-03) artık gerekmiyor. */
.af-footer__bottom{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:24px;margin-top:88px;padding-top:32px;padding-bottom:40px;border-top:1px solid var(--ft-line)}
.af-footer__bottom .af-logo{font-size:26px;letter-spacing:.32em;color:var(--ft-ink)!important}
.af-footer__bottom .af-meta{text-align:right;letter-spacing:.26em}
.af-footer__legal{display:flex;gap:24px}

/* ---------- Museum Gazette (footer bülten kaydı) ---------- */
.af-footer__gazette-heading{font-size:26px;line-height:1.3;margin:16px 0 24px;max-width:34ch}
.af-footer__gazette-form{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--ft-ink);padding-bottom:8px;margin-top:8px}
.af-footer__gazette-form[hidden]{display:none!important}
.af-footer__gazette-form input{flex:1;min-width:0;height:44px;border:0!important;background:transparent!important;box-shadow:none;border-radius:0;padding:0;outline:none;color:var(--ft-ink)!important;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.af-footer__gazette-form input::placeholder{color:var(--ft-mute);letter-spacing:.22em;text-transform:uppercase}
/* Tarayıcının e-posta autofill'i sarı/beyaz zemin dayatıyordu. */
.af-footer__gazette-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--ft-bg) inset!important;-webkit-text-fill-color:var(--ft-ink)!important;caret-color:var(--ft-ink)}
.af-footer__gazette-submit{flex:none;display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:1px solid var(--ft-ink);border-radius:999px;background:transparent;color:var(--ft-ink)!important;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1;cursor:pointer;white-space:nowrap;transition:background-color 220ms ease,color 220ms ease}
.af-footer__gazette-submit:hover{background:var(--ft-ink);color:var(--ft-bg)!important}
.af-footer__gazette-submit:focus-visible{outline:1px solid var(--ft-ink);outline-offset:2px}
.af-footer__gazette-note{display:block;margin-top:16px;font-size:12px;color:var(--ft-mute)!important}
.af-footer__bio{font-size:13.5px;line-height:1.75;margin:16px 0 24px;max-width:36ch;color:var(--ft-ink)!important}
.af-footer__meta-line{display:block;font-size:12px;color:var(--ft-mute)!important;margin-top:8px}
.af-footer__meta-line a{text-transform:none;letter-spacing:0;font-size:inherit;font-weight:400;color:var(--ft-ink)!important}
.af-footer__meta-line a:hover{opacity:.7}
@media(max-width:900px){.af-footer{padding-top:72px}.af-footer .af-wrap{padding-inline:24px}}
@media(max-width:600px){
  /* 2026-10-08: mobilde alt satır yatay ortada. Harf aralığı son harften
     sonra da boşluk bıraktığı için aynı miktar soldan eklenir (görsel
     merkez); uzun satır taşmadan, dengeli bölünür. */
  .af-footer__bottom{flex-direction:column;align-items:center;text-align:center;gap:16px}
  .af-footer__bottom .af-logo{padding-left:.32em}
  .af-footer__bottom .af-meta{text-align:center;padding-left:.26em;max-width:100%;text-wrap:balance;overflow-wrap:anywhere}
}

/* ---------- Genel bilgi sayfaları — kargo/iade oran tablosu ---------- */
.af-policy-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:13px}
.af-policy-table th,.af-policy-table td{padding:12px 16px 12px 0;text-align:left;border-bottom:1px solid var(--line)}
.af-policy-table th{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:600px){.af-policy-table{font-size:12px}.af-policy-table th,.af-policy-table td{padding:8px 8px 8px 0}}
/* Satıcı bilgileri tablosu (2026-10-07): etiket sütunu tek satır, değer sütunu kırılır — yalnız bu tablo. */
.af-company-details th{width:1%;white-space:nowrap;vertical-align:top;padding-right:24px}
.af-company-details td{overflow-wrap:anywhere}

/* ---------- /gazette/ — broadsheet editoryal sayfa ---------- */
.af-gazette-main{background:var(--bg)}
.af-gazette-wrap{padding-block:48px 96px}

.af-gazette-masthead{text-align:center;border-bottom:2px solid var(--ink);padding-bottom:16px}
.af-gazette-masthead__top{display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.af-gazette-masthead__title{font-size:clamp(40px,7vw,80px);letter-spacing:.1em;text-transform:uppercase;margin:8px 0 16px}
.af-gazette-masthead__rule{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:8px 0;display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
@media(max-width:600px){.af-gazette-masthead__top,.af-gazette-masthead__rule{flex-direction:column;align-items:center;gap:8px}}

.af-gazette-grid{display:grid;grid-template-columns:1.8fr 1px 1.2fr 1px 1fr;gap:32px;margin-top:32px}
.af-gazette-divider{background:var(--line)}
@media(max-width:900px){
  .af-gazette-grid{grid-template-columns:1fr;gap:48px}
  .af-gazette-divider{display:none}
  .af-gazette-col-lead,.af-gazette-col-secondary{border-bottom:1px solid var(--line-soft);padding-bottom:48px}
}

.af-gazette-kicker{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:12px}
.af-gazette-headline{font-size:clamp(28px,3.2vw,44px);line-height:1.15;margin:0 0 16px}
.af-gazette-lead-frame{border:1px solid var(--line);aspect-ratio:16/10;overflow:hidden;margin-bottom:16px}
.af-gazette-lead-frame img{width:100%;height:100%;object-fit:cover;display:block}
.af-gazette-caption{font-size:11px;font-style:italic;color:var(--mute);margin-bottom:24px}
.af-gazette-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:13px;line-height:1.7;color:var(--body)}
@media(max-width:700px){.af-gazette-columns{grid-template-columns:1fr}}
.af-gazette-dropcap::first-letter{float:left;font-family:'Cormorant Garamond',Georgia,serif;font-size:52px;line-height:.8;padding:4px 8px 0 0;color:var(--ink)}

.af-gazette-subhead{font-size:24px;line-height:1.25;margin:0 0 16px}
.af-gazette-body{font-size:13px;line-height:1.7;color:var(--body)}
.af-gazette-body--small{font-size:12px}
.af-gazette-quote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:var(--af-fs-lede);line-height:1.4;border-left:2px solid var(--ink);padding:0 0 0 16px;margin:16px 0;font-weight:300}

.af-gazette-spec-card{border:1px solid var(--line);padding:16px;margin:24px 0}
.af-gazette-spec-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:8px 0;border-bottom:1px dashed var(--line)}
.af-gazette-spec-row:last-child{border-bottom:0}
.af-gazette-spec-row dt{text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.af-gazette-spec-row dd{margin:0;font-weight:500;color:var(--ink);text-align:right}

.af-gazette-block{margin-bottom:32px}
.af-gazette-block:last-child{margin-bottom:0}

.af-gazette-col-notes{display:flex;flex-direction:column;border:1px solid var(--line);padding:24px}
.af-gazette-briefs{list-style:none;margin:0 0 8px;padding:0}
.af-gazette-briefs li{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line-soft);font-size:12px;line-height:1.6;color:var(--body)}
.af-gazette-briefs li p{margin:0}
.af-gazette-brief-no{flex-shrink:0;font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--ink)}

.af-gazette-seal{text-align:center;padding-top:24px;margin-top:24px;border-top:1px solid var(--line-soft)}
.af-gazette-seal__mark{display:block;font-family:var(--af-font-text);font-size:var(--af-fs-small);text-transform:uppercase;color:var(--ink)}
.af-gazette-seal__meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

.af-gazette-archive{margin-top:64px;border-top:2px solid var(--ink);padding-top:24px}
.af-gazette-archive__rule{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:24px}
.af-gazette-archive__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:900px){.af-gazette-archive__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.af-gazette-archive__grid{grid-template-columns:1fr}}
.af-gazette-archive__card{border-top:1px solid var(--line);padding-top:16px}
.af-gazette-archive__meta{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.af-gazette-archive__title{font-size:18px;margin:0 0 8px}
.af-gazette-archive__excerpt{font-size:11px;color:var(--mute);line-height:1.6;margin:0}

.af-gazette-dispatch{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.af-gazette-dispatch__title{font-size:17px;margin:0 0 8px}
.af-gazette-dispatch-form{display:flex;flex-direction:column;gap:12px}
.af-gazette-dispatch-form[hidden]{display:none!important}
.af-gazette-dispatch-form input{height:48px;border:1px solid var(--line);padding:0 12px;font-size:12px;outline:none;background:transparent;color:var(--ink);box-sizing:border-box}
.af-gazette-dispatch-form input:focus{border-color:var(--ink)}
.af-gazette-dispatch__note{display:block;margin-top:12px;font-size:11px;color:var(--mute)}

/* ---------- Çerez onay şeridi ---------- */
.artefar-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--veil);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.artefar-cookie-banner[hidden]{display:none!important}
.artefar-cookie-banner__inner{max-width:1560px;margin:0 auto;padding:24px 32px calc(24px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:32px}
.artefar-cookie-banner__copy p{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--body);max-width:64ch}
.artefar-cookie-banner__copy a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.artefar-cookie-banner__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
@media(max-width:768px){
  .artefar-cookie-banner__inner{padding-inline:20px;flex-direction:column;align-items:stretch;gap:16px}
  .artefar-cookie-banner__actions{justify-content:stretch}
  .artefar-cookie-banner__actions .af-btn{flex:1}
}

/* ---------- Hareket azaltma ---------- */
/* ---------- Studio Story — sessiz amblem sunumu ---------- */
.af-studio-mark{display:flex;flex-direction:column;align-items:center;gap:32px;padding:96px 32px;border-bottom:1px solid var(--line-soft);text-align:center}
.af-studio-mark img{width:180px;height:180px;object-fit:contain}
.af-story-pillars{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:40px}
@media(max-width:600px){.af-studio-mark{padding:64px 24px}.af-story-pillars{gap:12px}.af-story-pillars .pillar-sep{display:none}}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   Çekmece kasası — tek form, 3 adım (2026-10-05, "baştan kurgu").
   Şablon: template-parts/drawer-checkout.php + header.php, JS: assets/artefar.js.
   Tek zemin: çekmecenin tamamı düz kağıt rengi #D9D4C6 (paper.css — site
   sahibinin önceki kararı: çekmecelerde doku yok), header'dan alt bara kadar
   kesintisiz; iç bölümlerde ayrı arka plan YOK. Renkler sitenin
   mevcut değişkenleri: --ink, --mute, --line; hata = --af10-clay.
   ========================================================================== */
.af-drawer.af-drawer--cart{ width:560px; }
@media (max-width:600px){ .af-drawer.af-drawer--cart{ width:100%; } }
.af-drawer--cart .af-drawer__head,
.af-drawer--cart .af-drawer__views,
.af-drawer--cart .afc-view,
.af-drawer--cart .afc-bar{ background:transparent !important; }

/* Sekmeler: aktif çizgili; tamamlanan tıklanabilir; ileri adım tıklanamaz. */
.af-drawer--cart .af-drawer__steps button[disabled]{ opacity:.4; cursor:default; pointer-events:none; }
.af-drawer--cart .af-drawer__steps button.is-done{ color:var(--ink); }

/* İçerik scroll eder; header ve alt bar sabit. */
.afc-view{ flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:28px 36px 32px; }
/* 2026-10-16 kasa scroll bug'ı (masaüstü, Safari): yukarıdaki .afc-view{min-height:0}
   kazanmıyordu — `.af-drawer__views>[data-af-drawer-view]{min-height:100%}` daha
   yüksek specificity'de (0,2,0) ve kasa görünümüne min-height:100% veriyordu.
   WebKit flex içinde bu yüzdeyi içerik yüksekliğine çözünce görünüm form kadar
   uzuyor, çekmecenin overflow:hidden'ı altını kesiyor, scroll edecek bir şey
   kalmıyordu. Burada scroll zinciri açıkça kuruluyor: çekmece = ekran yüksekliği,
   başlık ve alt bar sabit, yalnız .afc-view scroll eder. Ödeme/checkout mantığına
   dokunulmadı — yalnız yerleşim. */
.af-drawer.af-drawer--cart{ height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; }
.af-drawer--cart > .af-drawer__head{ flex:none; }
.af-drawer--cart > .af-drawer__views{ flex:1 1 auto; min-height:0; overflow:hidden; }
.af-drawer--cart > .af-drawer__views > .afc-view[data-af-drawer-view]{ flex:1 1 auto; min-height:0; height:auto; justify-content:flex-start; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.af-drawer--cart .afc-view > .afc-form,
.af-drawer--cart .afc-view > .afc-loading{ flex:none; }
.afc-step[hidden]{ display:none !important; }
.afc-step.is-active{ animation:afcIn 200ms ease both; }
@keyframes afcIn{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion:reduce){ .afc-step.is-active{ animation:none; } }
.afc-title{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:var(--af-fs-h3); line-height:1.15; margin:0 0 24px; color:var(--ink);letter-spacing:var(--af-track-display)}
.afc-note{ margin:-8px 0 24px; font-size:13px; line-height:1.6; color:var(--mute); }

/* Alanlar */
.afc-form .afc-fields{ display:flex; flex-wrap:wrap; gap:0 16px; }
.afc-form .form-row{ width:100%; margin:0 0 16px; padding:0; float:none; display:flex; flex-direction:column; gap:8px; }
.afc-form .form-row-first,
.afc-form .form-row-last{ width:calc(50% - 8px); }
@media (max-width:420px){ .afc-form .form-row-first, .afc-form .form-row-last{ width:100%; } }
html body .afc-form .form-row label{ margin:0; font-size:10px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--mute); line-height:1.4; }
html body .afc-form .form-row label .required{ display:none; }
html body .afc-form .form-row label .optional{ text-transform:none; letter-spacing:0; font-size:11px; font-weight:400; color:var(--mute); }
.afc-form .form-row .woocommerce-input-wrapper{ display:block; width:100%; }
.afc-form input.input-text,
.afc-form select,
.afc-form textarea,
.afc-coupon input,
.afc-form .select2-container--default .select2-selection--single{
  width:100%; height:48px; padding:0 14px; margin:0; box-sizing:border-box;
  background:transparent !important; border:1px solid rgba(17,17,17,.22) !important; border-radius:0 !important; box-shadow:none !important;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; color:var(--ink); outline:none;
}
.afc-form textarea{ height:auto; min-height:96px; padding:12px 14px; }
.afc-form input.input-text:focus,
.afc-form select:focus,
.afc-form textarea:focus,
.afc-coupon input:focus,
.afc-form .select2-container--focus .select2-selection--single,
.afc-form .select2-container--open .select2-selection--single{ border-color:var(--ink) !important; }
.afc-form .select2-container{ width:100% !important; }
.afc-form .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:46px; padding:0; color:var(--ink); }
.afc-form .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px; right:8px; }
/* Seçici açılır listesi body'ye ekleniyor — çekmece örtüsünün (z 999998) üstünde. */
.select2-container--open{ z-index:1000001 !important; }
.select2-container--open .select2-dropdown{ background:#E9E6DF; border:1px solid rgba(17,17,17,.22); border-radius:0; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{ background:var(--ink); color:#D9D4C6; }
.select2-container--default .select2-search--dropdown .select2-search__field{ border:1px solid rgba(17,17,17,.22); border-radius:0; background:transparent; }

/* Hata metni — sitenin terracotta tonu, 12px. Woo'nun kendi satır içi hatası da aynı. */
.afc-error,
.afc-form .checkout-inline-error-message{ display:block; margin-top:2px; font-size:12px; line-height:1.4; color:var(--af10-clay,#74391F); }
.afc-form .woocommerce-invalid input.input-text,
.afc-form .woocommerce-invalid select,
.afc-form .woocommerce-invalid .select2-selection--single{ border-color:var(--af10-clay,#74391F) !important; }
.afc-form .woocommerce-NoticeGroup-checkout{ margin:0 0 20px; }
.afc-form .woocommerce-error,
.afc-form .woocommerce-message,
.afc-form .woocommerce-info{
  margin:0 0 16px; padding:12px 14px; list-style:none; background:transparent !important; border:1px solid rgba(17,17,17,.22); border-radius:0;
  font-size:12px; line-height:1.5; color:var(--af10-clay,#74391F);
}
.afc-form .woocommerce-error::before,
.afc-form .woocommerce-message::before,
.afc-form .woocommerce-info::before{ display:none; }
.afc-form .woocommerce-info{ color:var(--mute); }

/* Sipariş özeti — zemin aynı, yalnız 1px hairline çerçeve. */
/* Astra: `form #order_review{padding:0 2em}`, `table.shop_table{margin:0 -1px
   24px 0}` + hücre çerçeveleri tabloyu sağa taşırıyordu — sıfırlandı. */
html body .afc-form #order_review.afc-review{ padding:0 !important; margin:0 !important; border:0 !important; width:auto; float:none; }
/* Satırlar esnek düzen: table-layout ilk satırın (ürün) sütun genişliğini
   tüm toplam satırlarına dayatıyordu — kargo adı dar sütuna sıkışıyordu. */
html body .afc-form table.woocommerce-checkout-review-order-table{ display:block; margin:0 !important; }
html body .afc-form table.woocommerce-checkout-review-order-table tbody,
html body .afc-form table.woocommerce-checkout-review-order-table tfoot{ display:block; }
html body .afc-form table.woocommerce-checkout-review-order-table tr{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; border-top:1px solid var(--line); }
html body .afc-form table.woocommerce-checkout-review-order-table tbody tr:first-child{ border-top:0; }
html body .afc-form table.woocommerce-checkout-review-order-table th,
html body .afc-form table.woocommerce-checkout-review-order-table td{ display:block; border:0 !important; }
html body .afc-form table.woocommerce-checkout-review-order-table tfoot th{ flex:none; }
html body .afc-form table.woocommerce-checkout-review-order-table tfoot td,
html body .afc-form table.woocommerce-checkout-review-order-table tbody td.product-name{ flex:1; min-width:0; }
html body .afc-form table.woocommerce-checkout-review-order-table tr{ background:transparent !important; }
html body .afc-form table.woocommerce-checkout-review-order-table tfoot th{ font-size:10px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--mute); }
html body .afc-form table.woocommerce-checkout-review-order-table tfoot td{ white-space:normal; text-align:right; }

.afc-form .woocommerce-checkout-review-order-table{ width:100%; margin:0; border:1px solid var(--line) !important; border-collapse:collapse; background:transparent !important; border-radius:0; }
.afc-form .woocommerce-checkout-review-order-table thead{ display:none; }
.afc-form .woocommerce-checkout-review-order-table th,
.afc-form .woocommerce-checkout-review-order-table td{ padding:12px 16px; border:0; border-top:1px solid var(--line); background:transparent !important; font-size:13px; font-weight:400; text-align:left; vertical-align:top; color:var(--ink); }
.afc-form .woocommerce-checkout-review-order-table tbody tr:first-child td{ border-top:0; }
.afc-form .woocommerce-checkout-review-order-table td:last-child{ text-align:right; }
.afc-item{ display:flex; gap:12px; align-items:flex-start; text-align:left; }
.afc-item__thumb{ flex:none; width:56px; height:56px; }
.afc-item__thumb img{ width:56px; height:56px; object-fit:contain; display:block; }
.afc-item__text{ display:flex; flex-direction:column; gap:4px; min-width:0; white-space:normal; }
.afc-item__name{ font-family:var(--af-font-text); font-size:var(--af-fs-body); line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;font-weight:500}
.afc-item__meta{ font-size:11px; color:var(--mute); letter-spacing:.02em; }
.afc-form .order-total th,
.afc-form .order-total td{ padding-top:16px; padding-bottom:16px; }
.afc-form .order-total td .woocommerce-Price-amount{ font-family:var(--af-font-text); font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}

/* Kargo yöntemleri (02'de seçilebilir; 03'te yalnız seçilen, metin olarak). */
.afc-form #shipping_method{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; text-align:right; align-items:flex-end; }
.afc-form #shipping_method label{ font-size:12px; letter-spacing:0; text-transform:none; color:var(--ink); }
.afc-form #shipping_method li{ display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:0; }
.afc-form #shipping_method input{ margin:0; accent-color:var(--ink); }
.afc-form [data-afc-slot="payment"] #shipping_method li:not(:has(input:checked)):has(input[type="radio"]){ display:none; }
.afc-form [data-afc-slot="payment"] #shipping_method input[type="radio"]{ display:none; }

/* Ödeme bölümü — Woo'nun gri kutusu yok. */
.afc-form #payment,
.afc-form #payment .payment_box,
.afc-form #payment ul.payment_methods,
.afc-form #payment div.form-row{ background:transparent !important; border-radius:0; }
.afc-form #payment ul.payment_methods{ margin:0 0 20px; padding:0; border:0; list-style:none; }
.afc-form #payment ul.payment_methods li{ padding:14px 0; border-top:1px solid var(--line); }
.afc-form #payment .payment_box{ margin:10px 0 0; padding:12px 0 0; font-size:13px; color:var(--mute); }
.afc-form #payment .payment_box::before{ display:none; }
.afc-form #payment div.form-row{ padding:0; margin:0; }
/* Woo'nun kendi gönder düğmesi gizli — alt bardaki birincil buton onu tetikler. */
.afc-form #place_order{ display:none !important; }
.afc-form .woocommerce-privacy-policy-text{ font-size:11px; line-height:1.6; color:var(--mute); margin:0 0 12px; }

/* Kupon (katlanır) — input ile aynı satırda ince çerçeveli ikincil buton. */
.afc-coupon{ margin:4px 0 24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.afc-coupon summary{ list-style:none; cursor:pointer; padding:14px 0; font-size:10px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); display:flex; justify-content:space-between; }
.afc-coupon summary::-webkit-details-marker{ display:none; }
.afc-coupon summary::after{ content:'+'; }
.afc-coupon[open] summary::after{ content:'\2212'; }
.afc-coupon__row{ display:flex; gap:12px; padding-bottom:14px; }
.afc-coupon__row input{ flex:1; }
.afc-btn-secondary{
  flex:none; height:48px; padding:0 24px; border:1px solid var(--ink) !important; border-radius:999px !important;
  background:transparent !important; color:var(--ink) !important; font-size:10px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; cursor:pointer;
}
.afc-btn-secondary:disabled{ opacity:.4; }
.afc-coupon__msg{ margin:0 0 14px; font-size:12px; color:var(--mute); }
.afc-coupon__msg:empty{ display:none; }
.afc-coupon__msg.is-error{ color:var(--af10-clay,#74391F); }

/* Tembel kasa yükleme durumu (2026-10-06): metin + hata halinde "Try again". */
.afc-loading{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px 0; }
.afc-loading[hidden]{ display:none !important; }
.afc-loading__msg{ margin:0; font-size:13px; line-height:1.6; color:var(--mute); }
.afc-loading__msg.is-error{ color:var(--af10-clay,#74391F); }

/* Kupon sınırı mesajı (2026-10-07): okunur — büyük harf/aralıklı tablo başlığı stili değil. */
.af-coupon-cap td,
.af-coupon-cap-note{ text-transform:none !important; letter-spacing:0 !important; text-align:left !important; font-size:12px; line-height:1.5; color:var(--mute); }
.af-coupon-cap td{ padding-top:8px; padding-bottom:8px; }

/* Erişilebilirlik (2026-10-07): adım sekmeleri görünümü aynı kalarak 48px
   dokunma alanı (görünmez ::before) + klavye odağı görünür (1px ink). */
.af-drawer--cart .af-drawer__steps button::before{ content:''; position:absolute; left:-4px; right:-4px; top:50%; height:48px; transform:translateY(-50%); }
.af-drawer--cart .af-drawer__steps button:focus-visible,
.af-drawer--cart .afc-title:focus-visible{ outline:1px solid var(--ink); outline-offset:4px; }
.af-drawer--cart .afc-title:focus:not(:focus-visible){ outline:none; }
.afc-coupon summary{ min-height:48px; align-items:center; box-sizing:border-box; }

/* Odak (2026-10-07): Astra'nın satır içi `button:focus` kuralı şeffaf
   zeminli düğmeleri palet dışı maviye (#045cb4) boyuyordu — çekmecede kapat,
   Remove, Add to Cart ve header'daki ikon/CART düğmeleri (odak çekmece
   kapanınca buraya döner). Görünüm normal hâliyle aynı kalır, klavye odağı
   1px ink çizgiyle gösterilir. */
.af-icon:focus,
.af-cart:focus,
.af-overlay .af-remove:focus,
.af-overlay .af-pair-add:focus{ background:transparent !important; color:inherit !important; border-color:inherit; box-shadow:none !important; }
.af-icon--ring:focus,
.af-overlay .af-pair-add:focus{ border-color:var(--line) !important; }
.af-overlay .af-pair-add:hover{ background:var(--ink) !important; color:var(--bg) !important; }
.af-icon:focus-visible,
.af-cart:focus-visible,
.af-overlay .af-remove:focus-visible,
.af-overlay .af-pair-add:focus-visible{ outline:1px solid var(--ink); outline-offset:2px; }
/* Sepet görünümü dokunma alanı (görünüm aynı): Remove ve 32px'lik Add to Cart. */
.af-overlay .af-remove,
.af-overlay .af-pair-add{ position:relative; }
.af-overlay .af-remove::before,
.af-overlay .af-pair-add::before{ content:''; position:absolute; left:50%; top:50%; min-width:100%; width:48px; height:48px; transform:translate(-50%,-50%); }

/* Adet −/+ (22px görünür) ve sepet kupon başlığı (32px): görünür boyut aynı,
   dokunma alanı 48px. −/+ alanları birbirinin üstüne binmez: − sola, + sağa
   genişler (stepper'ın dışına, etkileşimsiz alana). */
.af-qty [data-af-qty-dec],
.af-qty [data-af-qty-inc]{ position:relative !important; }
.af-qty [data-af-qty-dec]::before,
.af-qty [data-af-qty-inc]::before{ content:''; position:absolute; top:50%; width:50px; height:50px; transform:translateY(-50%); }
.af-qty [data-af-qty-dec]::before{ right:0; }
.af-qty [data-af-qty-inc]::before{ left:0; }
.af-coupon-toggle summary{ position:relative; }
.af-coupon-toggle summary::before{ content:''; position:absolute; left:0; right:0; top:50%; height:48px; transform:translateY(-50%); }

/* Kasa formları (çekmece + /checkout/): bağlantı odağı palet içinde (tarayıcı/Astra
   mavisi değil); Woo'nun kupon "[Remove]" bağlantısı 48px dokunma alanı. */
form.checkout a:focus{ color:inherit !important; background:transparent !important; }
form.checkout a:focus-visible,
.af-checkout .af-step h2:focus-visible{ outline:1px solid var(--ink); outline-offset:2px; }
.af-checkout .af-step h2:focus:not(:focus-visible){ outline:none; }
form.checkout .woocommerce-remove-coupon{ position:relative; z-index:1; display:inline-block; }
form.checkout .woocommerce-remove-coupon::before{ content:''; position:absolute; left:50%; top:50%; width:48px; height:48px; min-width:100%; transform:translate(-50%,-50%); }

/* /checkout/ ülke/eyalet seçicisi (selectWoo): yanındaki metin alanlarıyla
   aynı — 48px, şeffaf zemin, aynı ince kenarlık (önce 37px, beyaz zemin,
   palet dışı #d1d5db kenarlık). */
.af-checkout .select2-container--default .select2-selection--single{
  height:48px; background:transparent; border:1px solid rgba(0,0,0,.08); border-radius:0; box-sizing:border-box; padding:0 16px;
}
.af-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:46px; padding:0; color:var(--ink); }
.af-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px; right:8px; }
.af-checkout .select2-container--focus .select2-selection--single,
.af-checkout .select2-container--open .select2-selection--single{ border-color:var(--ink); }
.af-checkout .woocommerce-invalid .select2-selection--single,
.af-checkout .woocommerce-invalid input.input-text,
.af-checkout .woocommerce-invalid textarea{ border-color:var(--af10-clay,#74391F) !important; }
/* Hata ve zorunlu işaretleri Woo'nun kırmızısı yerine çekmecedeki onaylı hata tonu. */
.af-checkout .form-row .required{ color:var(--af10-clay,#74391F); }

/* Footer para birimi seçici (2026-10-07): footer link diliyle aynı, 48px hedef. */
.af-currency{ display:flex; align-items:center; gap:16px; margin-top:8px; flex-wrap:wrap; }
.af-currency__label{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.af-currency__item{ display:inline-flex; align-items:center; min-height:48px; min-width:48px; justify-content:center; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); text-decoration:none; }
a.af-currency__item:hover,
a.af-currency__item:focus-visible{ text-decoration:underline; text-underline-offset:4px; }
.af-currency__item.is-current{ border-bottom:1px solid var(--ink); }

/* Alt sabit bar — her adımda aynı. */
.afc-bar{ flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 36px; border-top:1px solid var(--line); }
.afc-bar[hidden]{ display:none !important; }
.afc-bar__back{ appearance:none; background:transparent !important; border:0 !important; padding:12px 0; min-height:48px; cursor:pointer; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.afc-bar__back:hover{ color:var(--ink); opacity:1; }
.afc-bar__next{ flex:none; min-width:0; padding:0 28px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.afc-bar__next:disabled{ opacity:.4; cursor:default; }
@media (max-width:600px){
  .afc-view{ padding:24px 20px 28px; }
  .afc-bar{ padding:12px 20px; }
  .afc-bar__next{ padding:0 18px; }
}

/* Footer — çerez tercihleri düğmesi (2026-10-06): footer link diliyle aynı
   (11px, büyük harf, ink), 48px dokunmatik hedef. */
.af-footer__cookie-prefs{
  appearance:none; background:transparent !important; border:0 !important; padding:0; min-height:48px; cursor:pointer;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ft-ink,#170c0b) !important; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px;
}
.af-footer__cookie-prefs:focus-visible{ outline:1px solid var(--ft-ink,#170c0b); outline-offset:4px; }

/* ==========================================================================
   Studio / About (2026-10-06, page-studio.php). Mevcut tipografi ve renk
   değişkenleri; yeni renk yok. Başlık + ilk paragraf portre alanıyla yan
   yana; kalan metin tek okunur sütun (~66 karakter).
   ========================================================================== */
.af-studio{ padding:96px 0 128px; }
.af-studio__intro{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; align-items:start;
  padding-bottom:64px; border-bottom:1px solid var(--line);
}
.af-studio__title{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:var(--af-fs-h2); line-height:1.05; margin:0 0 32px; max-width:14ch; text-wrap:balance;letter-spacing:var(--af-track-display)}
.af-studio__first{ margin:0; max-width:56ch; font-size:16px; line-height:1.75; color:var(--body); }
.af-studio__founder{ margin:0; display:flex; flex-direction:column; gap:16px; }
.af-studio__founder-media{ width:100%; aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.af-studio__founder-media img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Portre yokken monogram: kesilmeden, ortada, alan içinde nefes alarak. */
.af-studio__founder--mark{ max-width:360px; justify-self:end; width:100%; }
.af-studio__founder--mark .af-studio__founder-media{ aspect-ratio:1/1; }
.af-studio__founder--mark .af-studio__founder-media img{ width:62%; height:auto; object-fit:contain; }
.af-studio__founder-caption{ display:flex; flex-direction:column; gap:4px; }
.af-studio__founder-name{ font-family:'Cormorant Garamond',Georgia,serif; font-size:var(--af-fs-h3); line-height:1.2; color:var(--ink);letter-spacing:var(--af-track-display)}
.af-studio__founder-role{ font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.af-studio__body{ padding-top:64px; }
.af-studio__column{ max-width:66ch; }
.af-studio__column p{ margin:0 0 24px; font-size:16px; line-height:1.8; color:var(--body); }
.af-studio__cta{ margin-top:24px; }
@media (max-width:900px){
  .af-studio{ padding:64px 0 96px; }
  .af-studio__intro{ grid-template-columns:1fr; gap:32px; padding-bottom:48px; }
  .af-studio__title{ margin-bottom:24px; }
  .af-studio__founder{ max-width:420px; }
  /* 2026-10-09 (site sahibi): mobilde monogram çerçevesi, imza ve unvan aynı merkez ekseninde; sağ/sol
     dış boşluk eşit. Uzun metinler sola hizalı kalır (yalnız kurucu bloğu ortalanır). */
  .af-studio__founder--mark{ justify-self:center; max-width:320px; }
  .af-studio__founder{ justify-self:center; margin-inline:auto; }
  .af-studio__founder-caption{ align-items:center; text-align:center; }
  .af-studio__founder-caption .af-studio__signature{ margin:0 auto 4px; }
  .af-studio__founder-role{ text-wrap:balance; }
  .af-studio__body{ padding-top:48px; }
  .af-studio__first, .af-studio__column p{ font-size:15px; }
}

/* Studio — el yazısı imza (şeffaf PNG), basılı adın yerine (2026-10-09; ad yalnız alt metinde).
   Görselin sol ucundaki kuyruk (ilk harfin alt çizgisi) gövdenin ≈%13 solunda — kuyruğun yarısı
   kenar boşluğuna taşar (-7%), harf gövdesi adın sol hizasına yakın oturur. Üstteki boşluk dar:
   imza adla tek grup okunur; unvan satırı imzanın altında. */
.af-studio__signature{ --af-sig-w:clamp(184px,50vw,232px); display:block; width:var(--af-sig-w); margin:0 0 4px calc(var(--af-sig-w) * -.07); }
.af-studio__signature img{ display:block; width:100%; height:auto; }
/* Bülten formu kapalıyken footer 3 sütun (boş sütun kalmasın). */
.af-footer__cols.af-footer__cols--no-signup{ grid-template-columns:1.2fr 1.2fr 1fr; }
@media(max-width:900px){ .af-footer__cols.af-footer__cols--no-signup{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .af-footer__cols.af-footer__cols--no-signup{ grid-template-columns:1fr; } }

/* ==========================================================================
   2026-10-08 — Ön bilgilendirme / mesafeli satış sözleşmesi (inc/legal.php)
   Yalnız bu bileşenler; genel a/button/select kuralı yok. Mevcut değişkenler
   (--ink/--body/--mute/--line), hairline, köşe 0. Metin en az 16px
   (MSY md. 6/1: en az 12 punto).
   ======================================================================== */
.af-legal{font-size:16px;line-height:1.7;color:var(--body)}
.af-legal p{margin:0 0 16px}
.af-legal .af-legal__h{font-size:24px;line-height:1.25;margin:48px 0 16px}
.af-legal > .af-legal__h:first-child{margin-top:0}
.af-legal .af-policy-table{font-size:16px;margin:0 0 16px}
.af-legal .af-policy-table th{font-size:12px}
.af-legal .af-legal__items tfoot th{font-size:12px}
.af-legal .af-legal__total th,.af-legal .af-legal__total td{color:var(--ink);font-weight:500}
.af-legal__opt{color:var(--mute)}
.af-legal__form{margin:0 0 16px;padding:16px;border:1px solid var(--line);list-style:none}
.af-legal__form li{padding:4px 0}
.af-legal__version{color:var(--mute)}
.af-legal-switch{margin:0 0 32px}
.af-legal-switch a{text-decoration:underline;text-underline-offset:3px}

/* Kasada onay bloğu — çekmece (.afc-form) ve /checkout/ aynı işaretleme */
/* 2026-10-30 (site sahibi): 16px → 13px — çekmecenin ödeme kutusu (13px) ve gizlilik metniyle aynı ölçek. */
.af-legal-consent{margin:24px 0 16px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--body)}
.af-legal-consent .af-meta{margin:0 0 8px}
.af-legal-consent__summary ul{margin:0 0 16px;padding-left:20px}
.af-legal-consent__summary li{margin:0 0 4px}
.af-legal-consent__doc{border-bottom:1px solid var(--line)}
.af-legal-consent__doc:first-of-type{border-top:1px solid var(--line)}
.af-legal-consent__doc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;list-style:none;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.af-legal-consent__doc summary::-webkit-details-marker{display:none}
.af-legal-consent__doc summary::after{content:"+";font-size:16px;color:var(--mute)}
.af-legal-consent__doc[open] summary::after{content:"\2212"}
.af-legal-consent__body{max-height:50vh;overflow:auto;padding:8px 0 16px}
.af-legal-consent__body .af-legal__h{font-size:20px;margin:32px 0 12px}
.af-legal-consent__alt{margin:12px 0 0;color:var(--mute)}
.af-legal-consent__alt a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.af-legal-consent__row{margin:16px 0 0!important;padding:0!important}
.af-legal-consent .af-legal-consent__label{display:flex!important;align-items:flex-start;gap:12px;min-height:48px;padding:12px 0;cursor:pointer;font-size:13px!important;font-weight:400!important;line-height:1.5;letter-spacing:normal!important;text-transform:none!important;color:var(--ink)}
.af-legal-consent__check{flex:none;width:20px;height:20px;margin:2px 0 0!important;accent-color:var(--ink)}
.af-legal-consent__notice{margin:0;color:var(--ink)}
.af-legal-consent__row.woocommerce-invalid .af-legal-consent__label{color:var(--ink);text-decoration:underline;text-decoration-color:var(--mute);text-underline-offset:4px}

/* Siparişe özel belge bağlantıları (teşekkür / hesap) */
.af-legal-links{margin:32px 0;padding-top:16px;border-top:1px solid var(--line)}
.af-legal-links ul{margin:8px 0 0;padding:0;list-style:none}
.af-legal-links li{padding:8px 0;font-size:16px}
.af-legal-links a{text-decoration:underline;text-underline-offset:3px}

/* iyzico + kart logo bandı — resmî dosya, oran/renk değiştirilmez; çevresinde koruma alanı */
.af-paylogos{padding:12px 0}
/* 508px: banttaki iyzico işareti marka kılavuzunun ekran minimumu 100×35px'e ulaşır (dosya 429×32'de ≈85×32). Dar ekranda sığmak için küçülür. */
.af-paylogos .af-paylogos__band{display:block;width:508px;max-width:100%;height:auto}
.af-paylogos__rows{display:none}
/* Dar ekran: ölçek 1.25 (bant 536×40) — iyzico işareti ≈106×40px. Satır 1: x 0–186 (iyzico + Mastercard),
   satır 2: x 186–429 (Visa, American Express, Troy). Kırpma logolar arası boşluktan. */
@media (max-width:560px){
  .af-paylogos .af-paylogos__band{display:none}
  .af-paylogos__rows{display:flex;flex-direction:column;align-items:center;gap:16px}
  .af-paylogos__crop{display:block;height:40px;overflow:hidden}
  .af-paylogos__crop img{display:block;width:536px;max-width:none;height:40px}
  .af-paylogos__crop--a{width:233px}
  .af-paylogos__crop--b{width:303px}
  .af-paylogos__crop--b img{margin-left:-233px}
  .af-paylogos--checkout .af-paylogos__rows{align-items:flex-start}
}
.af-paylogos--checkout{margin:16px 0 0;border-top:1px solid var(--line)}
.af-paylogos--footer{flex-basis:100%;display:flex;justify-content:center}

/* 2026-10-08 — kayıt formu izin metni (yalnız bu bileşen; formlar varsayılan kapalı). */
.af-signup-consent{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--mute)}
.af-signup-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* 2026-10-08 — Trade & Projects (page.php) — yalnız bu sayfanın öğeleri. */
.af-page-content .af-trade__h{font-size:28px;line-height:1.2;margin:48px 0 16px}
.af-page-content .af-trade__cta{margin:24px 0 16px}
.af-page-content .af-trade__cta .af-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 28px;text-decoration:none}
/* .af-btn site genelinde outline:none!important (yuvarlak hap sorunu, satır ~794); bu düğme köşeli —
   klavye odağı görünür kalsın. */
.af-page-content .af-trade__cta .af-btn:focus-visible{outline:1px solid var(--ink)!important;outline-offset:3px}


/* ==========================================================
   Editorial pagination (2026-10-11)
   Owner-supplied rules, mapped to site tokens (no new colours,
   48px touch targets, spacing on the 4/8/12/16 scale).
   ========================================================== */
.woocommerce-pagination ul.page-numbers {
    border: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
}
.woocommerce-pagination ul.page-numbers li {
    border: none !important;
    margin: 0 !important;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ink) !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease !important;
}
.woocommerce-pagination ul.page-numbers li span.current {
    background: var(--ink) !important;
    color: var(--bg) !important;
    border-color: var(--ink) !important;
}
.woocommerce-pagination ul.page-numbers li a:hover {
    background: var(--line-soft) !important;
    border-color: var(--ink) !important;
}

/* Footer payment badges — iyzico logo band (2026-10-12) */
.artefar-payment-badges {
    margin-top: 18px !important;
    display: inline-block !important;
}
.artefar-payment-badges img {
    height: 20px !important;
    width: auto !important;
    display: block !important;
    mix-blend-mode: multiply !important;
    opacity: 0.8 !important;
    transition: opacity 0.25s ease !important;
}
.artefar-payment-badges img:hover {
    opacity: 1 !important;
}
@media (max-width: 768px) {
    .artefar-payment-badges {
        margin-top: 14px !important;
        margin-bottom: 8px !important;
    }
    .artefar-payment-badges img {
        height: 18px !important;
    }
}

/* ==========================================================
   Checkout polish (2026-10-12): no white boxes or white AJAX
   veils on the paper background; iyzico copy on site type.
   Page checkout (.af-checkout) + drawer checkout (.afc-form).
   ========================================================== */
.af-checkout input.input-text,
.af-checkout select,
.af-checkout textarea,
.afc-form input.input-text,
.afc-form select,
.afc-form textarea,
.woocommerce-checkout #order_comments,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout .select2-dropdown {
    background: transparent !important;
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
}
.woocommerce-checkout .select2-dropdown { background: var(--bg) !important; }
.af-checkout input.input-text:focus,
.af-checkout select:focus,
.af-checkout textarea:focus,
.afc-form input.input-text:focus,
.afc-form select:focus,
.afc-form textarea:focus { border-color: var(--ink) !important; outline: none; }

.woocommerce-checkout #payment,
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row,
.woocommerce-checkout .payment_method_iyzico,
.woocommerce-checkout .payment_method_iyzico * {
    background: transparent !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout .payment_method_iyzico,
.woocommerce-checkout .payment_method_iyzico * {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment .payment_box p {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--mute) !important;
}
.woocommerce-checkout #payment ul.payment_methods > li > label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
    text-transform: none !important;
    color: var(--ink) !important;
}

/* AJAX veils (step changes, update_order_review): paper tint, not white. */
.woocommerce-checkout .blockUI.blockOverlay,
.afc-form .blockUI.blockOverlay,
.af-checkout .blockUI.blockOverlay {
    background: var(--bg) !important;
    opacity: .4 !important;
}
.woocommerce-checkout .blockUI.blockMsg { background: transparent !important; border: 0 !important; }

/* Type rhythm: Cormorant headings, Jakarta UI, one label size. */
.af-checkout h2, .af-checkout h3, .afc-form h2, .afc-form h3,
.woocommerce-checkout #order_review_heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 500 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout .form-row .description {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--mute) !important;
}
.woocommerce-checkout .form-row .description { display: block !important; margin-top: 8px; position: static !important; background: transparent !important; padding: 0 !important; }
.woocommerce-checkout .form-row .description::before { display: none !important; }

/* Plain checkboxes / radios. */
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0 8px 0 0;
    accent-color: var(--ink);
    vertical-align: middle;
    box-shadow: none;
}

/* ==========================================================
   Checkout step 2 + inline remove (2026-10-14)
   ========================================================== */
.af-shipping-methods{margin:0 0 24px}
.af-shipping-methods__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.af-shipping-methods__list li{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.af-shipping-methods__list label{margin:0!important;font-size:14px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;cursor:pointer;flex:1}
.af-shipping-methods__list input[type="radio"]{margin:0;accent-color:var(--ink)}
.af-shipping-methods__note{font-size:13px;color:var(--mute);margin:0}
.af-checkout__nav--pair{justify-content:flex-start;align-items:center}
.af-checkout .sticky-order-summary{position:sticky;top:88px;align-self:start}

.af-remove-item{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;margin-left:auto;padding:0;border:0;background:transparent;color:var(--mute);cursor:pointer;border-radius:0}
.af-remove-item:hover,.af-remove-item:focus-visible{color:var(--ink)}
.af-remove-item[aria-busy="true"]{cursor:progress}
.woocommerce-checkout-review-order-table tr.is-removing{opacity:.4}

/* Checkout form typography (2026-10-14): restrained sans labels, plain input
   text. Scoped to the WooCommerce checkout form (page + drawer); checkbox
   labels (terms, create account), shipping/payment method labels, headings
   and the order summary are untouched. Site sans = Plus Jakarta Sans. */
html body form.checkout.woocommerce-checkout .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--mute);
}
html body form.checkout.woocommerce-checkout .form-row .input-text::placeholder,
html body form.checkout.woocommerce-checkout .form-row textarea::placeholder {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: var(--mute);
    opacity: 1;
}
html body form.checkout.woocommerce-checkout .select2-container .select2-selection__rendered {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: normal;
    color: var(--ink);
}

/* ==========================================================
   Checkout mobile fit + drawer back button (2026-10-14)
   ========================================================== */
.afc-bar__back{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;line-height:1.2;flex:none;text-decoration:none}
.afc-bar__back [data-afc-back-label]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

@media (max-width:768px){
  /* clip, not hidden: no scroll container, so sticky elements keep working */
  body.woocommerce-checkout,
  body.woocommerce-checkout #page,
  body.woocommerce-checkout .site-content,
  body.woocommerce-checkout .af-checkout{max-width:100vw;overflow-x:clip}
  .af-checkout{width:100%;box-sizing:border-box;padding-inline:16px}
  .af-checkout__grid,.af-checkout__grid>*,.af-checkout__form,.af-step{min-width:0;max-width:100%}
  .af-checkout form.checkout .form-row,
  .af-checkout form.checkout .input-text,
  .af-checkout form.checkout select,
  .af-checkout form.checkout textarea,
  .af-checkout form.checkout .select2-container{width:100%!important;max-width:100%;box-sizing:border-box}
  .af-checkout .woocommerce-checkout-review-order-table{width:100%;table-layout:fixed}
  .af-checkout__stepper{margin-bottom:32px}
  .af-checkout__stepper li{min-width:0;gap:8px}
  .af-checkout__stepper li::after{margin-inline:8px;min-width:8px}
  .af-checkout__stepper li:not(.is-active) .af-checkout__label{display:none}
  .af-checkout__nav{flex-wrap:wrap}
  .af-checkout__nav .af-btn{padding:0 24px}
}
form.checkout .af-field-tckn--off{display:none!important}

/* ==========================================================
   /cart/ page — editorial two-column layout (2026-10-14)
   Core Woo cart.php markup is kept (cart.js swaps .woocommerce-cart-form
   and .cart_totals over AJAX); layout is CSS grid on the same elements.
   ========================================================== */
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,63fr) minmax(0,37fr);gap:0 48px;align-items:start}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > *{grid-column:1/-1;min-width:0}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form{grid-column:1}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals{grid-column:2;grid-row:span 3;position:sticky;top:88px;width:auto}
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart-collaterals .cross-sells{float:none;width:100%}

/* Table rows as one grid: [thumb + info] | price | qty | subtotal | remove */
body.woocommerce-cart table.shop_table.cart{border:0;border-collapse:collapse;background:transparent;margin:0}
body.woocommerce-cart table.shop_table.cart thead,
body.woocommerce-cart table.shop_table.cart tbody{display:block}
body.woocommerce-cart table.shop_table.cart thead tr,
body.woocommerce-cart table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:80px minmax(0,1fr) 112px 128px 112px 48px;grid-template-areas:"thumb name price qty sub rm";align-items:center;gap:0 16px;border-bottom:1px solid var(--line);background:transparent}
body.woocommerce-cart table.shop_table.cart thead th{background:transparent;border:0;padding:12px 0;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
body.woocommerce-cart table.shop_table.cart thead th.product-thumbnail{display:none}
body.woocommerce-cart table.shop_table.cart thead th.product-name{grid-column:1/3}
body.woocommerce-cart table.shop_table.cart td{border:0;padding:16px 0;background:transparent}
body.woocommerce-cart table.shop_table.cart .product-remove{grid-area:rm;text-align:right}
body.woocommerce-cart table.shop_table.cart td.product-thumbnail{grid-area:thumb}
body.woocommerce-cart table.shop_table.cart td.product-name{grid-area:name}
body.woocommerce-cart table.shop_table.cart td.product-price{grid-area:price}
body.woocommerce-cart table.shop_table.cart td.product-quantity{grid-area:qty}
body.woocommerce-cart table.shop_table.cart td.product-subtotal{grid-area:sub;text-align:right}
body.woocommerce-cart table.shop_table.cart thead th.product-price{grid-column:3}
body.woocommerce-cart table.shop_table.cart thead th.product-quantity{grid-column:4}
body.woocommerce-cart table.shop_table.cart thead th.product-subtotal{grid-column:5;text-align:right}
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{width:80px;height:auto;display:block}
body.woocommerce-cart table.shop_table.cart td.product-name a{font-family:var(--af-font-text);font-size:var(--af-fs-body);line-height:1.3;color:var(--ink);text-decoration:none;font-weight:500}
body.woocommerce-cart table.shop_table.cart td.product-name dl.variation{margin:4px 0 0;font-size:13px;color:var(--mute)}
body.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt,
body.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd{display:inline;margin:0}
body.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p{display:inline;margin:0}
body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:20px;font-weight:400;line-height:1;color:var(--mute)!important;background:transparent!important;border-radius:0}
body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover{color:var(--ink)!important}

/* Quantity: - 1 + */
body.woocommerce-cart .woocommerce-cart-form .quantity{display:inline-flex;align-items:stretch;border:1px solid var(--line);height:48px}
body.woocommerce-cart .woocommerce-cart-form .quantity .qty{width:40px;height:46px;border:0;background:transparent;text-align:center;font-size:14px;color:var(--ink);padding:0;-moz-appearance:textfield;appearance:textfield}
body.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.woocommerce-cart .af-qty-btn{width:36px;min-height:46px;border:0;background:transparent;color:var(--ink);font-size:16px;line-height:1;cursor:pointer;padding:0;border-radius:0}
body.woocommerce-cart .af-qty-btn:disabled{color:var(--mute);cursor:default}

/* Actions row: coupon on one hairline; Update cart kept for cart.js, auto-triggered */
body.woocommerce-cart table.shop_table.cart tr:not(.cart_item){display:block}
body.woocommerce-cart table.shop_table.cart td.actions{display:block;padding:24px 0 0;border:0}
body.woocommerce-cart .woocommerce-cart-form .coupon{display:flex;align-items:stretch;max-width:420px;border:1px solid var(--line);float:none}
body.woocommerce-cart .woocommerce-cart-form .coupon .input-text{flex:1;min-width:0;height:48px;border:0!important;background:transparent;padding:0 16px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0}
html body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]{height:48px;padding:0 20px;margin:0;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;font-size:11px;font-weight:500;letter-spacing:.14em}
html body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:hover{background:var(--line-soft)!important;opacity:1}
html body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}

/* Cart totals card */
body.woocommerce-cart .cart_totals{border:1px solid var(--line);background:transparent!important;padding:24px}
body.woocommerce-cart .cart_totals h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:var(--af-fs-h3);margin:0 0 16px;letter-spacing:var(--af-track-display)}
body.woocommerce-cart .cart_totals table.shop_table{border:0;background:transparent}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
body.woocommerce-cart .cart_totals table.shop_table th{font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--mute)}
body.woocommerce-cart .cart_totals table.shop_table td{text-align:right;color:var(--ink)}
body.woocommerce-cart .cart_totals .order-total td{font-size:16px;font-weight:500}
body.woocommerce-cart .wc-proceed-to-checkout{padding:24px 0 0}
html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex!important;width:100%;margin:0;height:56px;border-radius:0!important}

@media (max-width:900px){
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form){grid-template-columns:1fr;gap:32px}
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals{grid-column:1;grid-row:auto;position:static}
}
@media (max-width:768px){
  body.woocommerce-cart table.shop_table.cart thead{display:none}
  body.woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:72px minmax(0,1fr) 48px;grid-template-areas:"thumb name rm" "thumb qty sub";gap:8px 16px;padding:16px 0}
  body.woocommerce-cart table.shop_table.cart tr.cart_item td{display:block;padding:0;text-align:left}
  body.woocommerce-cart table.shop_table.cart tr.cart_item td::before{display:none}
  body.woocommerce-cart table.shop_table.cart td.product-price{display:none!important}
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail{display:block!important}
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{width:72px}
  body.woocommerce-cart table.shop_table.cart td.product-subtotal{text-align:right;align-self:center}
  body.woocommerce-cart .woocommerce-cart-form .coupon{max-width:none}
}
/* cart page fixes after visual check */
html body.woocommerce-cart .woocommerce table.shop_table.cart thead,
html body.woocommerce-cart .woocommerce table.shop_table.cart thead tr,
html body.woocommerce-cart .woocommerce table.shop_table.cart thead th,
html body.woocommerce-cart .woocommerce .cart_totals > h2,
html body.woocommerce-cart .woocommerce .cart_totals table,
html body.woocommerce-cart .woocommerce .cart_totals tr{background:transparent!important}
html body.woocommerce-cart .woocommerce table.shop_table.cart thead tr{display:grid!important}
html body.woocommerce-cart .woocommerce table.shop_table.cart thead th{display:block}
html body.woocommerce-cart .woocommerce .cart_totals > h2{border:0!important;padding:0!important}
body.woocommerce-cart .woocommerce-cart-form .coupon{width:100%}
html body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]{white-space:nowrap;flex:none}
@media (max-width:768px){
  html body.woocommerce-cart .woocommerce table.shop_table.cart thead{display:none!important}
  html body.woocommerce-cart table.shop_table.cart tr.cart_item td{text-align:left!important}
  html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal,
  html body.woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove{text-align:right!important}
  html body.woocommerce-cart .cart_totals table.shop_table_responsive tr{display:table-row}
  html body.woocommerce-cart .cart_totals table.shop_table_responsive th{display:table-cell!important}
  html body.woocommerce-cart .cart_totals table.shop_table_responsive td{display:table-cell!important;text-align:right!important}
  html body.woocommerce-cart .cart_totals table.shop_table_responsive td::before{display:none!important}
}

/* ==========================================================
   Checkout payment step polish (2026-10-14)
   ========================================================== */
/* Payment methods as hairline cards */
html body form.checkout #payment ul.payment_methods{border:0!important;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}
html body form.checkout #payment ul.payment_methods > li.wc_payment_method{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:0 12px;margin:0;padding:12px 16px;min-height:48px;border:1px solid var(--line)!important;cursor:pointer}
html body form.checkout #payment ul.payment_methods > li.wc_payment_method:has(input:checked){border-color:var(--ink)!important}
html body form.checkout #payment ul.payment_methods > li > input[type="radio"]{grid-column:1;margin:0}
html body form.checkout #payment ul.payment_methods > li > label{grid-column:2;display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0!important;cursor:pointer}
html body form.checkout #payment ul.payment_methods > li > label img{max-height:20px!important;width:auto!important;max-width:100%;object-fit:contain;margin:0!important;display:inline-block;vertical-align:middle}
html body form.checkout #payment ul.payment_methods > li .payment_box{grid-column:1/-1;margin:8px 0 0!important;padding:0!important}
html body form.checkout #payment ul.payment_methods > li .payment_box p{font-size:12px!important;line-height:1.5!important;color:var(--mute)!important;margin:0}
/* Logo band under the payment step: removed here; the footer band carries it site-wide */
.af-checkout .af-paylogos--checkout,
.afc-form .af-paylogos--checkout{display:none}
/* Privacy text pushed back (mute colour, not opacity: site text must stay ≥4.5:1) */
html body form.checkout .woocommerce-privacy-policy-text,
html body form.checkout .woocommerce-privacy-policy-text p{font-size:11px!important;line-height:1.4!important;color:var(--mute)!important;margin:16px 0 0!important}

@media (max-width:768px){
  /* Compact review rows: thumb | title + qty | price × */
  .af-checkout .woocommerce-checkout-review-order-table thead{display:none}
  .af-checkout .woocommerce-checkout-review-order-table tr.cart_item{display:flex;align-items:center;position:relative;padding:12px 48px 12px 0;border-bottom:1px solid var(--line)}
  .af-checkout .woocommerce-checkout-review-order-table tr.cart_item td{padding:0!important;border:0!important}
  .af-checkout .woocommerce-checkout-review-order-table tr.cart_item td.product-name{flex:1;min-width:0}
  .af-checkout .woocommerce-checkout-review-order-table tr.cart_item td.product-total{flex:none;white-space:nowrap;font-size:14px}
  .af-checkout .woocommerce-checkout-review-order-table .afc-item{align-items:center;gap:12px}
  .af-checkout .woocommerce-checkout-review-order-table .afc-item__thumb,
  .af-checkout .woocommerce-checkout-review-order-table .afc-item__thumb img{width:48px!important;height:48px!important;object-fit:cover;flex:none}
  .af-checkout .woocommerce-checkout-review-order-table .afc-item__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;font-size:16px;line-height:1.3}
  .af-checkout .woocommerce-checkout-review-order-table .afc-item__meta{font-size:12px;color:var(--mute)}
  .af-checkout .woocommerce-checkout-review-order-table .af-remove-item{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0}
  /* Subtotal / total as one tight block */
  .af-checkout .woocommerce-checkout-review-order-table tfoot{display:block;padding:8px 0;border-bottom:1px solid var(--line)}
  .af-checkout .woocommerce-checkout-review-order-table tfoot tr{display:flex;justify-content:space-between;align-items:baseline}
  .af-checkout .woocommerce-checkout-review-order-table tfoot th,
  .af-checkout .woocommerce-checkout-review-order-table tfoot td{padding:8px 0!important;border:0!important}
  .af-checkout .woocommerce-checkout-review-order-table tbody{display:block}
  .af-checkout .woocommerce-checkout-review-order-table{display:block;margin:0 0 24px}
}

/* Checkout grid: fixed summary column (60% + 40% + 48px gap overflowed the
   container by 48px) and the shipping step contained in the left column. */
.af-checkout__grid{grid-template-columns:minmax(0,1fr) 380px;gap:48px}
.af-checkout__grid>*{min-width:0}
.af-checkout__nav{display:flex;align-items:center;gap:16px;margin-top:32px;max-width:100%;flex-wrap:wrap}
.af-checkout__nav--pair{justify-content:flex-start}
.af-checkout .af-shipping-methods__note{border:1px solid var(--line);padding:16px;font-size:14px;color:var(--mute)}
@media(max-width:900px){.af-checkout__grid{grid-template-columns:1fr}}

/* ==========================================================
   Mobile form hardening (2026-10-14)
   ========================================================== */
/* iOS Safari zooms into any field under 16px */
@media screen and (max-width:768px){
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  html body .woocommerce input.input-text,
  html body form.checkout input.input-text,
  html body form.checkout select,
  html body form.checkout textarea,
  .select2-container .select2-search__field{font-size:16px!important}
  /* clip, not hidden: no scroll container, sticky header keeps working */
  html:has(body.woocommerce-checkout),
  body.woocommerce-checkout{max-width:100%;overflow-x:clip}
}

/* Autofill: keep the paper tone instead of the browser's yellow/blue */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #D9D4C6 inset!important;
  box-shadow:0 0 0 1000px #D9D4C6 inset!important;
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--ink);
  transition:background-color 5000s ease-in-out 0s;
}

/* Select2 (country / province): paper dropdown, hairline, roomy options */
html body .select2-container .select2-dropdown{background:#D9D4C6!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}
html body .select2-container .select2-search--dropdown{padding:8px}
html body .select2-container .select2-search--dropdown .select2-search__field{background:transparent;border:1px solid var(--line);border-radius:0;padding:8px 12px;color:var(--ink)}
html body .select2-container--default .select2-results__option{padding:12px 14px;font-size:15px;line-height:1.3;color:var(--ink);background:transparent}
html body .select2-container--default .select2-results__option[aria-selected="true"],
html body .select2-container--default .select2-results__option--selected{background:var(--line)!important;color:var(--ink)!important}
html body .select2-container--default .select2-results__option--highlighted[aria-selected],
html body .select2-container--default .select2-results__option--highlighted{background:var(--ink)!important;color:var(--bg)!important}

/* Notices: no leading dash / icon, no text-indent */
.woocommerce-error::before,.woocommerce-message::before,.woocommerce-info::before,
.woocommerce-error::after,.woocommerce-message::after,.woocommerce-info::after{content:none!important;display:none!important}
.woocommerce-error,.woocommerce-message,.woocommerce-info{text-indent:0!important;padding-left:24px!important}

/* ==========================================================
   Notices + required marks (2026-10-14)
   ========================================================== */
/* Required: visible star on every required checkout field (page + drawer) */
html body form.checkout .form-row label .required,
html body .woocommerce-checkout .form-row label .required{display:inline!important;color:var(--af10-clay,#74391F)!important;font-weight:400;margin-left:3px;text-decoration:none;border:0}
html body form.checkout .form-row label .optional{text-transform:none;letter-spacing:0;font-weight:400;color:var(--mute)}

/* Notice boxes: contained, text left / action right */
html body .woocommerce-error,
html body .woocommerce-message,
html body .woocommerce-info{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 16px;box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;padding:14px 18px!important;border-radius:0;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0;text-transform:none;font-family:'Plus Jakarta Sans',sans-serif}
html body .woocommerce-error{border:1px solid rgba(116,57,31,.35)!important;color:var(--af10-clay,#74391F)}
html body ul.woocommerce-error{flex-direction:column;align-items:stretch}
html body ul.woocommerce-error li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;color:var(--af10-clay,#74391F)}
html body .woocommerce-error .button,
html body .woocommerce-message .button,
html body .woocommerce-info .button,
html body .woocommerce-error a.wc-forward,
html body .woocommerce-message a.wc-forward,
html body .woocommerce-info a.wc-forward{order:2;margin-left:auto!important;align-self:center;white-space:nowrap;flex:none;float:none!important;height:auto!important;min-height:36px;padding:6px 14px!important;font-size:11px!important;letter-spacing:.05em!important}
/* A notice already offers "View cart": drop Woo's extra link next to the add button */
body:has(.woocommerce-message a.wc-forward) a.added_to_cart.wc-forward,
body:has(.woocommerce-error a.wc-forward) a.added_to_cart.wc-forward{display:none!important}

/* ==========================================================
   Order pay (iyzico) page (2026-10-14)
   ========================================================== */
body.woocommerce-order-pay .woocommerce{max-width:880px;margin:0 auto}
body.woocommerce-order-pay ul.order_details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 32px;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.woocommerce-order-pay ul.order_details::before,
body.woocommerce-order-pay ul.order_details::after{display:none}
body.woocommerce-order-pay ul.order_details li{float:none;margin:0;padding:16px;border:0;border-left:1px solid var(--line);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--mute)}
body.woocommerce-order-pay ul.order_details li:first-child{border-left:0;padding-left:0}
body.woocommerce-order-pay ul.order_details li strong{display:block;margin-top:8px;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);font-variant-numeric:tabular-nums}
body.woocommerce-order-pay #infoBox{max-width:520px;margin:0 auto 16px;font-size:12px;line-height:1.5;color:var(--mute);text-align:center}
body.woocommerce-order-pay #iyzipay-checkout-form.responsive{max-width:520px;margin:0 auto;border:1px solid var(--line);border-radius:0;box-shadow:none;overflow:hidden}
body.woocommerce-order-pay #loadingBar{max-width:520px;margin:0 auto}
@media (max-width:640px){
  body.woocommerce-order-pay ul.order_details{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.woocommerce-order-pay ul.order_details li:nth-child(3){border-left:0;padding-left:0}
  body.woocommerce-order-pay ul.order_details li:nth-child(n+3){border-top:1px solid var(--line)}
}

/* iyzico popup trigger ("Open payment form") — site pill button, centred (2026-10-14).
   The button is injected by iyzico's own script inside #iyzipay-checkout-form. */
body.woocommerce-order-pay #infoBox{text-align:center;margin-left:auto;margin-right:auto}
body.woocommerce-order-pay #iyzipay-checkout-form.popup{display:flex!important;justify-content:center;align-items:center;width:100%;margin:32px auto 64px;text-align:center}
body.woocommerce-order-pay #iyzipay-checkout-form.popup[style*="display:none"],
body.woocommerce-order-pay #iyzipay-checkout-form.popup[style*="display: none"]{display:none!important}
body.woocommerce-order-pay #iyzipay-checkout-form.popup button,
body.woocommerce-order-pay #iyzipay-checkout-form.popup a,
body.woocommerce-order-pay #iyzipay-checkout-form.popup input[type="button"],
body.woocommerce-order-pay #iyzipay-checkout-form.popup input[type="submit"]{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;
  background:var(--ink)!important;background-image:none!important;color:var(--bg)!important;
  border:1px solid var(--ink)!important;border-radius:999px!important;box-shadow:none!important;
  font-family:'Plus Jakarta Sans',sans-serif!important;font-size:13px!important;font-weight:500!important;
  letter-spacing:.1em!important;text-transform:uppercase!important;text-decoration:none!important;
  padding:16px 36px!important;cursor:pointer;transition:opacity .25s ease!important;width:auto!important
}
body.woocommerce-order-pay #iyzipay-checkout-form.popup button:hover,
body.woocommerce-order-pay #iyzipay-checkout-form.popup a:hover,
body.woocommerce-order-pay #iyzipay-checkout-form.popup input[type="button"]:hover,
body.woocommerce-order-pay #iyzipay-checkout-form.popup input[type="submit"]:hover{opacity:.85}

/* Legal documents list: title + View · PDF · other language (2026-10-15) */
.af-legal-links__title{display:block;margin:0 0 4px;color:var(--ink)}
.af-legal-links li a{display:inline-flex;align-items:center;min-height:32px}

/* ==========================================================================
   Ürün arama (2026-10-18) — başlık paneli + arşiv formu (inc/search.php, assets/artefar.js).
   Yalnız mevcut renkler (--bg, --ink, --mute, --line), köşe yok, gölge yok, 1px hairline, 48px hedef.
   ========================================================================== */
html.af-search-lock, html.af-search-lock body{overflow:hidden}
.af-search{position:fixed;inset:0;z-index:999997;display:none;background:rgba(17,17,17,.55);backdrop-filter:blur(8px)}
.af-search[data-open="1"]{display:block}
.af-search__in{background:var(--bg);border-bottom:1px solid var(--line);max-height:100%;overflow:auto;padding:24px clamp(16px,4vw,48px) 32px;padding-top:calc(24px + var(--wp-admin--admin-bar--height,0px))}
.af-search__in > *{max-width:960px;margin-inline:auto}
.af-search__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.af-search__kicker{font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
html body .af-search__close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
html body .af-search__close:hover{border-color:var(--ink);background:transparent;color:var(--ink)}

.af-search-form{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ink);min-height:56px}
.af-search-form__icon{flex:none;color:var(--mute)}
.af-search-form__input{flex:1 1 auto;min-width:0;height:56px;border:0;border-radius:0;background:transparent;color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:var(--af-fs-h3);font-weight:400;padding:0;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none;letter-spacing:var(--af-track-display)}
.af-search-form__input::placeholder{color:var(--mute);opacity:1}
.af-search-form__input::-webkit-search-cancel-button{-webkit-appearance:none}
.af-search-form__scope{flex:none;height:48px;max-width:40%;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:0 8px 0 16px;cursor:pointer}
html body .af-search-form__submit{flex:none;height:48px;padding:0 20px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--bg);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
html body .af-search-form__submit:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.af-search-form__input:focus-visible{outline:none}
.af-search-form:focus-within{border-bottom-color:var(--ink)}
.af-search-form__scope:focus-visible,html body .af-search-form__submit:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.af-search-form--panel .af-search-form__submit{display:none}

.af-search__status{margin:16px auto 0;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;line-height:1.5;color:var(--mute);min-height:18px}
.af-search__results{list-style:none;padding:0;margin:8px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.af-search__results li{margin:0;border-bottom:1px solid var(--line-soft)}
.af-search__item{display:flex;align-items:center;gap:16px;padding:12px 0;min-height:48px;color:var(--ink);text-decoration:none}
.af-search__item img,.af-search__ph{flex:none;width:64px;height:64px;object-fit:cover;background:var(--line-soft)}
.af-search__txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.af-search__title{font-family:var(--af-font-text);font-size:var(--af-fs-body);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500}
.af-search__meta{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;color:var(--mute)}
.af-search__item:hover .af-search__title{text-decoration:underline;text-underline-offset:3px}
.af-search__all{display:flex;align-items:center;min-height:48px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.af-search__results li:has(.af-search__all){grid-column:1/-1;border-bottom:0}

/* Arşiv sayfalarındaki form (Shop, koleksiyon, sonuçlar) — sekmelerin altında. */
.af-shopcat__search{margin-top:24px}
.af-search-form--archive .af-search-form__input{font-family:var(--af-font-text);font-size:var(--af-fs-body);height:48px}

@media (max-width:640px){
  .af-search__results{grid-template-columns:1fr}
  .af-search-form{flex-wrap:wrap;gap:0 12px}
  .af-search-form__input{flex-basis:calc(100% - 28px)}
  .af-search-form__scope{order:3;flex:1 1 auto;max-width:none;border-left:0;border-top:1px solid var(--line-soft);padding-left:0}
  .af-search-form--archive .af-search-form__submit{order:4;margin:8px 0}
  .af-search-form--archive{border-bottom:0}
  .af-search-form--archive .af-search-form__input{border-bottom:1px solid var(--ink)}
}

/* Mobil menüde arama satırı (başlıkta ikona yer yok). */
html body .af-menu__search{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin-top:16px;padding:0 0 0 2px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--mute);font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;text-align:left;cursor:pointer}
html body .af-menu__search:hover{background:transparent;color:var(--ink)}

/* Genel input/select/button stilleri (Astra + tema) arama formunu eziyordu — burada daha özgül. */
html body .af-search-form input.af-search-form__input{height:56px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:var(--af-fs-h3);letter-spacing:0}
html body .af-search-form--archive input.af-search-form__input{height:48px;font-family:var(--af-font-text);font-size:var(--af-fs-body)}
html body .af-search-form select.af-search-form__scope{width:auto;height:48px;margin:0;padding:0 28px 0 16px;border:0;border-left:1px solid var(--line);border-radius:0;background-color:transparent;box-shadow:none;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
html body .af-search-form--panel .af-search-form__submit{display:none}
@media (max-width:640px){
  html body .af-search-form select.af-search-form__scope{flex:1 1 100%;border-left:0;border-top:1px solid var(--line-soft);padding-left:0}
  html body .af-search-form--archive .af-search-form__submit{flex:1 1 100%;margin:8px 0 0}
}

/* Instagram (2026-10-19) — footer stüdyo sütunu ve mobil menü. Editoryal satır: 40px halka içinde glif,
   küçük harf aralıklı başlık + kullanıcı adı, ↗. Renk mevcut metin rengini izler (footer'da --ink, menüde --ink). */
.af-social{display:inline-flex;align-items:center;gap:12px;min-height:48px;margin-top:16px;color:inherit;text-decoration:none}
.af-social__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;transition:background-color 220ms var(--af-ease),color 220ms var(--af-ease)}
.af-social__txt{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.af-social__kicker{font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:1}
.af-social__handle{font-family:var(--af-font-text);font-size:var(--af-fs-body);font-weight:400}
.af-social__arrow{font-size:12px;transform:translateY(-6px)}
html body .af-social:hover{color:inherit}
html body .af-social:hover .af-social__icon{background:var(--ink);color:var(--bg);border-color:var(--ink)}
html body .af-social:hover .af-social__handle{text-decoration:underline;text-underline-offset:3px}
.af-social:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.af-social--menu{flex:none;margin-top:24px;color:var(--ink)}
/* Footer link stili (büyük harf + geniş aralık) kullanıcı adını da büyütüyordu. */
html body .af-footer a.af-social{text-transform:none;letter-spacing:0}
html body .af-footer .af-social__handle{text-transform:none;letter-spacing:.01em;font-size:18px}
html body .af-footer .af-social__kicker{letter-spacing:.2em}

/* Ürün sayfası — Etsy mağaza yorumları bloğu (2026-10-19, inc/reviews.php). Eski palet (--ink/--mute/--line). */
.af-etsy-block{ margin-top:32px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:16px; }
.af-etsy-block__kicker{ font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.af-etsy-block .af-etsy-summary{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0; font-size:13px; color:var(--ink); }
.af-etsy-block .af-etsy-summary a{ color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.af-etsy-block .af-stars{ display:inline-flex; gap:2px; color:var(--ink); }
.af-etsy-block .af-review{ margin:0; padding:16px 0 0; border-top:1px solid var(--line-soft); display:flex; flex-direction:column; gap:10px; }
.af-etsy-block .af-review__text{ margin:0; padding:0; border:0; }
.af-etsy-block .af-review__text p{ margin:0; font-family:'Cormorant Garamond',serif; font-size:18px; line-height:1.4; color:var(--ink);font-style:italic;font-weight:400}
.af-etsy-block .af-review__text p::before{ content:"\201C"; }
.af-etsy-block .af-review__text p::after{ content:"\201D"; }
.af-etsy-block .af-review__by{ display:flex; gap:8px; flex-wrap:wrap; align-items:baseline; }
.af-etsy-block .af-review__name{ font-size:12px; font-weight:500; color:var(--ink); }
.af-etsy-block .af-review__meta{ font-size:11px; color:var(--mute); }

.af-etsy-block .af-review__meta a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.af-etsy-block .af-review__translation{ margin:0; font-size:12px; line-height:1.5; color:var(--mute); }
.af-etsy-block .af-review__translation span{ font-size:10px; letter-spacing:.12em; text-transform:uppercase; margin-right:6px; }

/* 2026-10-20 (site sahibi): mobilde SAVED + hesap + CART metinleri sağ sütunu logodan geniş yapıyor,
   1fr/auto/1fr ızgarasında ARTEFAR sola kayıyordu. ≤768px: Saved / hesap / Cart yalnız ikon, sabit
   44px genişlik × 48px yükseklik (üçü 375px ekranda logonun yanına sığsın); sayaç ikonun köşesinde
   küçük rakam, genişliği değiştirmez. Adlar ekran okuyucuda kalır. Yan sütunlar minmax(0,1fr) — logo tam ortada. */
@media (max-width:768px){
  .af-header__in{ grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); padding-inline:8px; gap:4px; }
  .af-tools{ gap:0; }
  .af-tools .af-icon--profile, .af-tools .af-cart{ width:44px; min-width:44px; height:48px; justify-content:center; gap:0; padding:0; }
  .af-tools .af-cart .af-cart-count{ position:absolute; top:9px; right:4px; font-size:9px; letter-spacing:0; line-height:1; }
  .af-cart__label{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
}

/* 2026-10-20: footer — sütunların alt çizgisi ile alt şeridin üst çizgisi arasında 88px boş bant
   (iki hairline) kalıyordu; tek hairline, logo/çerez/telif doğrudan altında. */
.af-footer__bottom{ margin-top:0; border-top:0; padding-top:48px; }
@media (max-width:768px){
  .af-footer__bottom{ padding-top:40px; }
  .af-footer .af-social{ margin-top:16px; }
  .af-footer .af-social__arrow{ align-self:flex-start; margin-top:8px; transform:none; }
}
/* 2026-10-20: 375px altı ekranlarda (ör. 360px Android) üç ikonla logo arasında boşluk kalsın. */
@media (max-width:374px){
  .af-logo, .af10-header .af-header__in > .af-logo{ font-size:13px; letter-spacing:.14em; }
}

/* 2026-10-20 (site sahibi): katalogda ızgara seçimi — 1 / 2 / 3 sütun (1100 px altı; üstünde katalog zaten 3 sütun).
   Varsayılan değişmedi (640 px altı 1, üstü 2); seçim <html data-af-cols> ile, yalnız katalog ızgarasına (.af-catalog). */
.af-view{display:flex;align-items:center;justify-content:flex-end;gap:0;margin:0 auto -16px;max-width:1560px;padding-inline:20px}
.af-view__label{margin-right:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
html body .af-view .af-view__btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--mute);cursor:pointer;position:relative}
html body .af-view .af-view__btn[aria-pressed="true"]{color:var(--ink)}
html body .af-view .af-view__btn[aria-pressed="true"]::after{content:'';position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:var(--ink)}
html body .af-view .af-view__btn:is(:hover,:focus,:active){background:transparent;box-shadow:none}
html body .af-view .af-view__btn:focus-visible{outline:1px solid var(--ink);outline-offset:-6px}
@media(min-width:640px){.af-view{padding-inline:64px}}
@media(min-width:1100px){.af-view{display:none}}
@media(max-width:1099px){
  html[data-af-cols="1"] .af-catalog ul.products{grid-template-columns:minmax(0,1fr)!important}
  html[data-af-cols="2"] .af-catalog ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html[data-af-cols="3"] .af-catalog ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
/* Dar ekranda 2 ve 3 sütun: boşluklar ve kart metni küçülür, başlık 2 satıra kadar sarar, fiyat başlığın altına iner. */
@media(max-width:639px){
  html[data-af-cols="2"] .af-catalog ul.products{gap:48px 16px!important;padding-inline:16px!important}
  html[data-af-cols="3"] .af-catalog ul.products{gap:32px 8px!important;padding-inline:12px!important}
  .af-view{padding-inline:12px}
}
@media(max-width:1099px){
  html[data-af-cols="3"] .af-catalog ul.products{gap:40px 12px!important}
  html:is([data-af-cols="2"],[data-af-cols="3"]) .af-catalog .artefar-card-row{flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}
  html:is([data-af-cols="2"],[data-af-cols="3"]) .af-catalog li.product .artefar-card-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px!important;line-height:1.2}
  html:is([data-af-cols="2"],[data-af-cols="3"]) .af-catalog .artefar-card-info{padding-top:8px}
  html[data-af-cols="3"] .af-catalog li.product .artefar-card-title{font-size:14px!important}
  html[data-af-cols="3"] .af-catalog li.product .artefar-card-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:4px}
  html[data-af-cols="3"] .af-catalog li.product :is(.artefar-card-price,.artefar-card-price .price){font-size:11px!important}
  html[data-af-cols="3"] .af-catalog .artefar-card-save__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html[data-af-cols="3"] .af-catalog .artefar-card-artist{font-size:8px;letter-spacing:.12em}
}
@media(max-width:639px){ html[data-af-cols="3"] .af-catalog ul.products{gap:32px 8px!important} }

/* 2026-10-20 (site sahibi): sayfa numaraları hizasız — ul'deki clearfix ::before/::after flex öğesi sayılıp
   ilk kareyi 8px (gap) sağa itiyordu; alt satır 8px solda başlıyordu. Ayrıca 1px sol margin sıfırlandı. */
.woocommerce-pagination ul.page-numbers{ margin:0 !important; padding:0 !important; }
.woocommerce-pagination ul.page-numbers::before,
.woocommerce-pagination ul.page-numbers::after{ content:none !important; display:none !important; }
/* 2026-10-20 (site sahibi): sayfa numaraları sayfada ortalı (sarınca alt satır da ortada). */
.woocommerce-pagination{ text-align:center; }
.woocommerce-pagination ul.page-numbers{ justify-content:center !important; margin-inline:auto !important; }

/* ==========================================================================
   2026-11-02 — ABD odaklı B2B/CRO: üst duyuru bandı + Trade & Hospitality sayfası.
   Sitenin tasarım sistemi: Cormorant (≥28px başlık), Plus Jakarta (metin), JetBrains Mono
   (etiket); --af10-* renkleri; 1px hairline; köşe/gölge yok; 8px ritim.
   ========================================================================== */
.af-topbar{position:relative;z-index:41;background:var(--af10-paper-deep-veil,rgba(23,12,11,.04));border-bottom:1px solid var(--af10-line,rgba(21,20,18,.14));padding:8px var(--af10-gutter,24px)}
.af-topbar__in{font-family:var(--af10-font-mono,'JetBrains Mono',monospace);font-size:var(--af-fs-label,10px);letter-spacing:var(--af-ls-label,.18em);text-transform:uppercase;color:#4A463F;text-align:center;line-height:1.6;font-variant-numeric:tabular-nums}
@media(max-width:600px){.af-topbar__in{letter-spacing:.12em}}

.af-trade{padding:0 var(--af10-gutter,24px) var(--af-section-gap,96px);color:var(--af10-body)}
.af-trade-hero{padding:96px 0 56px;border-bottom:1px solid var(--af10-line)}
.af-trade-hero__tag{display:block;margin-bottom:16px;font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:var(--af-ls-label);text-transform:uppercase;color:var(--af10-clay);font-variant-numeric:tabular-nums}
html body .af-trade-hero h1{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h2);line-height:1.04;letter-spacing:var(--af-track-display);max-width:16ch;margin:0 0 24px;color:var(--af10-ink);text-wrap:balance}
.af-trade-hero p{font-size:var(--af-fs-body);line-height:var(--af-lh-body);max-width:56ch;margin:0 0 32px}
.af-trade-hero__cta span{display:inline-block;margin-left:8px;transition:transform var(--af-dur-hover,200ms) var(--af-ease)}
.af-trade-hero__cta:hover span{transform:translateX(4px)}

.af-trade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--af10-line);margin-top:48px}
.af-trade-cell{display:flex;flex-direction:column;gap:16px;padding:32px 24px;border-top:1px solid var(--af10-line);border-right:1px solid var(--af10-line);border-bottom:1px solid var(--af10-line)}
.af-trade-cell__num{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--af10-clay);font-variant-numeric:tabular-nums}
html body .af-trade-cell h2{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h3);line-height:1.1;letter-spacing:var(--af-track-display);margin:0;color:var(--af10-ink)}
.af-trade-cell p{font-size:var(--af-fs-small);line-height:1.65;margin:0}
@media(max-width:1023px){.af-trade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.af-trade-grid{grid-template-columns:1fr}}

.af-trade-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-top:72px}
@media(max-width:899px){.af-trade-split{grid-template-columns:1fr;gap:48px}}
.af-trade-sectors{display:flex;flex-direction:column;gap:24px}
html body .af-trade-sectors__h{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h3);line-height:1.1;letter-spacing:var(--af-track-display);margin:0;color:var(--af10-ink)}
.af-trade-sector{padding-bottom:24px;border-bottom:1px solid var(--af10-line)}
.af-trade-sector:last-child{border-bottom:0}
html body .af-trade-sector h3{font-family:var(--af-font-text);font-weight:500;font-size:var(--af-fs-body);letter-spacing:0;margin:0 0 8px;color:var(--af10-ink)}
.af-trade-sector p{font-size:var(--af-fs-small);line-height:1.65;margin:0}

.af-trade-form{align-self:start;display:flex;flex-direction:column;gap:16px;padding:clamp(24px,3.5vw,48px);border:1px solid var(--af10-line);background:var(--af10-paper-deep-veil);scroll-margin-top:calc(var(--wp-admin--admin-bar--height,0px) + 96px)}
html body .af-trade-form h2{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h3);letter-spacing:var(--af-track-display);margin:0;color:var(--af10-ink)}
.af-trade-form__desc{font-size:var(--af-fs-small);line-height:1.6;margin:0 0 8px;color:var(--af10-body)}
.af-trade-form form{display:flex;flex-direction:column;gap:16px}
.af-form-group{display:flex;flex-direction:column;gap:8px}
.af-form-group label{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:.16em;text-transform:uppercase;color:#4A463F}
html body .af-trade-form input,html body .af-trade-form select,html body .af-trade-form textarea{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--af10-line);border-radius:0;background:#D9D4C6;color:var(--af10-ink);font-family:var(--af-font-text);font-size:var(--af-fs-body);box-shadow:none;transition:border-color var(--af-dur-hover,200ms) var(--af-ease)}
html body .af-trade-form input:focus,html body .af-trade-form select:focus,html body .af-trade-form textarea:focus{border-color:var(--af10-ink);outline:1px solid var(--af10-ink);outline-offset:0}
.af-trade-form button{align-self:flex-start;margin-top:8px}
.af-trade-form__fine{font-size:var(--af-fs-small);line-height:1.6;color:#4A463F;margin:0}
.af-trade-form__fine a{text-decoration:underline;text-underline-offset:3px}
.af-trade-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.af-trade-note{padding:16px;border:1px solid var(--af10-ink);font-family:var(--af10-font-mono);font-size:var(--af-fs-small);letter-spacing:.04em;line-height:1.6;color:var(--af10-ink)}
.af-trade-note--error{border-color:var(--af10-clay);color:var(--af10-clay)}

/* ==========================================================================
   FAQ — Studio & Curation Guide (2026-11-02). 12 kolon: bölüm etiketi 4, sorular 7 (1 kolon boşluk).
   ========================================================================== */
.af-faq{padding:0 var(--af10-gutter,24px) var(--af-section-gap,96px);color:var(--af10-body)}
.af-faq__head{padding:56px 0 48px;border-bottom:1px solid var(--af10-ink)}
.af-faq__kicker{display:block;margin-bottom:16px;font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:var(--af-ls-label);text-transform:uppercase;color:var(--af10-clay);font-variant-numeric:tabular-nums}
html body .af-faq__head h1{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h2);line-height:1.04;letter-spacing:var(--af-track-display);max-width:14ch;margin:0 0 24px;color:var(--af10-ink);text-wrap:balance}
.af-faq__lede{font-family:var(--af10-font-serif);font-style:italic;font-weight:300;font-size:var(--af-fs-lede);line-height:1.3;max-width:36ch;margin:0;color:var(--af10-body)}
.af-faq__sec{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--af-col-gap,24px);padding:48px 0;border-bottom:1px solid var(--af10-line)}
.af-faq__label{grid-column:1 / span 4;display:flex;flex-direction:column;gap:8px}
.af-faq__num{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:var(--af-ls-label);color:var(--af10-clay)}
html body .af-faq__label h2{font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h3);line-height:1.1;letter-spacing:var(--af-track-display);margin:0;color:var(--af10-ink);max-width:14ch}
.af-faq__items{grid-column:6 / span 7;border-top:1px solid var(--af10-line)}
.af-faq__item{border-bottom:1px solid var(--af10-line)}
.af-faq__item summary{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;gap:16px;align-items:baseline;padding:24px 0;cursor:pointer;list-style:none;color:var(--af10-ink)}
.af-faq__item summary::-webkit-details-marker{display:none}
.af-faq__item summary::after{content:"+";font-family:var(--af10-font-mono);color:#4A463F;transition:transform var(--af-dur-hover,200ms) var(--af-ease)}
.af-faq__item[open] summary::after{content:"−"}
.af-faq__qn{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:.16em;color:#4A463F;font-variant-numeric:tabular-nums}
.af-faq__q{font-family:var(--af-font-text);font-weight:500;font-size:var(--af-fs-body);line-height:1.45}
.af-faq__a{padding:0 32px 24px 56px}
.af-faq__a p{margin:0;font-size:var(--af-fs-body);line-height:var(--af-lh-body);max-width:62ch}
.af-faq__a a,.af-faq__policies a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.af-faq__policies{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--af-col-gap,24px);padding-top:48px}
.af-faq__policies .af-faq__kicker{grid-column:1 / span 4;color:#4A463F}
.af-faq__policies ul{grid-column:6 / span 7;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.af-faq__policies li{font-size:var(--af-fs-small);line-height:1.6}
.af-faq__policies p{grid-column:6 / span 7;margin:24px 0 0;font-size:var(--af-fs-small);color:#4A463F}
@media(max-width:899px){
  .af-faq__label,.af-faq__items,.af-faq__policies .af-faq__kicker,.af-faq__policies ul,.af-faq__policies p{grid-column:1 / -1}
  .af-faq__label{margin-bottom:24px}
  .af-faq__a{padding:0 0 24px 56px}
  .af-faq__policies ul{grid-template-columns:1fr}
}
@media(max-width:599px){ .af-faq__item summary{grid-template-columns:32px minmax(0,1fr) 16px;gap:8px} .af-faq__a{padding-left:40px} }

/* ==========================================================================
   FAQ — 3D döner çark (2026-11-02, revize). Saf CSS 3D; dönüş assets/js/af-drum.js (--pos, --p).
   Çark + ilerleme cetveli + kart TEK çerçevede (birbirine bağlı, sade). Renkler tema değişkenlerinden;
   vurgu clay. Kütüphane yok.
   ========================================================================== */
.af-drum{display:grid;grid-template-columns:minmax(0,5fr) 72px minmax(0,7fr);margin:48px 0;border:1px solid var(--line,var(--af10-line));--p:0}
.af-drum__stage{position:relative;min-height:440px;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--af10-paper-deep-veil)}
.af-drum__kicker{position:absolute;top:16px;left:16px;font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:var(--af-ls-label);text-transform:uppercase;color:var(--mute,#4A463F)}
.af-drum__cue{position:absolute;left:24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-family:var(--af10-font-serif);font-size:20px;color:var(--ink,var(--af10-ink));pointer-events:none}
.af-drum__cue em{font-style:italic;font-weight:300}
.af-drum__cue i{display:block;width:6px;height:6px;border-radius:50%;background:var(--af10-clay);animation:afDrumPulse 1.6s var(--af-ease) infinite}
@keyframes afDrumPulse{0%,100%{opacity:1}50%{opacity:.25}}
.af-drum__viewport{position:relative;width:min(100%,440px);height:100%;perspective:1000px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.af-drum__viewport.is-dragging{cursor:grabbing}
.af-drum__wheel{position:absolute;inset:0;margin:0;padding:0;list-style:none;transform-style:preserve-3d;will-change:transform}
/* her başlık silindirin yüzeyinde: açı = (i − pos) × 24°, yarıçap 170px */
.af-drum__item{position:absolute;left:0;right:0;top:50%;height:56px;margin-top:-28px;transform-style:preserve-3d;
  --d:calc(var(--i) - var(--pos,0));
  transform:rotateX(calc(var(--d) * -24deg)) translateZ(170px);backface-visibility:hidden}
/* soluklaşma/büyüme her kare JS'ten (--o, --s); üzerine gelince soluklaşmaz, büyür (--h) */
html body .af-drum__item button{display:flex;align-items:baseline;justify-content:center;gap:16px;width:100%;height:100%;padding:0 16px;border:0;border-radius:0;background:transparent;
  color:var(--ink,var(--af10-ink));cursor:pointer;opacity:var(--o,.12);transform:scale(var(--s,1));will-change:transform,opacity}
html body .af-drum__item button:hover{opacity:max(var(--o,.12), .7)} /* temanın genel button:hover{opacity:.68} kuralı soluklaştırıyordu */
.af-drum__t,.af-drum__n{display:inline-block;transition:transform var(--af-dur-hover,200ms) var(--af-ease)}
@media (hover:hover){ .af-drum__item button:hover .af-drum__t{transform:scale(1.05)} }
.af-drum__n{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:.16em;color:var(--af10-clay);font-variant-numeric:tabular-nums}
.af-drum__t{font-family:var(--af10-font-serif);font-weight:400;font-size:clamp(28px,2.6vw,36px);letter-spacing:var(--af-track-display);white-space:nowrap}
.af-drum__item button:focus-visible{outline:1px solid var(--ink,var(--af10-ink));outline-offset:4px}

/* ilerleme cetveli — dikey, çark ile kart arasında; sınır çizgisi de cetvelin kendisi */
.af-drum__rail{position:relative;border-left:1px solid var(--line,var(--af10-line));border-right:1px solid var(--line,var(--af10-line));
  background:repeating-linear-gradient(to bottom, transparent 0 11px, var(--line,var(--af10-line)) 11px 12px) 0 0 / 12px 100% no-repeat;margin:0}
.af-drum__rail::before{content:"";position:absolute;left:0;top:48px;bottom:48px;width:1px;background:var(--line,var(--af10-line))}
.af-drum__rail-fill{position:absolute;left:-1px;top:48px;width:3px;height:calc((100% - 96px) * var(--p));background:var(--af10-clay)}
.af-drum__tick{position:absolute;left:0;top:calc(48px + (100% - 96px) * var(--t));width:24px;height:1px;background:var(--ink,var(--af10-ink));opacity:.55}
.af-drum__tick b{position:absolute;left:32px;top:-7px;font-family:var(--af10-font-mono);font-weight:400;font-size:10px;letter-spacing:.12em;color:var(--mute,#4A463F);font-variant-numeric:tabular-nums}
.af-drum__rail-dot{position:absolute;left:-4px;top:calc(48px + (100% - 96px) * var(--p) - 4px);width:9px;height:9px;border-radius:50%;background:var(--af10-clay)}

/* kart — soru ve cevap birbirine bağlı, sade */
.af-drum__card{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:40px clamp(24px,3vw,48px)}
.af-drum__card-in{transition:opacity 300ms var(--af-ease),transform 300ms var(--af-ease)}
.af-drum__card-in.is-out{opacity:0;transform:translateY(8px)}
.af-drum__card-in[hidden]{display:none}
.af-drum__card [data-af-drum-panel]:not([hidden]){min-height:var(--af-drum-h,0)}
.af-drum__meta{display:flex;gap:16px;margin-bottom:8px;font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:var(--af-ls-label);text-transform:uppercase;color:var(--af10-clay);font-variant-numeric:tabular-nums}
.af-drum__meta span+span{color:var(--mute,#4A463F)}
html body .af-drum__q{margin:0 0 8px;font-family:var(--af10-font-serif);font-weight:400;font-size:var(--af-fs-h3);line-height:1.15;letter-spacing:var(--af-track-display);color:var(--ink,var(--af10-ink));text-wrap:balance}
html body .af-drum__a{margin:0;padding-top:16px;border-top:1px solid var(--line,var(--af10-line));font-size:var(--af-fs-body);line-height:var(--af-lh-body);color:var(--body,var(--af10-body));max-width:56ch}
.af-drum__a a{text-decoration:underline;text-underline-offset:4px}
.af-drum__hint{font-family:var(--af10-font-mono);font-size:var(--af-fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--mute,#4A463F)}

/* kart: Omega düzeni — solda metin, sağda konunun görseli */
.af-drum__card-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(180px,32%,300px);column-gap:clamp(24px,3vw,48px);align-items:center}
.af-drum__txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.af-drum__txt{grid-column:1;grid-row:1}
.af-drum__pic{grid-column:2;grid-row:1;margin:0;position:relative;z-index:1;aspect-ratio:4 / 5;overflow:hidden;background:var(--af10-paper-deep)}
.af-drum__pic img{display:block;width:100%;height:100%;object-fit:cover}
.af-drum__card-in:not(.is-out) .af-drum__pic img{animation:afDrumPic 900ms var(--af-ease) both}
@keyframes afDrumPic{from{transform:scale(1.04)}to{transform:none}}
.af-drum__mbar{display:none}

/* dar ekran (≤899px): çark ve dikey cetvel yerine yapışkan konu çubuğu; kart altında, görsel üstte */
/* 900–1199px: görsel metnin üstünde (metin sütunu dar kalmasın) */
@media(min-width:900px) and (max-width:1199px){ .af-drum__card-in{grid-template-columns:1fr;row-gap:24px} .af-drum__pic{grid-column:1;grid-row:1;aspect-ratio:3 / 2} .af-drum__txt{grid-row:2} }
@media(max-width:899px){
  .af-drum{grid-template-columns:1fr;border:0;margin:32px 0}
  .af-drum__stage,.af-drum__rail{display:none}
  .af-drum__mbar{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 56px);z-index:30;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;
    background:#D9D4C6 url("assets/img/paper-artefar.webp") 0 0 / 560px 560px repeat;border-top:1px solid var(--line,var(--af10-line));border-bottom:1px solid var(--line,var(--af10-line))}
  html body .af-drum__mbtn{display:flex;align-items:center;justify-content:center;width:48px;height:56px;padding:0;border:0 !important;border-radius:0;background:transparent !important;box-shadow:none;color:var(--ink,var(--af10-ink));cursor:pointer}
  html body .af-drum__mbtn:hover{opacity:1}
  .af-drum__mlabel{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}
  .af-drum__mlabel span:first-child{font-family:var(--af10-font-mono);font-size:10px;letter-spacing:.16em;color:var(--af10-clay);font-variant-numeric:tabular-nums}
  .af-drum__mlabel span:last-child{font-family:var(--af10-font-serif);font-size:22px;line-height:1.15;color:var(--ink,var(--af10-ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .af-drum__mrail{grid-column:1 / -1;position:relative;height:9px;margin:0 16px 8px;
    background:repeating-linear-gradient(to right, var(--line,var(--af10-line)) 0 1px, transparent 1px 12px) 0 0 / 100% 6px no-repeat}
  .af-drum__mrail::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line,var(--af10-line))}
  .af-drum__mrail span{position:absolute;left:0;bottom:-1px;height:3px;width:calc(var(--p) * 100%);background:var(--af10-clay)}
  .af-drum__card{padding:24px 0 0;gap:16px;min-height:0;justify-content:flex-start;scroll-margin-top:140px}
  .af-drum__card-in{grid-template-columns:1fr;row-gap:24px}
  .af-drum__pic{grid-column:1;grid-row:1;aspect-ratio:4 / 3}
  .af-drum__txt{grid-row:2}
    .af-drum__hint{display:none}
}
@media(prefers-reduced-motion:reduce){ .af-drum__cue i{animation:none} }
