/* ==========================================================================
   Artefar — v10 Redesign token/utility katmanı
   Mevcut style.css'in üstüne biner (enqueue sırası: astra > artefar > bu
   dosya). Henüz v10'a taşınmamış şablonlar (hesap, sepet/kaydet çekmeceleri,
   e-postalar, v9 kategori/footer) stil.css'teki eski --ink/--bg/--mute
   token'larıyla çalışmaya devam eder — bu dosya SADECE v10 ile yeniden
   yazılan şablonlardaki .af10-* sınıflarını hedefler, global seçici yok.
   Site sahibi onayı: 2026-10-03, "GÖREV v10" — bkz. CLAUDE.md.
   ========================================================================== */

:root{
  --af10-paper: #EFEBE3;
  /* 2026-10-04: kağıt dokusu kurulumu — bu token SADECE görsel arkası
     "placeholder" kutularında kullanılıyordu (6 yer, hepsi kontrol edildi),
     artık dokunun üstünde neredeyse görünmez bir ton: rgba(21,20,18,.04). */
  --af10-bone:  rgba(21,20,18,.04);
  --af10-ink:   #151412;
  /* 2026-10-04: site sahibi talebiyle #4A463F'e koyulaştırıldı (#5E5A52
     yeni kağıt zemini #D9D4C6'da 4.63:1 — eşiğe yakın, açık talimat
     üzerine güncellendi; 4A463F ile 6.33:1). */
  --af10-mute:  #4A463F;
  --af10-body:  #3A3732;
  /* 2026-10-04: site sahibi talebiyle #74391F'e koyulaştırıldı (yeni kağıt
     zemini #D9D4C6'da 6.04:1 — önceki #8A4B32 zaten 4.53:1 ile sınırda
     geçiyordu ama açık talimat üzerine güncellendi). */
  --af10-clay:  #74391F;
  /* 2026-10-04: kağıt dokusu zemini (#E8DABA) #6B6A4E ile 4.0:1 veriyordu
     (4.5:1 eşiğinin altı) — aynı yeşilimsi aileden %20 koyulaştırıldı
     (5.57:1). */
  --af10-olive: #55543E;
  /* 2026-10-31 ikinci kağıt tonu (site sahibi): sayfanın kağıdından ~%4 koyu, aynı sıcaklık. Doku
     görünür kalsın diye zemine yarı saydam katman olarak biner (-veil); düz karşılığı #D1CCBF
     (autofill vb. düz renk gereken yerler için). Footer ve dönüşümlü bölümlerde kullanılır. */
  --af10-paper-deep:      #D1CCBF;
  --af10-paper-deep-veil: rgba(23,12,11,.04);
  --af10-line:      rgba(21,20,18,.14);
  --af10-dark-line: rgba(239,235,227,.18);

  /* 2026-10-31 tipografi sistemi (site sahibi): Inter kaldırıldı. Üç rol —
     Cormorant Garamond = display (yalnız ≥28px ve italik giriş/alıntı cümleleri),
     Plus Jakarta Sans = metin/UI, JetBrains Mono = etiket/numara/künye. */
  --af10-font-serif: 'Cormorant Garamond', serif;
  --af10-font-ui:    'Plus Jakarta Sans', sans-serif;
  --af10-font-mono:  'JetBrains Mono', monospace;
  --af-font-text:    'Plus Jakarta Sans', sans-serif;

  /* Tek tip ölçeği (akışkan). Rastgele px yerine bunlar kullanılır. */
  --af-fs-display: clamp(64px, 9vw, 150px);
  --af-fs-h2:      clamp(44px, 5.6vw, 84px);
  --af-fs-h3:      clamp(28px, 2.4vw, 36px);
  --af-fs-lede:    clamp(22px, 2.2vw, 32px);   /* Cormorant italik 300 */
  --af-fs-body:    clamp(15px, 1.1vw, 16px);
  --af-lh-body:    1.65;
  --af-fs-small:   13px;
  --af-fs-label:   clamp(10px, .8vw, 11px);   /* mono, büyük harf */
  --af-ls-label:   .18em;
  --af-track-display: -.01em;

  /* Hareket sistemi (2026-10-31): tek easing, üç süre. Zıplama/bounce yok. */
  --af-ease:      cubic-bezier(.22,.61,.24,1);
  --af-dur-hover: 200ms;
  --af-dur-ui:    600ms;
  --af-dur-page:  1200ms;

  --af10-gutter:  clamp(20px, 4.4vw, 64px);
  /* 2026-10-04: ana sayfa boşluk ritmi düzeltmesi — section'lar arası TEK
     değer burada tutuluyor (site sahibi talebi). İki section bitişikse
     her biri bunun YARISINI kendi padding/margin'i olarak verir, toplamda
     tam bu değere ulaşılır (padding sibling'ler arasında collapse OLMAZ,
     bu yüzden toplanarak ayarlandı — bkz. .af10-section, .af10-wallart,
     #af10-waitlist, Gazette). Mobilde (≤680px) 56px'e sabitleniyor. */
  --af-section-gap: clamp(64px, 7vw, 104px);
}

/* Sayfa/bölüm iskeleti */
.af10-page{ background: var(--af10-paper); color: var(--af10-body); }
.af10-wrap{ padding-left: var(--af10-gutter); padding-right: var(--af10-gutter); }
.af10-section{ padding-top:calc(var(--af-section-gap) / 2); padding-bottom:calc(var(--af-section-gap) / 2); }

/* Bölüm başlığı satırı: 01 — numara (clay) + Cormorant başlık, sağda opsiyonel
   link, altında hairline. */
.af10-section-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  padding-bottom:16px; margin-bottom:clamp(24px,3vw,48px); border-bottom:1px solid var(--af10-line);
}
.af10-section-head__title{ display:flex; align-items:baseline; gap:8px; }
.af10-section-num{
  font-family: var(--af10-font-mono); font-size:11px; letter-spacing:.16em;
  color: var(--af10-clay); text-transform:uppercase;font-variant-numeric:tabular-nums}
.af10-section-head h2{
  font-family: var(--af10-font-serif); font-weight:400; margin:0;
  font-size:var(--af-fs-h2); color: var(--af10-ink);letter-spacing:var(--af-track-display)}
.af10-section-head__link{
  font-family: var(--af10-font-ui); font-size:12px; letter-spacing:.04em;
  color: var(--af10-ink); text-decoration:underline; text-underline-offset:5px;
  white-space:nowrap;
}

/* New Editions karusel ok butonları — Quiet Luxury standardı (2026-10-04):
   36px, ince çerçeve, hover'da dolu siyah + beyaz ok. */
.af10-carousel-nav{ display:flex; gap:8px; }
.af10-carousel-arrow,
.af10-carousel-arrow:active{
  width:44px; height:44px; min-width:44px; padding:0; margin:0; line-height:1; border-radius:999px; border:1px solid #D6D1C7;
  background:transparent !important; color:var(--af10-ink) !important; display:grid; place-items:center;
  cursor:pointer; outline:none; box-shadow:none !important; -webkit-tap-highlight-color:transparent;
  transition:background-color .3s ease, color .3s ease, border-color .3s ease;
}
.af10-carousel-arrow:hover{ background:var(--af10-ink) !important; color:#fff !important; border-color:var(--af10-ink); }
.af10-carousel-arrow:focus-visible{ outline:1px solid var(--af10-ink); outline-offset:3px; }
.af10-carousel-arrow[disabled]{ opacity:.3; cursor:default; pointer-events:none; }
.af10-carousel-arrow svg{ display:block; }

/* Metin linki: alt çizgi, 5px offset */
.af10-link{
  color: var(--af10-ink); text-decoration:underline; text-underline-offset:5px;
  font-family: var(--af10-font-ui);
}

/* Butonlar — radius her zaman 999px (pill), gölge/gradient yok */
.af10-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 28px; border-radius:999px; border:1px solid var(--af10-ink);
  font-family: var(--af10-font-ui); font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; cursor:pointer;
  background:transparent; color: var(--af10-ink); box-shadow:none;
  min-height:44px; min-width:44px;
}
.af10-btn--solid{ background: var(--af10-ink); color: var(--af10-paper); }
.af10-btn--cta{ height:54px; padding:0 32px; }

/* Mono teknik etiket (REF, specimen alanları) */
.af10-mono{
  font-family: var(--af10-font-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color: var(--af10-mute);font-variant-numeric:tabular-nums}

/* Hairline ayraç */
.af10-hr{ border:0; border-top:1px solid var(--af10-line); margin:0; }

/* ---- Faz 2 (ana sayfa) — etkileşim durumları ---- */
.af10-page a{ color: var(--af10-ink); }
.af10-page a:hover{ color: var(--af10-clay); }
.af10-btn--solid:hover{ background: var(--af10-clay); color: var(--af10-paper); }
.af10-link:hover{ color: var(--af10-clay); border-color: var(--af10-clay); }

/* Yatay kaydırmalı satırlar (New Editions) — kaydırma çubuğu gizli */
#af10-new-row::-webkit-scrollbar{ display:none; }

/* Kart görseli hover — site genelindeki .92 opaklık kuralıyla tutarlı */
#af10-new-row a:hover img,
.af10-page a:hover img{ opacity:.92; }

/* E-posta alanları — placeholder rengi okunur kalsın */
.af10-page input[type="email"]::placeholder{ color: var(--af10-mute); opacity:1; }
.af10-page input[type="email"]{ font-family: var(--af10-font-ui); }

/* ==========================================================================
   Edition Opening — eski ayrı daktilo bölümüyle birleşmiş pinned bölüm.
   (v10-mockup/Artefar Edition Opening.dc.html birebir referans.)
   SEO: tüm metin HTML'de tam olarak var, varsayılan (JS'siz) durumda TAM
   görünür — JS sadece clip-path/opacity ile görsel bir "henüz yazılmadı"
   maskesi uyguluyor. .af10-edition.is-js-ready class'ı JS tarafından
   eklenene kadar maske YOK, tam metin görünür kalır.
   ========================================================================== */
/* madde C: dikey boşluklar vh ile ölçekleniyor — 1280×720 gibi KISA
   viewport'larda da tek ekrana sığsın diye (mockup'taki clamp değerleri
   birebir). */
/* Yükseklik 360vh'den düşürüldü (site sahibi geri bildirimi, 2026-10-03:
   "Issue 01 ile güven şeridi arasında boş krem bant" — pin'in tamamen
   açılmasından (p≈.97) sonra kalan scroll payı gereğinden uzun
   hissettiriyordu). 260vh: animasyon hâlâ rahat okunur hızda, ama
   tamamlandıktan sonra sürüklenen "boş" scroll payı çok kısaldı. */
/* Gerçek bug (2026-10-04, site sahibi bildirdi — "ölü kaydırma alanı"):
   hero'nun pin'i açılıp bu bölüm pinlenene kadar 100vh'lik boyasız bir
   normal-scroll payı vardı. Artık bu bölüm hero'nun son 40vh'ının ÜSTÜNE
   biniyor (negatif margin + z-index), o payı ortadan kaldırıyor. hero'nun
   KENDİSİ (koyu zemin/efektler) değişmedi — sadece bindirme. */
.af10-edition{ position:relative; z-index:2; background:var(--af10-paper); height:260vh; margin-top:-40vh; }
/* Gerçek bug (2026-10-03): .af-hero-fade (hero'nun koyu zeminden açık
   zemine geçiş şeridi, style.css) v9'un --bg'sini (#f7f5f0) kullanıyordu,
   hemen altındaki bu bölüm ise v10'un --af10-paper'ını (#EFEBE3) —
   ikisi neredeyse ama TAM AYNI DEĞİL, aralarında sert, düz bir çizgi
   (renk atlaması) oluşuyordu. Hero'nun KENDİSİNE (koyu zemin) dokunmadan,
   SADECE geçiş şeridinin rengini bu bölümün zeminiyle eşitliyoruz —
   :has() ile sadece v10 önizlemesinde (bu bölümün hemen öncesinde),
   legacy sayfadaki aynı şeridi etkilemeden.
   2026-10-04: bindirme (margin-top:-40vh) artık bu şeridin kendi 160px'lik
   yüksekliğini/negatif margin'ini de gereksiz kılıyor — v10'da sıfırlandı,
   legacy'deki AYNI şerit (sonrasında .af10-edition OLMAYAN) dokunulmadan
   kaldı. */
.af-hero-fade:has(+ .af10-edition){ background:var(--af10-paper); height:0; margin-top:0; }
.af10-edition__pin{
  position:sticky; top:0; height:100vh; overflow:hidden;
  display:flex; flex-direction:column; gap:clamp(16px,3vh,40px);
  padding:clamp(16px,3.4vh,40px) var(--af10-gutter);
}
.af10-edition__mast{ display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.af10-edition__mast-row{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em;
  color:var(--af10-mute); text-transform:uppercase;font-variant-numeric:tabular-nums}
.af10-edition__mast-rule{ display:block; height:1px; background:var(--af10-ink); width:100%; }
.af10-edition__grid{
  flex:1; min-height:0; display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  grid-template-areas:"head figure";
  gap:clamp(24px,4.4vw,80px);
}
.af10-edition__head{ grid-area:head; display:flex; flex-direction:column; gap:clamp(8px,2vh,24px); padding-top:clamp(0px,1.4vh,24px); min-height:0; }
.af10-edition__kicker{ font-family:var(--af10-font-mono); font-size:11px; letter-spacing:.16em; color:var(--af10-clay); min-height:14px; display:block;font-variant-numeric:tabular-nums }
.af10-edition__h1{
  font-family:var(--af10-font-serif); font-weight:400; color:var(--af10-ink);
  font-size:clamp(44px, min(5.6vw, 8.4vh), 84px); line-height:1; letter-spacing:var(--af-track-display); margin:0;
  min-height:2em; text-wrap:balance; position:relative}
.af10-edition__caret{ display:none; position:absolute; top:.08em; width:2px; height:.8em; background:var(--af10-ink); animation:af10Caret 1s steps(1) infinite; }
@keyframes af10Caret{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
.af10-edition__dek{ font-size:clamp(13px,1.9vh,15px); line-height:1.6; color:var(--af10-mute); max-width:460px; margin:0; }
.af10-edition__disc{ display:flex; flex-direction:column; max-width:520px; margin-top:4px; }
.af10-edition__disc-row{
  display:grid; grid-template-columns:34px 1fr auto; gap:16px; align-items:baseline;
  padding:clamp(8px,1.1vh,16px) 0; border-top:1px solid var(--af10-line);
}
.af10-edition__disc-n{ font-family:var(--af10-font-mono); font-size:10px; color:var(--af10-mute);font-variant-numeric:tabular-nums }
/* h3 ölçeği; kısa ekranlarda (≤900px yükseklik) 28px tabanına iner ki dört satır tek ekrana sığsın. */
.af10-edition__disc-name{ font-family:var(--af10-font-serif); font-size:min(var(--af-fs-h3), max(28px, 3.2vh)); line-height:1.1; letter-spacing:var(--af-track-display)}
.af10-edition__disc-status{ font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em;font-variant-numeric:tabular-nums }
.af10-edition__figure{ grid-area:figure; min-height:0; display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:8px; margin:0; }
/* Dış sarmalayıcı — oranı taşır (madde 2, 2026-10-04); hairline çerçeve +
   hizalama işaretleri bunun İÇİNDE, görselin KENDİ clip-path/overflow'undan
   bağımsız kardeş katmanlar olarak oturur (yoksa görselle birlikte
   kırpılıp hiç görünmezlerdi). */
.af10-edition__frame{ position:relative; flex:1; min-height:0; width:100%; max-width:100%; aspect-ratio:1166/1567; }
.af10-edition__media{ position:absolute; inset:0; background:transparent; overflow:hidden; }
.af10-edition__media-inner{ position:absolute; inset:0; }
.af10-edition__media-inner img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Hairline çerçeve — 4 kenar saat yönünde çiziliyor (JS: scaleX/scaleY,
   transform-origin çizim yönünde). inset:-12px: görselin biraz dışında,
   bir paspartu/mount hissi. */
.af10-edition__hairlines{ position:absolute; inset:-12px; pointer-events:none; }
.af10-hl{ position:absolute; background:#151412; }
.af10-hl--top{ top:0; left:0; right:0; height:1px; transform:scaleX(0); transform-origin:left center; }
.af10-hl--right{ top:0; right:0; bottom:0; width:1px; transform:scaleY(0); transform-origin:top center; }
.af10-hl--bottom{ bottom:0; left:0; right:0; height:1px; transform:scaleX(0); transform-origin:right center; }
.af10-hl--left{ top:0; bottom:0; left:0; width:1px; transform:scaleY(0); transform-origin:bottom center; }

/* Plate 01 boş hali (görsel gelene kadar; p .3→.5'te JS ile kaybolur):
   2026-10-05 site sahibi talebi — artı çizgileri/daire kaldırıldı, yerine
   editoryal boş sayfa: kağıt zemin + 3 künye. Alttaki figcaption künyesi
   ayrı, görselle birlikte kalır. */
.af10-edition__regmarks{ position:absolute; inset:0; pointer-events:none; }
.af10-reg__plate,.af10-reg__year{ position:absolute; top:14px; font-family:var(--af10-font-mono); font-size:11px; letter-spacing:.16em; color:#4A463F;font-variant-numeric:tabular-nums }
.af10-reg__plate{ left:14px; }
.af10-reg__year{ right:14px; }
.af10-reg__title{ position:absolute; left:14px; bottom:12px; font-family:var(--af-font-text);  font-size:var(--af-fs-small); color:#4A463F}
.af10-edition__caption{
  min-height:14px; text-align:right;
  font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em; color:var(--af10-mute);font-variant-numeric:tabular-nums}
.af10-edition__hint{
  position:absolute; left:50%; bottom:32px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  pointer-events:none; transition:opacity .4s ease;
}
.af10-edition__hint span:first-child{ font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em; color:var(--af10-mute);font-variant-numeric:tabular-nums }
.af10-edition__hint-line{ display:block; width:1px; height:32px; background:var(--af10-ink); animation:af10Hint 2.4s ease-in-out infinite; }
@keyframes af10Hint{ 0%{transform:scaleY(0);transform-origin:top} 45%{transform:scaleY(1);transform-origin:top} 55%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }
/* .manifesto-sound-btn (style.css) temel kuralında position:absolute +
   left:48px var — ikisini de burada ezmezsek left+right birlikte set
   olup buton tüm genişliğe geriliyordu (gerçek bug, gerçek tarayıcıda
   ölçüldü: width 1328px çıktı). left:auto ile iptal ediliyor. */
.af10-edition__sound{ position:fixed !important; left:auto !important; right:var(--af10-gutter); bottom:28px; z-index:40; width:auto; }
@media (max-width:600px){ .af10-edition__sound{ left:auto !important; right:24px; } }

/* Karakter-span daktilo: varsayılan gizli, JS her span'ı tek tek
   visibility:visible yapıyor (bkz. artefar.js af10WrapChars/af10RevealChars).
   Kutunun/satırın genişliği hiç değişmiyor — "yarım kesik harf" görünümü
   YOK, harfler ya tam görünür ya hiç görünmez. */
.af10-ch{ visibility:hidden; }

/* JS hazır olunca: görsel + dek/disiplin/mast maskesi aktifleşir
   (kicker/H1/caption artık clip-path DEĞİL, yukarıdaki .af10-ch ile
   yönetiliyor). Disiplin satırları TEK TEK, kendi data-af10-disc-i
   özniteliğiyle JS'ten kontrol edilir (sırayla gelsinler diye). */
.af10-edition.is-js-ready .af10-edition__media{ clip-path:inset(100% 0 0 0); }
.af10-edition.is-js-ready .af10-edition__dek{ opacity:0; transform:translateY(16px); }
.af10-edition.is-js-ready .af10-edition__disc-row{ opacity:0; transform:translateY(12px); }
.af10-edition.is-js-ready .af10-edition__mast-row{ opacity:0; }
.af10-edition.is-js-ready .af10-edition__mast-rule{ width:0%; }

@media (prefers-reduced-motion: reduce){
  .af10-edition{ height:auto; }
  .af10-edition__pin{ position:static; height:auto; overflow:visible; }
  .af10-ch{ visibility:visible; } /* reduced-motion'da JS hiç sarmıyor zaten, bu sadece güvenlik */
  .af10-edition.is-js-ready .af10-edition__media{ clip-path:none; }
  .af10-edition.is-js-ready .af10-edition__dek,
  .af10-edition.is-js-ready .af10-edition__disc-row,
  .af10-edition.is-js-ready .af10-edition__mast-row{ opacity:1; transform:none; }
  .af10-edition.is-js-ready .af10-edition__mast-rule{ width:100%; }
  .af10-edition__caret, .af10-edition__hint, .af10-edition__sound{ display:none !important; }
  .af10-hl{ transform:scale(1) !important; }
  .af10-edition__regmarks{ opacity:0 !important; }
}

@media (max-width: 899px){
  .af10-edition{ height:auto; }
  .af10-edition__pin{ position:static; height:auto; overflow:visible; }
  .af10-edition__grid{ grid-template-columns:1fr; grid-template-areas:"head" "figure"; gap:24px; }
  .af10-edition__figure{ align-items:stretch; }
  .af10-edition__frame{ aspect-ratio:4/5; flex:none; }
  .af10-hl{ transform:scale(1) !important; }
  .af10-edition__regmarks{ transition:opacity .6s ease; }
  .af10-edition.is-mobile-revealed .af10-edition__regmarks{ opacity:0; }
  .af10-edition__caption{ text-align:left; }
  .af10-edition__hint{ display:none; }
  .af10-edition__caret{ display:none !important; }

  /* Madde 7: pin/scroll yok. kicker/H1/caption artefar.js'teki zamanlı
     (1.2s) karakter-harf reveal ile açılıyor (.af10-ch, yukarıda) — CSS
     transition yok, görsel/dek/disiplin/mast için ise fade/clip kalıyor. */
  .af10-edition.is-js-ready .af10-edition__media{ transition: clip-path 1.2s ease; }
  .af10-edition.is-js-ready .af10-edition__mast-row{ transition: opacity .6s ease; }
  .af10-edition.is-js-ready .af10-edition__mast-rule{ transition: width .8s ease; }
  .af10-edition.is-js-ready .af10-edition__dek,
  .af10-edition.is-js-ready .af10-edition__disc-row{ transition: opacity .6s ease .3s, transform .6s ease .3s; }

  .af10-edition.is-mobile-revealed .af10-edition__media{ clip-path:inset(0); }
  .af10-edition.is-mobile-revealed .af10-edition__mast-row{ opacity:1; }
  .af10-edition.is-mobile-revealed .af10-edition__mast-rule{ width:100%; }
  .af10-edition.is-mobile-revealed .af10-edition__dek,
  .af10-edition.is-mobile-revealed .af10-edition__disc-row{ opacity:1; transform:none; }
}

/* Mobilde künye/edition başlığı satırı tek sütuna düşsün (clamp zaten
   küçültüyor ama 400px genişlikte figure/metin yan yana sıkışmasın). */
@media (max-width: 680px){
  .af10-page figure[style*="flex:1.5"]{ flex-basis:100% !important; }
}

/* Güven şeridi — 3 madde, ortalı, aralarda dikey hairline (madde 2, 2026-10-03). */
.af10-trust__row{ padding-top:18px; padding-bottom:18px; display:grid; grid-template-columns:repeat(3,1fr); font-size:12px; letter-spacing:.04em; }
.af10-trust__item{ text-align:center; padding:4px 16px; border-left:1px solid var(--af10-line); }
.af10-trust__item:first-child{ border-left:0; }
@media (max-width:680px){
  .af10-trust__row{ grid-template-columns:1fr; gap:4px; }
  .af10-trust__item{ border-left:0; border-top:1px solid var(--af10-line); padding:12px 0; }
  .af10-trust__item:first-child{ border-top:0; }
}

/* ==========================================================================
   01 · Wall Art — koleksiyon seçici (GÖREV v10 madde D)
   ========================================================================== */
/* Güven şeridi → "01 Wall Art" başlığı: tek taraflı özel (daha dar)
   boşluk — trust şeridinin kendi bir padding/margin katkısı yok, bu
   yüzden burası GENEL --af-section-gap yerine kendi hedef değerini
   TAM olarak kullanıyor (bölünmüyor). Alt taraf (bir sonraki section'a)
   ritmin YARISI — New Editions'ın kendi üst yarısıyla toplanıp tam
   --af-section-gap'e ulaşır. */
.af10-wallart{ padding-top:clamp(48px,6vw,88px); padding-bottom:calc(var(--af-section-gap) / 2); border-top:1px solid var(--af10-line); }
/* Gerçek bug (2026-10-04, site sahibi bildirdi): .af10-wrap'ın kendi
   max-width'i yok (sadece kenar boşluğu), bu yüzden geniş ekranda metin
   sütunu sola yapışık kalıp görselle arası aşırı açılıyordu. Bu bölüme
   özel 1240px üst sınır + ortalama + daraltılmış gap. */
.af10-wallart__body{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(32px,4vw,64px); align-items:center; margin-top:clamp(32px,4vw,56px); max-width:1240px; margin-inline:auto; }

/* Solda SABİT "Artefar" (v9.13: artık link DEĞİL, salt görsel çapa/etiket
   — tıklanabilir mağaza linki olmaktan çıktı, bkz. dosya başı not) +
   yanında alt alta 4 italik sonek (Classic/Japan/Canvas/Framed). */
.af10-wallart__names{ display:flex; align-items:center; gap:clamp(8px,1.2vw,16px); }
.af10-wallart__base{
  display:inline-block; pointer-events:none;
  font-family:var(--af10-font-serif); font-weight:400; font-style:normal;
  /* v9.14 (2026-10-04): 124px'e varan punto sitenin geri kalan editoryal
     ölçeğiyle (Edition Opening H1 en fazla 88px, bölüm başlıkları
     44-56px) uyuşmuyordu, "aykırı" duruyordu — site sahibi geri bildirimi.
     Daha sakin bir editoryal punto. */
  font-size:clamp(32px,4.2vw,60px); line-height:1; letter-spacing:var(--af-track-display);
  color:var(--af10-ink); white-space:nowrap} /* 2026-10-31: h2 ölçeği ENTER'ı görsele taşırıyordu — eski punto */
.af10-wallart__suffixes{ display:flex; flex-direction:column; }
/* "a." öneki şart — .af10-page a{color:var(--af10-ink)} global kuralı
   element+class (0,0,1,1) olduğu için salt .af10-wallart__name (0,0,1,0)
   onu yenemiyordu, sonekler hep tam renkte görünüyordu (gerçek bug,
   gerçek tarayıcıda ölçüldü). */
a.af10-wallart__name{
  position:relative; display:flex; align-items:center; gap:16px; white-space:nowrap;
  font-family:var(--af10-font-serif); font-weight:400; font-style:italic;
  font-size:clamp(32px,4.2vw,60px); line-height:1.04; letter-spacing:var(--af-track-display);
  color:rgba(21,20,18,.22); transform:scale(.72); transform-origin:left center;
  transition:transform .5s var(--af-ease), color .4s}
a.af10-wallart__name.is-active,
a.af10-wallart__name.is-active:hover{ color:var(--af10-ink); transform:scale(1); }
.af10-wallart__enter{
  display:inline-block; white-space:nowrap;
  font-family:var(--af10-font-mono); font-style:normal; font-size:11px; letter-spacing:.16em;
  color:var(--af10-ink); opacity:0; transform:translateX(-8px); transition:opacity .3s, transform .4s;font-variant-numeric:tabular-nums}
.af10-wallart__name.is-active.is-hover .af10-wallart__enter{ opacity:1; transform:translateX(0); }

.af10-wallart__visual{ display:flex; flex-direction:column; gap:16px; }
.af10-wallart__frame{ position:relative; width:100%; aspect-ratio:1/1; background:var(--af10-bone); overflow:hidden; }
.af10-wallart__img{ position:absolute; inset:0; background:var(--af10-bone); transition:opacity .6s ease, transform 1.2s var(--af-ease); transform:scale(1.05); }
.af10-wallart__img[style*="opacity:0"]{ pointer-events:none; }
.af10-wallart__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.af10-wallart__caption{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-top:1px solid var(--af10-line); padding-top:8px; font-size:13px; color:var(--af10-mute); }

/* Mobil boşluk ritmi (site sahibi talebi, 2026-10-04): section'lar arası
   sabit 56px, başlık satırı → içerik sabit 24px. --af-section-gap'i
   yeniden tanımlamak calc(/2) kullanan her yeri otomatik 28px'e indirir
   (28+28=56); .af10-wallart'ın TEK TARAFLI üst boşluğu ve iki
   başlık→içerik gap'i (Wall Art + New Editions) ayrıca 24px'e sabitlendi. */
@media (max-width:680px){
  :root{ --af-section-gap: 56px; }
  .af10-wallart{ padding-top:var(--af-section-gap); }
  .af10-section-head{ margin-bottom:24px; }
  .af10-wallart__body{ margin-top:24px; }
}

@media (max-width:900px){
  .af10-wallart__body{ grid-template-columns:1fr; }
  /* 2026-10-08: mobilde "Artefar" seçeneklerden ayrı, üstte tek başına durmuyor —
     masaüstündeki "Artefar + koleksiyon adı" ilişkisi gibi, SEÇİLİ koleksiyonun
     satırında, onun hemen solunda. Seçenekler (Canvas/Classic/Japan/Wooden
     Framed) aynı sırada, aynı sütunda, hepsi bağlantı olarak erişilebilir.
     Punto, uzun "Wooden Framed" 360 px'te taşmasın diye bir kademe küçük.
     (2026-10-08 (4), site sahibi: (3)'teki sabit üst satır geri alındı — "Artefar" yine seçili
     koleksiyonun başında ilerler; yalnız geçiş yavaş ve yumuşak.) */
  .af10-wallart__names{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; column-gap:clamp(8px,2.4vw,16px); row-gap:2px; }
  .af10-wallart__suffixes{ display:contents; }
  .af10-wallart__base,
  a.af10-wallart__name{ font-size:clamp(26px,7.6vw,44px);letter-spacing:var(--af-track-display)}
  /* "Artefar" ızgarada 1. satırda kalır; seçili satıra JS'in ölçtüğü mesafe kadar KAYAR
     (--af10-base-y, satır ortası → satır ortası). Satır değiştirmek (grid-row) anlık
     sıçrıyordu; kayma 0.9 s, yumuşak giriş/çıkış eğrisi, yaylanma yok. JS yoksa 1. satır. */
  /* .af10-wallart__names öneki: dosyanın sonraki ".af10-wallart__base{transition:opacity}" kuralı
     (Wooden Framed soluklaştırması) bu geçişi eziyordu. */
  .af10-wallart__names .af10-wallart__base{ grid-column:1; grid-row:1; align-self:center; translate:0 var(--af10-base-y,0px); transition:translate .9s var(--af-ease), opacity .4s ease; will-change:translate; }
  a.af10-wallart__name{ grid-column:2; min-width:0; white-space:normal; overflow-wrap:anywhere; transition:transform .9s var(--af-ease), color .7s ease; }
  a.af10-wallart__name[data-af10-i="0"]{ grid-row:1; }
  a.af10-wallart__name[data-af10-i="1"]{ grid-row:2; }
  a.af10-wallart__name[data-af10-i="2"]{ grid-row:3; }
  a.af10-wallart__name[data-af10-i="3"]{ grid-row:4; }
  /* Mobilde "Artefar Wooden Framed" ilişkisi de açık kalsın: soluklaştırma yok. */
  .af10-wallart .af10-wallart__names:has(.af10-wallart__name--standalone.is-active) .af10-wallart__base{ opacity:1; }
  .af10-wallart__enter{ display:none; }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .af10-wallart__names .af10-wallart__base, a.af10-wallart__name{ transition:none; }
}

/* ==========================================================================
   Hero — scroll'a bağlı kare dizisi + sağ üst metin (site sahibi talebi,
   2026-10-05). Şablon: template-parts/hero-only.php, oynatma:
   assets/js/hero-frames.js. Renkler/ölçüler talimattaki değerlerle birebir
   (#151412 zemin, #F2EEE6 başlık/buton, #E6DCCB satır, köşe karartması).
   Hero tam ekran; header P .80→1 aralığında scroll'a bağlı olarak
   yukarıdan iner (hero-frames.js).
   ========================================================================== */
.af10-hero{ position:relative; height:380vh; margin:0; padding:0; background:#151412; }
/* Sahne: admin bar açıkken onun altından başlar. 100svh — 100dvh mobilde
   adres çubuğu açılıp kapanınca sahneyi yeniden boyutlayıp kaydırıyordu. */
.af10-hero__stage{
  position:sticky; top:var(--wp-admin--admin-bar--height, 0px);
  height:calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  height:calc(100svh - var(--wp-admin--admin-bar--height, 0px));
  overflow:hidden; background:#151412;
}
/* Ana sayfa (bu hero yalnız orada var): header sabit, akışta yer tutmaz.
   Header'ın görünürlüğü ZAMANA değil SCROLL'a bağlı — hero-frames.js her karede
   transform/opacity/pointer-events'i P'den hesaplayıp satır içi yazar
   (r = clamp((P−.8)/.2), e = easeOutCubic(r)). Bu yüzden transform/opacity
   için transition YOK; buradaki değerler yalnız JS gelmeden önceki hal. */
body:has(.af10-hero) .af-header{
  position:fixed; left:0; right:0; top:var(--wp-admin--admin-bar--height,0);
  transform:translateY(-100%); opacity:0; pointer-events:none;
  transition:background-color 400ms var(--af-ease), border-color 400ms var(--af-ease);
}
/* Astra'nın içerik sarmalayıcılarından hero'nun üstüne boşluk gelmesin. */
body:has(.af10-hero) .site-content,
body:has(.af10-hero) #content,
body:has(.af10-hero) #primary,
body:has(.af10-hero) .ast-container{ padding-top:0 !important; margin-top:0 !important; }
.af10-hero__poster,
.af10-hero__poster img,
.af10-hero__canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.af10-hero__poster img{ object-fit:cover; object-position:50% 100%; }
/* Mobil (m/ kareleri): yatay merkez posterin üstüne — son karede poster
   ve alt yazısının merkezi karenin ~%45'inde (ölçüldü). JS'teki fx ile aynı. */
@media (max-width:900px){ .af10-hero__poster img{ object-position:43% 100%; } }
.af10-hero__canvas{ opacity:0; }
.af10-hero__canvas.is-ready{ opacity:1; }
.af10-hero__shade{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 60% at 100% 0%, rgba(21,20,18,.62) 0%, rgba(21,20,18,0) 70%);
}
.af10-hero__copy{
  position:absolute; right:var(--af10-gutter); top:clamp(28px,7vh,80px);
  /* Sabit genişlik (max değil): blok genişliği başlık fontuna bağlı
     olmasın — font geç yüklenince satır/buton yatay kayıyordu (CLS). */
  width:min(560px,80vw); text-align:right;
  display:flex; flex-direction:column; align-items:flex-end; gap:clamp(14px,2.4vh,24px);
  color:#F2EEE6;
}
html body .af10-hero__title{
  margin:0; font-family:var(--af10-font-serif); font-weight:400;
  font-size:clamp(40px,6.4vw,104px); line-height:1; letter-spacing:.02em;
  color:#F2EEE6; text-shadow:0 2px 24px rgba(21,20,18,.45);
}
/* Font bilinçli olarak YAZILMADI: body'den miras alır — Issue 01
   paragrafının (.af10-edition__dek) computed font'u ile aynı. */
.af10-hero__line{
  /* 40ch, yüklenen fontla (Plus Jakarta Sans) ölçülüp em'e çevrildi:
     40ch = 29.28em. ch fonta bağlı — yedek fontta farklı genişlik veriyor
     ve font yüklenince satırı kaydırıyordu. Görünen genişlik aynı. */
  /* 2026-10-06: kısa slogan — yükseklik içeriğe göre (harfler yalnız
     opacity ile görünür, daktilo sırasında satır yine kaymaz). */
  margin:0; width:min(29.28em,80vw); height:auto;
  font-weight:400; font-style:normal; font-size:clamp(15px,1.25vw,18px); line-height:1.6; letter-spacing:.005em;
  color:#E6DCCB; text-shadow:0 1px 14px rgba(21,20,18,.55);
}
.af10-hero__word{ white-space:nowrap; }
/* Hero kısa açıklaması (2026-10-06) — satırla aynı font ailesi (body),
   bir kademe küçük; sabit genişlik (font geç yüklenince kayma olmasın). */
.af10-hero__desc{
  margin:0; width:min(26em,80vw); font-weight:400; font-size:clamp(14px,1.05vw,16px); line-height:1.6;
  color:#E6DCCB; text-shadow:0 1px 14px rgba(21,20,18,.55);
}
.af10-hero__cta{
  display:inline-flex; align-items:center; gap:14px; height:48px; padding:0 26px;
  border:1px solid #F2EEE6; border-radius:0; color:#F2EEE6; background:transparent;
  font-weight:500; font-size:11px; letter-spacing:.22em; text-transform:uppercase; text-decoration:none;
  transition:background-color .3s, color .3s;
}
.af10-hero__cta:hover,
.af10-hero__cta:focus-visible{ background:#F2EEE6; color:#151412; }
/* 2026-10-08: style.css'teki "html body a, html body a:visited { color: var(--ink) }"
   (özgüllük 0,1,3) ziyaret edilmiş bağlantıda, Astra'nın "a:focus" kuralı da
   dokunma sonrası odakta yazıyı/oku koyu yapıyordu — koyu zeminde okunmuyordu.
   Yalnız hero CTA'sı için tüm durumlar açıkça: normal/ziyaret edilmiş/odak →
   açık krem yazı, saydam zemin; hover/klavye odağı → krem zemin, koyu yazı.
   Ölçü, çerçeve, şekil ve bağlantı aynı. Ok (span) rengi miras alır. */
html body a.af10-hero__cta,
html body a.af10-hero__cta:link,
html body a.af10-hero__cta:visited,
html body a.af10-hero__cta:focus{ color:#F2EEE6; background:transparent; }
html body a.af10-hero__cta:hover,
html body a.af10-hero__cta:visited:hover,
html body a.af10-hero__cta:focus-visible,
html body a.af10-hero__cta:visited:focus-visible{ color:#151412; background:#F2EEE6; }
html body a.af10-hero__cta:focus-visible{ outline:1px solid #F2EEE6; outline-offset:3px; }
html body a.af10-hero__cta > span{ color:inherit; }
.af10-hero__hint{
  position:absolute; left:50%; bottom:28px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px; pointer-events:none;
  font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em; color:#D9D4C6;font-variant-numeric:tabular-nums}
.af10-hero__hint-line{ display:block; width:1px; height:28px; background:#D9D4C6; animation:af10HeroHint 2.4s ease-in-out infinite; }
@keyframes af10HeroHint{
  0%{transform:scaleY(0);transform-origin:top} 45%{transform:scaleY(1);transform-origin:top}
  55%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom}
}
/* Başlangıç durumu JS'ten ÖNCE (FOUC yok): başlık, satır + harfleri, buton
   ve köşe karartması opacity 0 — aynısı functions.php'deki kritik inline
   CSS'te de var (stylesheet gecikse bile). JS scroll'a göre satır içi
   değer yazar; JS yoksa <noscript> stili hepsini görünür yapar. SEO: H1
   DOM'da, yalnız opacity — display/visibility yok. Transition yok. */
/* 2026-10-08: metnin görünmesi artık SCROLL'a bağlı değil — sayfa açılınca
   bir kez, zamana bağlı giriş: hafif yukarı hareket + belirme (~0,8 sn),
   kısa sıralı gecikmeler (başlık → slogan → açıklama → CTA). Saf CSS
   animasyonu: JS'e ve kare/video yüklemesine bağlı değil, scroll'da yeniden
   başlamaz (animasyon yalnız bir kez oynar, "both" ile son hali kalır).
   Kare dizisi, scroll ilerlemesi, hero yüksekliği, konum ve header geçişi
   hero-frames.js'te aynen. Aynı kurallar functions.php'deki kritik inline
   CSS'te de var (stylesheet gecikse bile). JS yoksa <noscript> stili
   görünür yapar; azaltılmış harekette animasyon yok (aşağıda). */
@keyframes af10HeroIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes af10HeroFade{ from{ opacity:0; } to{ opacity:1; } }
.af10-hero__shade{ animation:af10HeroFade .8s ease-out both; }
html body .af10-hero__title{ animation:af10HeroIn .8s var(--af-ease) .1s both; }
.af10-hero__line{ animation:af10HeroIn .75s var(--af-ease) .28s both; }
.af10-hero__desc{ animation:af10HeroIn .75s var(--af-ease) .44s both; }
.af10-hero__cta{ animation:af10HeroIn .7s var(--af-ease) .6s both; }
.af10-hero__copy,
.af10-hero__shade{ will-change:transform; }
/* Hero ile Issue 01 arasında boşluk/bindirme yok: Issue 01'in eski hero
   için yazılmış -40vh bindirmesi bu hero'nun son karelerini örtüyordu. */
.af10-hero + .af10-edition{ margin-top:0; }
@media (prefers-reduced-motion:reduce){
  .af10-hero{ height:auto; }
  .af10-hero__stage{ position:relative; top:0; }
  .af10-hero__hint{ display:none; }
  .af10-hero__shade, html body .af10-hero__title, .af10-hero__line, .af10-hero__ch, .af10-hero__desc, .af10-hero__cta{ animation:none; opacity:1; transform:none; }
}

/* Ana sayfa — 4 öne çıkan ürün (#shop, "Shop Wall Art →" hedefi). */
.af10-shop4{ padding:calc(var(--af-section-gap) / 2) var(--af10-gutter); scroll-margin-top:73px; }
.af10-shop4__grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.6vw,40px); margin-top:clamp(24px,3vw,48px);
}
@media (min-width:641px){ .af10-shop4__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.af10-shop4__card{ display:flex; flex-direction:column; gap:16px; min-width:0; color:var(--af10-ink); text-decoration:none; }
.af10-shop4__media{ position:relative; aspect-ratio:1/1; overflow:visible; }
.af10-shop4__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
  transition:transform .8s var(--af-ease);
}
/* Şeffaf ürün görselleri kağıt zeminin üstünde dursun (2026-10-05): ana
   sayfadaki iki kart tipinin görsel alanında zemin/gölge/çerçeve yok.
   Gri kutunun kaynağı New Editions kapsayıcısındaki --af10-bone zeminiydi. */
.af10-card-media,
.af10-card-media a,
.af10-card-media img,
.af10-shop4__media,
.af10-shop4__media img{ background:transparent !important; box-shadow:none !important; border:0 !important; }
.af10-shop4__meta{ display:flex; flex-direction:column; gap:4px; border-top:1px solid var(--af10-line); padding-top:8px; }
.af10-shop4__name{ font-family:var(--af-font-text); font-size:var(--af-fs-body); line-height:1.2;font-weight:500}
.af10-shop4__price{ font-size:13px; color:var(--af10-ink); }

/* ==========================================================================
   Ürün kartı hover — TÜM kartlar (2026-10-05): Shop Wall Art (#shop),
   New Editions (#af10-new-row) ve /shop/ + kategori (li.product).
   Ezilen eski kurallar: style.css `html body a:hover{opacity:.68}` (kart
   linkini soluklaştırıyordu), style.css `.artefar-card-link:hover
   .artefar-card-media img:not(...){opacity:.92}`, bu dosyadaki
   `#af10-new-row a:hover img, .af10-page a:hover img{opacity:.92}`,
   style.css `li.product .artefar-card-media{overflow:hidden}` ve eski
   `.af10-shop4__card:hover ... scale(1.03)`. Astra/WooCommerce'in kendi
   kart hover efektleri bu kartlarda yok (kart şablonu child temada,
   woocommerce/content-product.php — Astra hook zinciri atlanıyor).
   ========================================================================== */
html body a.artefar-card-link:hover,
html body .af10-card-media > a:hover,
html body a.af10-shop4__card:hover{ opacity:1 !important; }
.af10-card-media > a{ position:relative; }
li.product .artefar-card-media{ overflow:visible !important; }
html body .artefar-card-media img,
html body .af10-card-media img,
html body .af10-shop4__media img{ transition:transform var(--af-dur-page) var(--af-ease), opacity var(--af-dur-ui) var(--af-ease) !important; }
html body .artefar-card-media img:not(.af-card-hover-img),
html body .af10-card-media img:not(.af-card-hover-img),
html body .af10-shop4__media img:not(.af-card-hover-img){ opacity:1 !important; }
.af-card-hover-img{ display:none !important; opacity:0 !important; pointer-events:none; z-index:1; }
@media (hover:hover){
  .af-card-hover-img{ display:block !important; }
  a.artefar-card-link:hover .artefar-card-media img,
  .af10-card-media > a:hover img,
  a.af10-shop4__card:hover .af10-shop4__media img{ transform:scale(1.02); }
  a.artefar-card-link:hover .af-card-hover-img,
  .af10-card-media > a:hover .af-card-hover-img,
  a.af10-shop4__card:hover .af-card-hover-img{ opacity:1 !important; }
}

/* ==========================================================================
   Ürün sayfası galerisi — beyaz zemin yok (2026-10-05). Ezilen eski
   kurallar (style.css): `.artefar-pdp-main-image-wrapper{background:var(--bg);
   border:1px solid var(--line)}`, `.woocommerce-product-gallery,
   ...__wrapper, ...__image{background-color:var(--bg)}`,
   `.artefar-thumb-item{background:var(--bg); border:1px solid var(--line)}`.
   Zoom yok (özel galeri, .zoomImg/lightbox yüklenmiyor) — yine de kapsandı.
   ========================================================================== */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__trigger,
.zoomImg,
.ast-woocommerce-container,
.woocommerce-product-gallery::before,
.woocommerce-product-gallery::after{ background:transparent !important; box-shadow:none !important; border:0 !important; }

/* ==========================================================================
   Ürün görselleri her zaman KARE (2026-10-05) — Shop Wall Art, New Editions,
   /shop/ + kategori (li.product), ürün sayfası eşleştirmeleri (.af-pair).
   Mod PHP'de belirlenir (functions.php artefar_image_mode): kapsayıcıda
   .is-cutout / .is-photo, <img>'de .af-img--cutout / .af-img--photo.
   Ezilen eski kural: style.css `li.product .artefar-card-media{aspect-ratio:4/5}`
   ve `.af-pair img{aspect-ratio:4/5;object-fit:cover}`, New Editions'ın
   satır içi 4/5'i (şablonda 1/1 yapıldı).
   ========================================================================== */
li.product .artefar-card-media,
.af10-card-media,
.af10-shop4__media{ aspect-ratio:1/1 !important; }
li.product .artefar-card-media.is-cutout,
.af10-card-media.is-cutout,
.af10-shop4__media.is-cutout{ overflow:visible !important; background:transparent !important; }
li.product .artefar-card-media.is-photo,
.af10-card-media.is-photo,
.af10-shop4__media.is-photo{ overflow:hidden !important; }
html body img.af-img--cutout{ object-fit:contain !important; object-position:center !important; background:transparent !important; }
html body img.af-img--photo{ object-fit:cover !important; object-position:center !important; }
.af-pair img{ aspect-ratio:1/1 !important; height:auto; }

/* ==========================================================================
   Footer + drawer düzeltmeleri (2026-10-05, site sahibi talebi)
   ========================================================================== */
/* 1) Subscribe: başka bir genel buton kuralı zemini #111 yapıyordu, metin
   (#170c0b) üstünde görünmüyordu. Footer'ın kendi tanımı (şeffaf + ince
   koyu çerçeve, hover'da dolu) daha yüksek özgüllükle geri getirildi. */
html body .af-footer .af-footer__gazette-submit{
  background:transparent !important; color:var(--ft-ink) !important; border:1px solid var(--ft-ink) !important;
}
html body .af-footer .af-footer__gazette-submit:hover,
html body .af-footer .af-footer__gazette-submit:focus-visible{
  background:var(--ft-ink) !important; color:var(--ft-bg) !important; opacity:1;
}
/* 2) Drawer "Back to Cart": palet dışı #76746e (çekmece zemini #D9D4C6
   üstünde 3.16:1, AA altı) ve 4px köşe yerine sitenin --mute rengi
   (#4A463F, 6.33:1), köşe 0, ince alt
   çizgili metin bağlantısı; hover'da --ink. */
html body .af-drawer__back{
  color:var(--mute) !important; border-radius:0 !important; letter-spacing:.12em !important;
  text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px;
}
html body .af-drawer__back:hover,
html body .af-drawer__back:focus-visible{ color:var(--ink) !important; opacity:1; }
/* 3) Footer bir ton koyu: düz #EFE0CD (sayfadan AÇIKTI) yerine sayfanın
   kağıt dokusu görünür kalır, üstüne mürekkep renginin %4'ü biner
   (≈#D1CCBF). İkincil metin #635856 bu zeminde 4.28:1'e düşüyordu →
   sitenin --mute'u (#4A463F, 5.85:1). Ayrım çizgisi mevcut --ft-line. */
html body .af-footer{
  --ft-bg:var(--af10-paper-deep); /* zeminin düz karşılığı — autofill ve buton hover metni */
  --ft-mute:#4A463F;
  background:var(--af10-paper-deep-veil) !important;
  border-top:1px solid var(--ft-line);
}

/* Tanıtım → Studio bağlantısı (2026-10-06). Sitenin metin bağlantısı dili:
   11px büyük harf, ince alt çizgi; 48px dokunmatik hedef. */
.af10-edition__more{
  display:inline-flex; align-items:center; gap:8px; min-height:48px; margin-top:4px;
  font-family:var(--af10-font-ui); font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--af10-ink); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;
}
.af10-edition__dek .af10-edition__more{ display:flex; width:max-content; }

/* Koleksiyon seçici (2026-10-06): kısa giriş + "Wooden Framed" seçiliyken
   büyük "Artefar" kelimesi soluklaşır (satır "Artefar Wooden Framed" diye
   okunmasın). Yalnız CSS — seçicinin JS'ine dokunulmadı. */
.af10-wallart__intro{ margin:0; font-size:13px; line-height:1.5; color:var(--af10-mute); text-align:right; }
.af10-wallart__base{ transition:opacity .4s ease; }
.af10-wallart__names:has(.af10-wallart__name--standalone.is-active) .af10-wallart__base{ opacity:.18; }
@media (max-width:680px){
  .af10-wallart__intro{ text-align:left; }
  /* 2026-10-08: Wall Art başlık satırı mobilde — "01 Wall Art" solda tek
     satır (bölünmez), açıklama sağda, başlıkla dikey ortalı; açıklama kendi
     alanında satırlara bölünür. Font, renk, çizgi ve boşluklar aynı. */
  .af10-wallart .af10-section-head{ align-items:center; gap:16px; }
  .af10-wallart .af10-section-head__title{ flex:none; }
  .af10-wallart .af10-section-head h2{ white-space:nowrap; }
  .af10-wallart .af10-wallart__intro{ flex:1 1 auto; min-width:0; text-align:right; overflow-wrap:break-word; text-wrap:balance; }
}

/* Bekleme listesi formu — dar ekranda "Keep Me Updated" e-posta alanını
   kesmesin: alan tam satır, düğme altında (2026-10-06). Satır içi stilleri
   ezmek için !important. */
@media (max-width:520px){
  #af10-waitlist .af10-waitlist-form{ flex-wrap:wrap; height:auto !important; border-bottom:0 !important; gap:0 !important; }
  #af10-waitlist .af10-waitlist-form input[type="email"]{ flex:1 1 100% !important; height:48px; border-bottom:1px solid var(--af10-ink) !important; }
  #af10-waitlist .af10-waitlist-form button{ padding:0 !important; margin-top:8px; }
}

/* ==========================================================================
   Hizmet şeridi (2026-10-09, template-parts/v10-services.php) — eski güven
   şeridinin yerine. Masaüstü 4 (ödeme kapalıyken 3) sütun, mobil 2 sütun;
   ayrımlar 1px hairline, ikonlar 40 px ince çizgi (currentColor).
   ========================================================================== */
.af-svc{ margin:calc(var(--af-section-gap) / 2) 0; border-top:1px solid var(--af10-line); border-bottom:1px solid var(--af10-line); }
.af-svc__row{ list-style:none; margin:0 auto; display:grid; grid-template-columns:repeat(var(--af-svc-n,4), minmax(0,1fr)); }
/* 2026-10-09 (site sahibi): her öğe kendi sütununda ortalı — ikon, başlık, açıklama (sınırlı satır uzunluğu,
   margin-inline:auto) ve bağlantı aynı eksende; sütun iç boşlukları eşit; kompakt yükseklik. İkon ve başlık
   üstten aynı hizada başlar (align-items:center yalnız yatay; dikey akış yukarıdan). */
.af-svc__item{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; gap:8px; padding:24px 16px; border-left:1px solid var(--af10-line); }
.af-svc__item:first-child{ border-left:0; }
.af-svc__icon{ color:var(--af10-ink); flex:none; }
.af-svc__title{ margin:2px 0 0; font-family:var(--af-font-text);  font-size:var(--af-fs-body); line-height:1.2; color:var(--af10-ink);font-weight:500}
.af-svc__text{ margin:0 auto; font-family:var(--af10-font-ui); font-size:13px; line-height:1.6; color:var(--af10-mute); max-width:28ch; text-wrap:balance; }
.af-svc__link{ appearance:none; -webkit-appearance:none; min-height:48px; margin:-8px auto -8px; padding:0; border:0; border-radius:0; background:transparent; color:var(--af10-ink); cursor:pointer;
  font-family:var(--af10-font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px;font-variant-numeric:tabular-nums }
html body .af-svc__link:is(:hover,:focus,:active){ background:transparent; color:var(--af10-ink); box-shadow:none; }
.af-svc__link:focus-visible{ outline:1px solid var(--af10-ink); outline-offset:2px; }
@media (max-width:900px){
  .af-svc__row{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .af-svc__item{ padding:16px 8px; border-left:0; border-top:1px solid var(--af10-line); }
  .af-svc__item:nth-child(-n+2){ border-top:0; }
  .af-svc__item:nth-child(2n){ border-left:1px solid var(--af10-line); }
  /* Üç öğede son öğe iki sütun boyunca, ortalı. */
  .af-svc__item:last-child:nth-child(odd){ grid-column:1 / -1; }
  .af-svc__title{ font-size:var(--af-fs-body); }
  .af-svc__text{ max-width:24ch; }
}

/* ==========================================================================
   Order received — archive receipt (2026-10-14, woocommerce/checkout/thankyou.php)
   ========================================================================== */
.af10-receipt-wrap{max-width:880px;margin:0 auto;padding:64px 0 96px}
.af10-receipt{border:1px solid var(--af10-line);background:var(--af10-bone);padding:48px;color:var(--af10-ink);font-family:var(--af-font-text)}
.af10-receipt__kicker{display:flex;justify-content:space-between;gap:16px;margin:0 0 32px;padding-bottom:12px;border-bottom:1px solid var(--af10-line);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--af10-mute);font-variant-numeric:tabular-nums}
.af10-receipt__title{margin:0 0 12px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:var(--af-fs-h2);line-height:1.1;color:var(--af10-ink);letter-spacing:var(--af-track-display)}
.af10-receipt__lede{margin:0 0 48px!important;padding:0!important;border:0!important;background:transparent!important;font-family:'Cormorant Garamond',Georgia,serif;font-size:var(--af-fs-lede);line-height:1.5;color:var(--af10-body)!important;font-style:italic;font-weight:300}
.af10-receipt__lede::before{display:none!important}
.af10-receipt__mono{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.16em;font-variant-numeric:tabular-nums}

.af10-receipt__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 48px;border-top:1px solid var(--af10-line);border-left:1px solid var(--af10-line)}
.af10-receipt__cell{padding:16px;border-right:1px solid var(--af10-line);border-bottom:1px solid var(--af10-line);margin:0}
.af10-receipt__cell--wide{grid-column:1/-1}
.af10-receipt__cell dt,.af10-receipt__total dt,.af10-receipt__row--head span{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--af10-mute);font-variant-numeric:tabular-nums}
.af10-receipt__cell dt{margin:0 0 8px}
.af10-receipt__cell dd{margin:0;font-family:var(--af-font-text);font-size:var(--af-fs-body);line-height:1.4;color:var(--af10-ink);font-weight:500}
.af10-receipt__cell dd.af10-receipt__mono{font-family:'JetBrains Mono',monospace;font-size:14px;font-variant-numeric:tabular-nums}
.af10-receipt__cell address{font-style:normal}

.af10-receipt__items{margin:0 0 32px;border-top:1px solid var(--af10-ink)}
.af10-receipt__row{display:grid;grid-template-columns:128px minmax(0,1fr) 48px 128px;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--af10-line)}
.af10-receipt__row > span:nth-child(3),.af10-receipt__row > span:nth-child(4){text-align:right}
.af10-receipt__row--head{padding:12px 0}
.af10-receipt__work{display:flex;flex-direction:column;gap:4px;min-width:0}
.af10-receipt__work-title{font-family:var(--af-font-text);font-size:var(--af-fs-body);line-height:1.3;color:var(--af10-ink);font-weight:500}
.af10-receipt__work-meta{font-size:13px;color:var(--af10-mute)}

.af10-receipt__totals{margin:0 0 48px 0;margin-left:auto;max-width:400px}
.af10-receipt__total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:8px 0;margin:0}
.af10-receipt__total dd{margin:0;font-family:'JetBrains Mono',monospace;font-size:13px;text-align:right;color:var(--af10-ink);font-variant-numeric:tabular-nums}
.af10-receipt__total--grand{border-top:1px solid var(--af10-ink);margin-top:8px;padding-top:16px}
.af10-receipt__total--grand dd{font-size:16px;font-weight:500}

.af10-receipt__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--af10-line);color:var(--af10-mute)}
.af10-receipt__actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.af10-receipt-wrap .af-legal-links,.af10-receipt-wrap > div:not(.af10-receipt){margin-top:32px}

@media (max-width:640px){
  .af10-receipt-wrap{padding:32px 0 64px}
  .af10-receipt{padding:24px 16px}
  .af10-receipt__grid{grid-template-columns:1fr}
  .af10-receipt__row{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}
  .af10-receipt__row > span:nth-child(1){grid-column:1/-1}
  .af10-receipt__row > span:nth-child(3){text-align:left}
  .af10-receipt__row--head{display:none}
  .af10-receipt__kicker{flex-direction:column;gap:4px}
}
/* Receipt: featured thumbnail left of the work title (2026-10-14) */
.af10-receipt__work{flex-direction:row;align-items:center;gap:12px}
.af10-receipt__thumb{flex:none;width:48px;height:48px;border:1px solid var(--af10-line);overflow:hidden}
.af10-receipt__thumb img{display:block;width:48px;height:48px;object-fit:cover}
.af10-receipt__work-text{display:flex;flex-direction:column;gap:4px;min-width:0}

/* 04 · Notes from Our Collectors — Etsy yorumları (2026-10-19, inc/reviews.php). Kart: hairline üst çizgi,
   Cormorant alıntı, mono künye. Masaüstü 3 sütun ızgara, mobilde yatay kaydırma. Yalnız v10 paleti. */
.af10-reviews{ padding:calc(var(--af-section-gap) / 2) var(--af10-gutter); }
.af10-reviews .af10-section-head{ flex-wrap:wrap; align-items:center; }
.af10-reviews .af-etsy-summary{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0; font-family:var(--af10-font-ui); font-size:12px; letter-spacing:.04em; color:var(--af10-ink); }
.af10-reviews .af-etsy-summary a{ color:var(--af10-ink); text-decoration:underline; text-underline-offset:5px; }
.af10-reviews .af-stars{ display:inline-flex; gap:2px; color:var(--af10-ink); }
.af10-reviews__intro{ max-width:56ch; margin:0 0 clamp(24px,3vw,40px); font-family:var(--af10-font-ui); font-size:14px; line-height:1.6; color:var(--af10-body); }
.af10-reviews__bar{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:clamp(24px,3vw,40px); }
.af10-reviews__bar .af10-reviews__intro{ margin:0; }
/* 2026-10-19 (site sahibi): iki sıra, yana kayar — sütunlar sütun sütun dolar (grid-auto-flow:column). */
.af10-reviews__row{ display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,auto); grid-auto-columns:clamp(260px,28vw,400px); gap:0 clamp(24px,3vw,48px);
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none;
  margin-inline:calc(var(--af10-gutter) * -1); padding-inline:var(--af10-gutter); scroll-padding-inline:var(--af10-gutter); }
.af10-reviews__row::-webkit-scrollbar{ display:none; }
.af10-reviews__row > .af-review{ scroll-snap-align:start; }
.af10-reviews .af-review{ margin:0; padding:24px 0 32px; border-top:1px solid var(--af10-line); display:flex; flex-direction:column; gap:16px; }
.af10-reviews .af-review__text{ margin:0; padding:0; border:0; }
/* 2026-10-31 (site sahibi): lede ölçeği yorumlarda çok büyüktü — eski punto (19–22px) geri, bölüm tek ekrana
   sığar. Cormorant 28px altında yalnız italik alıntı olarak kalır (tipografi kuralı). */
.af10-reviews .af-review__text p{ margin:0; font-family:var(--af10-font-serif); font-size:clamp(19px,1.5vw,22px); line-height:1.35; color:var(--af10-ink);font-style:italic;font-weight:400}
.af10-reviews .af-review__text p::before{ content:"\201C"; }
.af10-reviews .af-review__text p::after{ content:"\201D"; }
.af10-reviews .af-review__by{ display:flex; flex-direction:column; gap:4px; margin-top:auto; }
.af10-reviews .af-review__name{ font-family:var(--af10-font-ui); font-size:13px; font-weight:500; color:var(--af10-ink); }
.af10-reviews .af-review__meta{ font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--af10-mute);font-variant-numeric:tabular-nums }
.af10-reviews__row:focus-visible{ outline:1px solid var(--af10-ink); outline-offset:4px; }
@media (max-width:900px){
  .af10-reviews__row{ grid-auto-columns:min(80vw,320px); gap:0 16px; }
  .af10-reviews__bar{ flex-direction:column; align-items:flex-start; }
  .af10-reviews .af-review{ padding:16px 0 24px; }
}

/* Uzun yorumlar sıra yüksekliğini şişirmesin: ana sayfada en çok 4 satır (tam metin DOM'da kalır; 2026-10-31: 5→4, bölüm tek ekrana sığsın). */
.af10-reviews .af-review__text p{ font-size:clamp(18px,1.4vw,20px); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;font-style:italic;font-weight:400}
.af10-reviews .af-review{ gap:8px; padding:16px 0 24px; }
.af10-reviews .af-review__by{ margin-top:8px; }

.af10-reviews .af-review__meta a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.af10-reviews .af-review__meta a:hover{ color:var(--af10-ink); }
/* Çeviri satırı (İngilizce olmayan yorumlar) — küçük UI metni, "Translated" mono etiketiyle. */
.af10-reviews .af-review__translation{ margin:0; font-family:var(--af10-font-ui); font-size:13px; line-height:1.5; color:var(--af10-body); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.af10-reviews .af-review__translation span{ font-family:var(--af10-font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--af10-mute); margin-right:8px;font-variant-numeric:tabular-nums }

/* 2026-10-20 (site sahibi: "müşteriler kategori isimlerine tıklayacaklarını anlamıyor"): mobilde hover yok,
   masaüstündeki "ENTER →" hiç görünmüyordu. ≤900px: seçili koleksiyonun yanında "ENTER →" kalıcı (otomatik
   geçişle birlikte satırdan satıra geçer, ad değişince kısa gecikmeyle belirir); her satır 48px dokunma alanı.
   Site sahibi (2026-10-20): ENTER adın alt yazı çizgisinde (baseline) ve daha soluk — onaylı paletteki #9e918c;
   kontrastı 4.5:1 altında, bilinçli: dekoratif ipucu (aria-hidden), bağlantının erişilebilir adı aria-label'da. */
@media (max-width:900px){
  a.af10-wallart__name{ min-height:48px; gap:8px; align-items:baseline; padding-block:8px; box-sizing:border-box; }
  .af10-wallart__enter{ display:inline-block; flex:none; font-size:10px; letter-spacing:.14em; color:#9e918c; opacity:0; transform:translateX(-6px); transition:opacity .5s ease .35s, transform .6s var(--af-ease) .35s; }
  a.af10-wallart__name.is-active .af10-wallart__enter{ opacity:1; transform:none; }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .af10-wallart__enter{ transition:none; }
}

/* ==========================================================================
   Tipografi sistemi — genel kurallar (2026-10-31)
   ========================================================================== */
/* Küçük başlık kademeleri metin fontunda (Cormorant yalnız ≥28px). */
html body h4, html body h5, html body h6{ font-family:var(--af-font-text); font-weight:500; letter-spacing:0; }
/* Fiyatlar ve sayılar hizalı rakamla. */
.price, .amount, .woocommerce-Price-amount, .af-price{ font-variant-numeric:tabular-nums; }

/* ==========================================================================
   Renk ritmi (2026-10-31): Shop Wall Art (02) ve Notes from Our Collectors (04)
   ikinci kağıt tonunda — ana sayfada açık / koyu / açık / koyu ritim. Bant tam
   genişlik; iç boşluk bölüm aralığının yarısı (8px ızgarası, --af-section-gap).
   ========================================================================== */
.af10-shop4,
.af10-reviews{ background-color:var(--af10-paper-deep-veil); }

/* ==========================================================================
   Grid ve ritim (2026-10-31, site sahibi briefi D)
   12 kolon (tablet 8, mobil 4), içerik en çok 1440px, kenar --af10-gutter,
   kolon arası clamp(16px,2vw,32px). Dikey ritim 8px; bölüm arası
   --af-section-gap (56 / 72 / 96). Ana sayfa bölümleri, header ve footer
   bu kolonlara oturur; çizgiler kolon kenarında başlar/biter.
   ========================================================================== */
:root{
  --af10-gutter: 24px;
  --af-grid-max: 1440px;
  --af-cols: 4;
  --af-col-gap: clamp(16px, 2vw, 32px);
  --af-section-gap: 56px;
  /* bölümün yatay iç boşluğu: en az gutter; 1440 + 2×gutter'dan geniş ekranda içerik ortalanır */
  --af-pad-inline: var(--af10-gutter); /* 2026-10-31 site sahibi: geniş ekranda içerik ortalanmaz, kenardan kenara (1440 sınırı kaldırıldı) */
}
@media (min-width:600px){ :root{ --af10-gutter:32px; --af-cols:8; --af-section-gap:72px; } }
@media (min-width:1024px){ :root{ --af10-gutter:48px; --af-cols:12; --af-section-gap:96px; } }
@media (min-width:1440px){ :root{ --af10-gutter:64px; } }

/* n kolonluk genişlik (kolon arası dahil), herhangi bir kapsayıcıda */
.af-grid{ display:grid; grid-template-columns:repeat(var(--af-cols), minmax(0,1fr)); column-gap:var(--af-col-gap); }

/* --- yatay iç boşluk: tek kaynak --- */
.af10-wrap{ padding-left:var(--af-pad-inline); padding-right:var(--af-pad-inline); }
.af10-shop4, .af10-reviews{ padding-left:var(--af-pad-inline); padding-right:var(--af-pad-inline); }
.af10-edition__pin{ padding-left:var(--af-pad-inline); padding-right:var(--af-pad-inline); }
/* header ana sayfa içeriğiyle aynı kenarda; diğer sayfalar (mağaza/ürün/sepet) kendi 32px kenarında kalır */
@media (min-width:769px){ html body.home .af-header__in{ max-width:none; padding-inline:var(--af-pad-inline); } } /* telefonda header kendi dar kenarında (logo simgelere değmesin) */
html body.home .af-footer .af-wrap{ padding-inline:var(--af-pad-inline); }
/* tam genişlikte çizgi yerine içerik kenarında biten çizgi: boşluk padding değil margin */
.af10-wallart.af10-wrap{ padding-left:0; padding-right:0; margin-left:var(--af-pad-inline); margin-right:var(--af-pad-inline); }
.af-svc{ border-top:0; border-bottom:0; }
.af-svc__row.af10-wrap{ padding-left:0; padding-right:0; margin-left:var(--af-pad-inline); margin-right:var(--af-pad-inline); border-top:1px solid var(--af10-line); border-bottom:1px solid var(--af10-line); }

/* --- bölüm başlığı → içerik: yarım bölüm aralığı --- */
.af10-section-head{ margin-bottom:calc(var(--af-section-gap) / 2); }
.af10-section-head__title{ gap:16px; }

/* --- 02 Issue 01: metin 5 kolon, 1 kolon boşluk, plate 6 kolon --- */
@media (min-width:900px){
  .af10-edition__grid{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); grid-template-areas:none; column-gap:var(--af-col-gap); }
  .af10-edition__head{ grid-area:auto; grid-column:1 / span 5; }
  .af10-edition__figure{ grid-area:auto; grid-column:7 / span 6; }
  .af10-edition__disc{ max-width:none; }
}
/* plate çizgisi kolonun içinde: çerçeve kolon kenarında, görsel 16px içeride (paspartu) */
.af10-edition__hairlines{ inset:0; }
.af10-edition__media{ inset:16px; }

/* --- 01 Wall Art: adlar 6 kolon, 1 kolon boşluk, görsel 5 kolon --- */
@media (min-width:900px){
  .af10-wallart__body{ grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:var(--af-col-gap); max-width:none; margin-inline:0; }
  .af10-wallart__names{ grid-column:1 / span 6; }
  .af10-wallart__visual{ grid-column:8 / span 5; }
}

/* --- 02 Shop Wall Art: 4 kart × 3 kolon (mobil 2 × 2) --- */
.af10-shop4__grid{ column-gap:var(--af-col-gap); row-gap:48px; }

/* --- 03 New Arrivals: kart 3 kolon (mobil 3/4 — yandaki kart görünür) --- */
#af10-new-row{ gap:var(--af-col-gap) !important; padding-left:var(--af-pad-inline) !important; padding-right:var(--af-pad-inline) !important; scroll-padding-inline:var(--af-pad-inline) !important; }
#af10-new-row > *{ flex:0 0 calc((100% - (var(--af-cols) - 1) * var(--af-col-gap)) / var(--af-cols) * 3 + 2 * var(--af-col-gap)) !important; width:auto !important; max-width:none !important; }

/* --- 04 Notes: kart 4 kolon (tablet 4/8, mobil 3/4) --- */
.af10-reviews__row{ column-gap:var(--af-col-gap); grid-auto-columns:calc((100% - (var(--af-cols) - 1) * var(--af-col-gap)) / var(--af-cols) * 4 + 3 * var(--af-col-gap)); }
@media (max-width:599px){ .af10-reviews__row{ grid-auto-columns:calc((100% - 3 * var(--af-col-gap)) / 4 * 3 + 2 * var(--af-col-gap)); } }

/* --- hizmet şeridi: 4 × 3 kolon; ayırıcı çizgi kolon kenarında --- */
@media (min-width:900px){
  .af-svc__row{ column-gap:var(--af-col-gap); }
  .af-svc__item{ border-left:0; }
  .af-svc__item + .af-svc__item{ border-left:1px solid var(--af10-line); }
}

/* --- footer: 3 sütun × 4 kolon (bülten açıkken 4 × 3) --- */
@media (min-width:901px){
  html body .af-footer__cols{ grid-template-columns:repeat(4, minmax(0,1fr)); column-gap:var(--af-col-gap); }
  html body .af-footer__cols.af-footer__cols--no-signup{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}

/* ==========================================================================
   Bileşenler ve editoryal dil (2026-10-31, brief E + F)
   ========================================================================== */

/* E1 — bölüm başlığı: mono etiket "02 — Featured", altında Cormorant başlık. Etiket clay
   (bölüm etiketi/numarası — clay'in izinli kullanımı). Sağdaki bağlantı/özet alt satırla hizalı. */
.af10-section-head{ align-items:flex-end; }
.af10-section-head__title{ flex-direction:column; align-items:flex-start; gap:8px; }
.af10-section-num{ font-size:var(--af-fs-label); letter-spacing:var(--af-ls-label); }

/* E2/E5 — künye ve plate düzeni. Görsel kağıt zeminde ince çerçeveli; görsel 8px içeride
   (paspartu). Köşe ve gölge yok. Ürün kartlarında künye: mono REF satırı (New Arrivals ile aynı). */
.af10-shop4__media,
.af10-card-media{ border:1px solid var(--af10-line); }
html body .af10-shop4__media img{ inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); }
.af10-card-media > a{ position:absolute !important; inset:8px; width:auto !important; height:auto !important; }
.af10-card-ref{ color:var(--af10-mute); }
.af10-shop4__meta{ gap:8px; }
/* Issue 01 plate künyesi görselin altında, çerçevenin sol kenarında */
.af10-edition__caption{ order:2; text-align:left; }
@media (min-width:900px){ .af10-edition__figure{ align-items:stretch; } }
/* Wall Art künyesi: açıklama metin, eser sayısı mono */
.af10-wallart__caption{ font-size:var(--af-fs-small); }

/* E3 — katalog şeridi bir "running header": mono künye, tek satır, üç sütun kolon kenarlarında */
.af10-edition__mast-row{ font-size:var(--af-fs-label); letter-spacing:var(--af-ls-label); }

/* E4 — yorumlar alıntı gibi: Cormorant italik (eski küçük punto, site sahibi kararı); altında
   mono künye (isim · dükkân · tarih). Şehir/ürün bilgisi Etsy verisinde yok. */
.af10-reviews .af-review__name{ font-family:var(--af10-font-mono); font-size:var(--af-fs-label); font-weight:400; letter-spacing:var(--af-ls-label); text-transform:uppercase; color:var(--af10-ink); }

/* F2 — metin bağlantılarında alt çizgi soldan sağa çizilir (hover). Çizgi pseudo-element; köşe/gradient yok. */
.af10-edition__more, .af10-section-head__link, .af10-reviews .af-etsy-summary a, .af10-reviews .af-review__meta a,
html body .af-footer a:not(.af-logo):not(.af-btn){
  position:relative; text-decoration:none !important;
}
.af10-edition__more::after, .af10-section-head__link::after, .af10-reviews .af-etsy-summary a::after, .af10-reviews .af-review__meta a::after,
html body .af-footer a:not(.af-logo):not(.af-btn)::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:currentColor;
  transform:scaleX(1); transform-origin:left; transition:transform var(--af-dur-ui) var(--af-ease);
}
.af10-edition__more::after{ bottom:12px; }
html body .af-footer a:not(.af-logo):not(.af-btn)::after{ transform:scaleX(0); }
@media (hover:hover){
  .af10-edition__more:hover::after, .af10-section-head__link:hover::after, .af10-reviews .af-etsy-summary a:hover::after, .af10-reviews .af-review__meta a:hover::after{ animation:afUnderline var(--af-dur-ui) var(--af-ease); }
  html body .af-footer a:not(.af-logo):not(.af-btn):hover::after{ transform:scaleX(1); }
  html body .af-footer a:hover{ opacity:1; }
}
@keyframes afUnderline{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

/* F4 — klavye odağı her yerde görünür: 1px ink, 4px boşluk (bileşenin kendi kuralı yoksa) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible{ outline:1px solid var(--af10-ink); outline-offset:4px; }
html body .af-btn:focus-visible,
html body .manifesto-sound-btn:focus-visible,
html body .af-swatch:focus-visible,
html body .artefar-card-save:focus-visible,
html body .afv button:focus-visible{ outline:1px solid var(--af10-ink) !important; outline-offset:4px !important; }
/* tema (Astra) odakta bağlantıyı maviye boyuyordu — renk değişmez, yalnız çerçeve */
html body .af-header a:focus-visible, html body .af-footer a:focus-visible{ color:inherit !important; }

/* F5 — çerez bandı site dilinde: kağıt zemin, mono etiket, köşesiz butonlar; bulanıklık yok */
html body .artefar-cookie-banner{
  background:#D9D4C6 url("../img/paper-artefar.webp") 0 0 / 560px 560px repeat; -webkit-backdrop-filter:none; backdrop-filter:none;
  border-top:1px solid var(--af10-line);
}
html body .artefar-cookie-banner__inner{ max-width:none; padding:24px var(--af-pad-inline) calc(24px + env(safe-area-inset-bottom,0px)); }
html body .artefar-cookie-banner__copy .af-meta,
html body .artefar-cookie-banner__copy > span:first-child,
html body .artefar-cookie-banner__copy > p:first-child:not(:last-child){
  font-family:var(--af10-font-mono); font-size:var(--af-fs-label); letter-spacing:var(--af-ls-label); text-transform:uppercase; color:var(--af10-ink);
}
html body .artefar-cookie-banner__copy p{ color:var(--af10-body); font-size:var(--af-fs-small); }
html body .artefar-cookie-banner .af-btn{
  border-radius:0 !important; height:48px; padding:0 24px; font-family:var(--af10-font-ui); font-size:11px; letter-spacing:.2em;
  transition:background-color var(--af-dur-hover) var(--af-ease), color var(--af-dur-hover) var(--af-ease);
}
html body .artefar-cookie-banner .af-btn.af-btn--ghost{ background:transparent !important; color:var(--af10-ink) !important; border:1px solid var(--af10-ink) !important; }
html body .artefar-cookie-banner .af-btn:not(.af-btn--ghost){ background:var(--af10-ink) !important; color:var(--af10-paper) !important; border:1px solid var(--af10-ink) !important; }
html body .artefar-cookie-banner .af-btn:hover{ background:var(--af10-clay) !important; border-color:var(--af10-clay) !important; color:var(--af10-paper) !important; }
/* açılış oynarken bant beklemez değil — bekler: kart kalkınca gelir */
html.af-opening-on .artefar-cookie-banner{ display:none !important; }

/* F6 — hareket azaltma: tüm geçiş ve animasyonlar kapanır, içerik doğrudan görünür */
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; transition-delay:0s !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   Issue 01 plate döngüsü (2026-11-01, kalıcı — açılış anahtarından bağımsız)
   Görseller üst üste; gelen görsel 1.6 sn'de belirir ve 1.04'ten 1'e iner, künye
   aynı anda değişir. Zamanlama: assets/js/af-plates.js (6 sn, hover/sekme/görünürlük
   durdurur; hareket azaltmada otomatik geçiş yok).
   ========================================================================== */
.af10-edition__media-inner .af10-plate-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  opacity:0; transform:scale(1.04);
  transition:opacity 1.6s var(--af-ease), transform 1.6s var(--af-ease);
}
.af10-edition__media-inner .af10-plate-img.is-on{ opacity:1; transform:none; }
.af10-edition__caption{ display:flex; justify-content:space-between; align-items:baseline; gap:24px; } /* sayaç solda, künye sağda (site sahibi, 2026-11-01) */
.af10-edition__caption .af10-plate-count{ order:-1; }
.af10-edition__caption .af10-plate-caps{ text-align:right; justify-items:end; }
.af10-plate-caps{ display:grid; flex:0 1 auto; width:auto; min-width:0; }
.af10-plate-cap{ grid-area:1 / 1; opacity:0; transition:opacity 1.6s var(--af-ease); }
.af10-plate-cap.is-on{ opacity:1; }
.af10-plate-count{ display:inline-flex; align-items:baseline; gap:8px; font-family:var(--af10-font-mono); font-size:var(--af-fs-label); letter-spacing:.16em; color:var(--af10-mute); font-variant-numeric:tabular-nums; flex:none; }
.af10-plate-count button{
  position:relative; appearance:none; -webkit-appearance:none; margin:0; padding:0; border:0; border-radius:0; background:transparent;
  font:inherit; letter-spacing:inherit; color:var(--af10-mute); cursor:pointer; transition:color var(--af-dur-hover) var(--af-ease);
}
.af10-plate-count button::after{ content:""; position:absolute; inset:-16px -8px; } /* 48px dokunma alanı */
.af10-plate-count button[aria-current="true"], .af10-plate-count button:hover{ color:var(--af10-ink); }

/* Plate çerçevesi kareye yakın (2026-11-01, site sahibi): geniş ekranda çerçeve 6 kolonu doldurup yatay
   dikdörtgen oluyor, kare görselin üstü kırpılıyordu. Masaüstünde çerçeve = min(kolon genişliği, kullanılabilir
   yükseklik) kare; künye satırı aynı genişlikte, çerçeveyle sağa hizalı. */
@media (min-width:900px){
  .af10-edition__figure{ container-type:size; align-items:flex-end; }
  .af10-edition__frame{ flex:none; width:min(100cqw, 100cqh - 40px); height:auto; aspect-ratio:1 / 1; }
  .af10-edition__caption{ width:min(100cqw, 100cqh - 40px); align-self:flex-end; }
}

/* Katalog sayfalaması #works çapasına iner; yapışkan header (ve giriş yapmışken admin çubuğu) ürünlerin üstünü örtmesin. */
#works{ scroll-margin-top:calc(var(--wp-admin--admin-bar--height, 0px) + 72px); }
